मैं सी # में पहले से मौजूद DataRow
करने के लिए एक स्तंभ जोड़ने के लिए कोशिश कर रहा हूँ देता है। बाद में कॉलम मेरे डेटाबेस से एक ही मूल्य से भरा जाएगा।ExecuteScalar अशक्त या DBNull (विकास या उत्पादन सर्वर)
डेटारो डॉ पहले से मौजूद है और कॉलम "COLNAME" भी मौजूद है।
कॉमटीबीपी मेरा SqlCommand
है।
dr["COLNAME"] = Convert.ToInt32(comTBP.ExecuteScalar());
यह सब ठीक काम करता है यदि मेरे डेटाबेस में कोई मान है और ExecuteScalar() वह मान प्राप्त कर सकता है। यदि मैं अपने विकास सर्वर (स्थानीय) पर इस कोड का परीक्षण करता हूं तो यह भी काम करता है यदि ExecuteScalar() वापस शून्य या डीबीएनएल वापस करता है और मेरे नए कॉलम का मान 0 है। लेकिन समस्या तब प्रकट होती है जब मैं अपने सर्वर को उत्पादन सर्वर पर तैनात करता हूं। यदि मैं सब कुछ वही करता हूं, उसी डेटाबेस के साथ यह एक संदेश के साथ एक अपवाद फेंकता है कि यह डीबीएनएल को इंट 32 में परिवर्तित नहीं कर सकता है।
मेरा प्रश्न यह है कि यह त्रुटि उत्पादन सर्वर पर क्यों दिखाई देती है, न कि मेरे स्थानीय विकास सर्वर पर?
सबसे अधिक संभावना विभिन्न डेटा से। – leppie