Addメソッドの呼び出しで無効な列挙型を使用すると問題が発生すると思います
このコードを実行すると、 OracleType Int32は、 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
したがって、ADO.NETプロバイダーに正しい列挙型を使用することをお勧めします。
SqlDbType
を使用してAddを呼び出すことに注意してください。 OracleType
の代わりに 受け入れられ、コンパイラ時間エラーを発生させません。これは、Addメソッドに、オブジェクトを2番目のパラメーターとして受け入れるオーバーロードがあるために発生します(パラメーターを作成するときに値を直接渡すために使用されます)。
別の方法は、AddWithValue
を使用することです OracleParameterCollection
の
command.Parameters.AddWithValue("@course_Id", course_Id);
command.Parameters.AddWithValue("@question", question);
command.Parameters.AddWithValue("@posterName", posterName);
command.Parameters.AddWithValue("@blogdate", blog_date);