读书人

判断 SqlDataReader 返回的是null 的有

发布时间: 2012-02-09 18:22:27 作者: rapoo

判断 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对比

读书人网 >C#

热点推荐