4

如何将 DataReader 的光标倒回到开头?

对于一个 DataReader 结果,我需要运行两个while循环,但必须从头开始。它们是一个结果集中的两次迭代,运行一次查询。

例子:

dr = command.ExecuteReader(cmd);

while (dr.Read()) { 
    // do some...
}

// rewind cursor here

while (dr.Read()) {
    // do another things...
}

我查看了 DataReader 文档,但一无所获,因此如果 DataReader 无法实现,我可能会更改适合此目的的类。

4

1 回答 1

3

您不能(除非您再次执行该命令):它是单向流。如果您想多次查看数据,则必须自己将其缓冲在内存中,例如在 a List<T>(for some T) 或 (yeuch) as aDataTable中。

于 2013-01-25T13:15:49.290 回答