检测IDataReader是否为空的最佳方法是什么?
时间:2020-03-05 18:49:47 来源:igfitidea点击:
似乎IDataReader.Read()至少一次始终为true(如果我对此有误,请告诉我。)那么,如何不将其包装在try / catch中而知道是否没有记录呢?
解决方案
回答
if(dr.Read()) { //do stuff } else { //it's empty }
通常,我们会这样做:
while(dr.Read()) { }
回答
是的,如果我们要使用该接口,则"直到错误"是唯一的测试方法。如果我们正在寻找通用的IDataReader实现,则可以尝试DbDataReader并使用HasRows属性。