判断 SqlDataReader 返回的是null 的问题
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
.....
}
返回的是空表,但是 reader.Read() 返回值是true
用SQL查询分析器执行我的sql指令得到如下结果
无列名
1 null
如何判断reader 返回的是空呢
------解决方案--------------------reader[0] is DBNull
------解决方案--------------------DBNull
------解决方案--------------------dr.HasRows == false
------解决方案--------------------既然用SQL查询分析器执行sql指令得到如下结果
无列名
1 null
说明语句返回的不是空,还是有一行数据的所以
dr.HasRows == true
reader.Read() == true
这时应该修改sql语句使返回为空,或者判断reader[0] is DBNull
------解决方案--------------------检查主键是否为空,就是把它和DBNull.Value对比