当前位置: 代码迷 >> ASP.NET >> 大神:sqlDataReader 取到了值,还提示未将对象引用设置到对象的实例
  详细解决方案

大神:sqlDataReader 取到了值,还提示未将对象引用设置到对象的实例

热度:6274   发布时间:2013-02-25 00:00:00.0
求助大神:sqlDataReader 取到了值,还提示未将对象引用设置到对象的实例
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 


行 25: if (sdr[3].Equals(DBNull.Value) == false)
行 26: {
行 27: areaI.area_id = sdr.GetInt32(0);行 28: areaI.district = sdr.GetString(3);
行 29: areaI.street = sdr.GetString(4);
 



------解决方案--------------------------------------------------------
areaI 不存在
------解决方案--------------------------------------------------------
areaI可能为null。
------解决方案--------------------------------------------------------
sdr[3]是datareader对象。
dbnull是dbnull对象。两者永远不可能equals
if (sdr[3].Equals(DBNull.Value) == false)
这个意思是说
if(false=false)

判断是否为空应该为:

if(sdr[3].IsDbNull)
{
....
}