मुझे लगता है कि आपकी समस्या आपके ऐड मेथड्स कॉल्स में एक अमान्य एनम के उपयोग से उठाई गई है
यदि आप इस कोड को चलाते हैं, तो आप देख सकते हैं कि OracleType Int32 के लिए एसक्यूएलडीबीटाइप
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 प्रदाता के लिए सही एनम का उपयोग करने का सुझाव देता हूं।
यह ध्यान रखना दिलचस्प है कि Add with SqlDbType
. को कॉल करना दिलचस्प है OracleType
. के बजाय स्वीकार किया जाता है और संकलक समय त्रुटि नहीं बढ़ाता है। ऐसा इसलिए होता है क्योंकि ऐड मेथड में एक ओवरलोड होता है जो किसी ऑब्जेक्ट को दूसरे पैरामीटर के रूप में स्वीकार करता है (पैरामीटर का निर्माण करते समय इसका उपयोग सीधे वैल्यू पास करने के लिए किया जाता है)।
एक विकल्प 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);