当前位置:  开发笔记 > 编程语言 > 正文

检测IDataReader是否为空的最佳方法是什么?

如何解决《检测IDataReader是否为空的最佳方法是什么?》经验,为你挑选了2个好方法。

似乎IDataReader.Read()总是至少有一次真实(如果我错了,请告诉我.)那么如果不将它包装在try/catch中,你如何判断它是否没有记录?



1> Ben Scheirma..:
if(dr.Read())
{
   //do stuff
}
else
{
 //it's empty
}

通常你会这样做:

while(dr.Read())
{
}


小心这一点,`Read()`[让读者进入下一行](https://msdn.microsoft.com/en-us/library/system.data.idatareader.read(v = vs.110)的.aspx).所以它不仅仅**检查datareader是否包含数据

2> JamesSugrue..:

是的,如果您要使用该接口,则“直到错误读取”是测试的唯一方法。如果您正在寻找通用的IDataReader实现,则可以尝试DbDataReader使用该HasRows属性。


DbDataReader是一个抽象类
推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有