क्या null और System.DBNull.Value के बीच कोई अंतर है? यदि हां, तो यह क्या है?
मैंने इस व्यवहार पर ध्यान दिया -
while (rdr.Read())
{
if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value)
{
int x = Convert.ToInt32(rdr["Id"]);
}
}
हालांकि मैं डेटाबेस से एक sql डेटाट्रेडर का उपयोग करके डेटा पुनः प्राप्त करता हूं, हालांकि लौटाए if(rdr["Id"] != null)
गए मूल्य का कोई मूल्य नहीं हैtrue
और अंततः पूर्णांक के रूप में एक अशक्त कास्टिंग के लिए एक अपवाद फेंक दिया।
लेकिन, यह अगर मैं if (rdr["Id"] != System.DBNull.Value)
रिटर्न का उपयोग करता हूंfalse
।
अशक्त और System.DBNull.Value के बीच क्या अंतर है?
System.Data
, और दूसरा एक विशेष मूल्य है जो एक संदर्भ की कमी को दर्शाता है। उनका एक-दूसरे से कोई लेना-देना नहीं है। क्या आप इस बारे में विस्तार से बता सकते हैं कि आप किस उलझन में हैं? क्या आपका असली सवाल "क्योंDataRows
और क्या इसके बजाय खुद के अंदरDataReaders
डाल दियाDBNull.Value
हैnull
?"