मैं सी # के माध्यम से एक एमएस एक्सेस 2007 डेटाबेस तक पहुंच रहा हूं, और जब भी मैं खाली सेल पढ़ने की कोशिश करता हूं तो मुझे अपवाद मिल रहा है।जांचें कि क्या डेटाबेस सेल खाली है
विशेष रूप से, मैं एक "दिनांक/समय" सेल पढ़ने की कोशिश कर रहा हूं जो खाली हो सकता है या नहीं भी हो सकता है। मैं OLE DB का उपयोग कर रहा हूं, और डेटासेट भर चुका हूं। इन शर्तों में से कोई भी काम नहीं करता:
DataSet dataSet = GetDataSet();
DataRow row = dataSet.Tables[0].Rows[0];
DateTime time = new DateTime();
time = (DateTime)row[5]; // Exception thrown
यह जांचने के लिए कि सेल असाइन करने का प्रयास करने से पहले क्या खाली है या नहीं? इन काम में से कोई भी:
if(row[5] == null) ;
if(row[5] == DBNull) ;
if(row[5] == (String)"") ;
संपादित करें: मैं उल्लेख करना चाहिए था: जब मैं डिबग, यह कहना है कि पंक्ति [5] के बराबर है "System.DBNull,", लेकिन जब मैं अगर (पंक्ति की कोशिश "मैं कोई त्रुटि मिलती है [5] == डीबीएनयूएलएल) "। त्रुटि कहती है "डीबीएनयूएलएल एक प्रकार है, जो दिए गए संदर्भ में मान्य नहीं है"।
"सेल" क्या आपको स्प्रेडशीट के संदर्भ है, डेटाबेस से निपटने पर यह रिकॉर्ड में एक विशिष्ट कॉलम है। –