Jag tror att ditt problem uppstår genom användningen av en ogiltig enum i dina Lägg till metoder-anrop
Om du kör den här koden kan du märka att OracleType för Int32 är inte samma sak som SqlDbType
OracleType e = OracleType.Int32;
int i = (int)e;
Console.WriteLine(i.ToString()); // Output = 28
SqlDbType z = SqlDbType.Int;
i = (int)z;
Console.WriteLine(i.ToString()); // Output = 8
Så jag föreslår att du använder rätt enum för din ADO.NET-leverantör.
Det är intressant att notera att man anropar Add med SqlDbType
istället för OracleType
accepteras och ger inte upp ett kompilatortidsfel. Detta händer eftersom Add-metoden har en överbelastning som accepterar ett objekt som andra parameter (den används för att skicka ett värde direkt när parametern konstrueras).
Ett alternativ är att använda AddWithValue
av OracleParameterCollection
command.Parameters.AddWithValue("@course_Id", course_Id);
command.Parameters.AddWithValue("@question", question);
command.Parameters.AddWithValue("@posterName", posterName);
command.Parameters.AddWithValue("@blogdate", blog_date);