Penso che il tuo problema sia sollevato dall'uso di un'enumerazione non valida nelle tue chiamate ai metodi Aggiungi
Se esegui questo codice, potresti notare che Tipo Oracle per Int32 non è lo stesso di TipoSqlDb
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
Quindi, suggerisco di utilizzare l'enumerazione corretta per il tuo provider ADO.NET.
È interessante notare che la chiamata di Add con SqlDbType
invece di OracleType
è accettato e non genera un errore in fase di compilazione. Ciò accade perché il metodo Add ha un overload che accetta un oggetto come secondo parametro (viene utilizzato per passare direttamente un valore durante la costruzione del parametro).
Un'alternativa è usare AddWithValue
della OracleParameterCollection
command.Parameters.AddWithValue("@course_Id", course_Id);
command.Parameters.AddWithValue("@question", question);
command.Parameters.AddWithValue("@posterName", posterName);
command.Parameters.AddWithValue("@blogdate", blog_date);