Jeg tror, at dit problem er rejst ved brugen af en ugyldig enum i dine Tilføj metoder-kald
Hvis du kører denne kode, kan du bemærke, at OracleType for Int32 er ikke det samme 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å jeg foreslår, at du bruger den korrekte enum for din ADO.NET-udbyder.
Det er interessant at bemærke, at kalder Tilføj med SqlDbType
i stedet for OracleType
er accepteret og rejser ikke en kompileringstidsfejl. Dette sker, fordi Add-metoden har en overbelastning, der accepterer et objekt som anden parameter (den bruges til at sende en værdi direkte, når parameteren konstrueres).
Et alternativ er at bruge AddWithValue
af OracleParameterCollection
command.Parameters.AddWithValue("@course_Id", course_Id);
command.Parameters.AddWithValue("@question", question);
command.Parameters.AddWithValue("@posterName", posterName);
command.Parameters.AddWithValue("@blogdate", blog_date);