如何获取datareader的长度,例如:
sqlDataReader dr = command.ExecuteReader();
dr.Read();
int L= dr.Length;// this doesn't work.
答案 0 :(得分:5)
您只需使用计数器即可跟踪DataReader
已经已经读取的项目数。但是,我不相信有任何一般的方法可以找出将有多少行而不只是阅读它们:
int count = 0;
while (dr.Read())
{
// Use the row data, presumably
count++;
}
答案 1 :(得分:0)
我认为Datareader本身不提供Count属性。您需要循环datareader并增加变量OR首先执行选择计数(*),使用与命令执行中使用的条件相同的条件。
答案 2 :(得分:0)
没有直接方法(至少我不知道)来计算行数或列数。在while
循环中使用自定义计数器。
while(dr.Read())
{
// Do your operations..
counter++;
}
Select Count(*)
之类的查询。