DataReader游标倒带
如何将DataReader的光标倒回到开头?
使用一个DataReader结果我需要运行两个while
循环,但那些必须从头开始。 它们是一个运行查询一次的结果集中的两次迭代。
例:
dr = command.ExecuteReader(cmd); while (dr.Read()) { // do some... } // rewind cursor here while (dr.Read()) { // do another things... }
我查看了DataReader文档并且我什么也没找到,所以如果使用DataReader无法实现,我可以更改适合此目的的类。
你不能(除非你再次执行命令):它是一个单向流。 如果你想多次查看数据,你必须自己在内存中缓冲它,例如在List
(对于某些T
),或者(如此)作为DataTable
。