c# 读取空表sqldatareader.reader()返回值是true,并且sqldatareader.hasrows属性值也是true

wanglin888000 2014-06-23 03:43:43

如题,怎样解决,数据库是sqlserver2000
...全文
361 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglin888000 2015-04-14
  • 打赏
  • 举报
回复
结贴 谢谢各位,原来是查询语句的问题。结贴晚了 抱歉
tinydyw 2014-06-24
  • 打赏
  • 举报
回复
..有数据列当然也有有标题列.......那两个为true只能说明sql执行成功而已...
於黾 2014-06-24
  • 打赏
  • 举报
回复
sqldatareader.reader()是true正常,表示SQL语句执行成功 至于sqldatareader.hasrows是true 看看你到底读到了个什么东西啊
save4me 2014-06-24
  • 打赏
  • 举报
回复
你把你的查询语句贴出来看一下,正常来说,如果返回的是true,就说明查询结果有数据。但是查询有数据不等于表里面有数据。比如表Stock是空的,下面两句的结果就不一样

//没有记录,HasRows返回false
"SELECT * FROM Stock";
//返回数据0,HasRows返回true
"SELECT COUNT(*) FROM Stock";
宝_爸 2014-06-24
  • 打赏
  • 举报
回复
什么样的查询语句?
exception92 2014-06-23
  • 打赏
  • 举报
回复
确定你的查询语句 没有搞错??
wangnaisheng 2014-06-23
  • 打赏
  • 举报
回复
既然 sqldatareader.hasrows == true sqldatareader.reader() == true 这时应该修改sql语句使返回为空,或者判断reader[0] is DBNull SqlDataReader.Read 方法

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧