SqlCommand.ExecuteReader()
विधि को कॉल करने का उपयोग करते समय, ReSharper मुझे बताता है कि जब मैं SqlDataReader ऑब्जेक्ट का उपयोग करता हूं तो मेरे पास संभावित NullReference अपवाद होता है।कब SqlCommand.ExecuteReader() वापस शून्य होगा?
तो:
using (SqlConnection connection = GetConnection())
{
using (SqlCommand cmd = connection.CreateCommand())
{
cmd.CommandText = ; //snip
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
//snip
}
}
}
}
while (reader.Read())
लाइन को रेखांकित किया गया है।
मेरा प्रश्न यह है कि पाठक ऑब्जेक्ट कभी शून्य नहीं होगा? मैं कभी भी इस पर नहीं आया हूं और दस्तावेज का उल्लेख नहीं है कि यह हो सकता है। क्या मुझे जांच करनी चाहिए कि यह शून्य है या क्या इसे अनदेखा करना सुरक्षित है?
और रीशेर्पर क्यों सोचेंगे कि यह शून्य हो सकता है, उदाहरण के लिए, जब मैं इसे बिना किसी शून्य के जांच के अनुशंसा करता हूं तो मुझे एसक्यूएल कॉमांड का उपयोग करने देता है? मुझे लगता है कि ExecuteReader विधि पर एक विशेषता है।