【问题标题】:How to get how many element datareader has read? [duplicate]如何获取数据读取器读取了多少元素? [复制]
【发布时间】:2013-05-03 14:26:11
【问题描述】:

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

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

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

?

【问题讨论】:

标签: c# sql database winforms sqldatareader


【解决方案1】:

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

int count = 0;
while (dr.Read())
{
    // Use the row data, presumably
    count++;
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      while(dr.Read())
      {
           // Do your operations..
           counter++;
      }
      
      • 在操作前运行类似Select Count(*) 的查询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-13
        • 2015-06-15
        • 2013-06-20
        • 2012-10-07
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多