के लिए टेबल-मान पैरामीटर में प्रकार 'वस्तु' के पैरामीटर पासिंग मैं एसक्यूएल सर्वर 2012 में एक मेज-मान पैरामीटर के रूप में परिभाषित किया गया है निम्नलिखित:sql_variant स्तंभ
var mdItems = new DataTable();
mdItems.Columns.Add("Id", typeof(int));
mdItems.Columns.Add("FieldName", typeof(string));
mdItems.Columns.Add("Value", typeof(object));
mdItems.Rows.Add(new object[] {2, "blah", "value"}); //'value' is usually a string
SqlCommand sqlCommand = conn.CreateCommand();
sqlCommand.CommandText = "[WriteFieldValues]";
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.AddWithValue("@FieldValues", mdItems);
sqlCommand.ExecuteNonQuery();
मैं तो ExecuteNonQuery
फोन पर एसक्यूएल सर्वर से निम्न त्रुटि हो:
कॉलम 'वैल्यू' का प्रकार समर्थित नहीं है। प्रकार 'वस्तु'
मैं someone जो एक ही समस्या 3 साल पहले का सामना करना पड़ा जब वह एक ज्ञात माइक्रोसॉफ्ट बग के रूप में पहचान की थी पाया जाता है। हालांकि, बग का लिंक टूटा हुआ है। क्या किसी को पता है कि बग की स्थिति या संभावित कार्यवाही पर अद्यतन जानकारी है या नहीं? जैसा कि यह खड़ा है, यह बग वास्तव में sql_variant
फ़ील्ड के मान को मारता है।
@ जोनसेगल मैंने सी # कॉलिंग कोड जोड़ा है। – Dan
आपने 'sql_variant' क्यों चुना है? बस उत्सुक। – codingbiz
@codingbiz फ़ील्ड को स्ट्रिंग, दिनांक और संख्यात्मक मानों को स्टोर करने की आवश्यकता है। मैं कोड में मैन्युअल रूपांतरण कर सकता था, लेकिन यही है कि sql_variant मेरे लिए क्या करना चाहिए। – Dan