क्या कोई तरीका है कि मैं .NET में निर्धारित कर सकता हूं, किसी भी मनमानी SQL सर्वर परिणाम सेट के लिए, यदि परिणाम में दिए गए कॉलम में नल हो सकते हैं?SqlDataReader पता लगाता है कि कोई डेटा फ़ील्ड शून्य है
उदाहरण के लिए, अगर मैं बयान
Select NullableColumn From MyTable
और
Select IsNull(NullableColumn, '5') as NotNullColumn From MyTable
है और मैं इस तरह की एक DataReader मिलती है:
var cmd = new SqlCommand(statement, connection);
var rdr = cmd.ExecuteReader();
मैं इस तरह एक समारोह हो सकता है?
bool ColumnMayHaveNullData(SqlDataReader rdr, int ordinal)
{
//????
}
मैं चाहता हूं कि यह पहले कथन के लिए सच हो और दूसरे कथन के लिए गलत हो।
rdr.GetSchemaTable()
इसके लिए काम नहीं करता है क्योंकि यह लौटाता है कि अंतर्निहित कॉलम शून्य हो सकता है, जो मैं नहीं चाहता हूं। वहाँ DataReader पर कार्यों .. कि क्षेत्र की अंतर्निहित एसक्यूएल प्रकार वापसी, लेकिन कोई भी मुझे बताओ अगर यह अशक्त हो सकता है लग रहे हैं
क्या मैं पूछ सकता हूं कि आप क्यों जानना चाहते हैं? – tomfanning
@tomfanning मैं एक ओआरएम हैकिंग कर रहा हूँ। मैं किसी भी समय लॉग इन करना चाहता हूं जब कोई कोई क्वेरी चलाने की कोशिश करता है जहां एक शून्य-डीबी फ़ील्ड मैप गैर-शून्य मूल्य प्रकार के लिए होता है। – dan