क्या शून्य और सिस्टम के बीच कोई अंतर है। DBNull.Value? यदि हां, तो यह क्या है?शून्य और सिस्टम के बीच क्या अंतर है। DBNull.Value?
मैं अब इस व्यवहार देखा -
while (rdr.Read())
{
if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value)
{
int x = Convert.ToInt32(rdr["Id"]);
}
}
जब मैं डेटाबेस एक एसक्यूएल DataReader का उपयोग करने से डेटा पुनः प्राप्त है, हालांकि कोई मूल्य नहीं if(rdr["Id"] != null)
लौटे true
लौटे है और अंत में पूर्णांक के रूप में एक अशक्त कास्टिंग के लिए एक अपवाद फेंक दिया।
लेकिन, अगर मैं if (rdr["Id"] != System.DBNull.Value)
false
का उपयोग करता हूं।
शून्य और सिस्टम के बीच क्या अंतर है। DBNull.Value?
ठीक है, वे असंबंधित हैं। एक 'System.Data' में एक वर्ग का एक स्थिर उदाहरण है, और दूसरा एक विशेष मूल्य है जो एक संदर्भ की कमी को दर्शाता है। उनके पास एक दूसरे के साथ कुछ लेना देना नहीं है। क्या आप इस बारे में विस्तार से बता सकते हैं कि आप किस बारे में उलझन में हैं? क्या आपका असली सवाल है "डेटारोज़' और 'डेटा रीडर' क्यों 'शून्य' के बजाय खुद के अंदर 'डीबीएनयूएल.वैल्यू' डालते हैं?" – mquander
ठीक है, मेरी शुरुआत में यह नहीं था लेकिन आपने जो कहा उससे सीखने के बाद, मैं उत्सुक हूं। क्या आप मुझे बता सकते हैं कि डेटारो और डेटा रीडर ने डीबीएनयूएल क्यों डाला। शून्य के बजाए खुद में वैल्यू? – pavanred
मुझे यकीन नहीं है कि मैं खुद हूं। यहां एक उत्तर दिया गया है: http://stackoverflow.com/questions/4488727/what-is-the-point-of-dbnull/4488758#4488758 यह भी संभव है कि शून्य के बराबर मूल्य प्रकार सी # के आसपास थे, तो यह अधिक होता 'शून्य' से निपटने में परेशानी। – mquander