似乎IDataReader.Read()总是至少有一次真实(如果我错了,请告诉我.)那么如果不将它包装在try/catch中,你如何判断它是否没有记录?
if(dr.Read()) { //do stuff } else { //it's empty }
通常你会这样做:
while(dr.Read()) { }
是的,如果您要使用该接口,则“直到错误读取”是测试的唯一方法。如果您正在寻找通用的IDataReader
实现,则可以尝试DbDataReader
使用该HasRows
属性。