如何获取有多少元素数据读取器?

时间:2013-05-03 14:26:11

标签: c# sql database winforms sqldatareader

如何获取datareader的长度,例如:

sqlDataReader dr = command.ExecuteReader();
dr.Read();

int L= dr.Length;// this doesn't work.

3 个答案:

答案 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(*)之类的查询。