-1

如何获取数据读取器的长度,例如:

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

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

?

4

3 回答 3

6

您只需使用计数器就可以跟踪您已经阅读了多少项目。但是,我不相信有任何一般的方法可以在不阅读它们的情况DataReader下找出有多少行:

int count = 0;
while (dr.Read())
{
    // Use the row data, presumably
    count++;
}
于 2013-05-03T14:28:16.457 回答
0

我不认为 Datareader 本身提供了 Count 属性。您将需要是否循环数据读取器并增加变量或首先使用您在命令执行中使用的相同条件执行选择计数(*)。

于 2013-05-03T14:29:16.253 回答
0

没有直接的方法(至少我不知道)来计算行数或列数。while在循环中使用自定义计数器。

  • 通过将所有行作为自定义操作读取来找出答案。喜欢;

while(dr.Read())
{
     // Do your operations..
     counter++;
}
  • 在操作之前运行查询Select Count(*)
于 2013-05-03T14:29:28.370 回答