4

DataReaderのカーソルを最初に巻き戻すにはどうすればよいですか?

1つのDataReader結果で、2つのwhileループを実行する必要がありますが、それらは最初から実行する必要があります。これらは、クエリを1回実行する1つの結果セットでの2回の反復です。

例:

dr = command.ExecuteReader(cmd);

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

// rewind cursor here

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

DataReaderのドキュメントを調べましたが、何も見つかりませんでした。そのため、DataReaderでそれが不可能な場合は、この目的に合ったクラスに変更することができます。

4

1 に答える 1

3

(コマンドを再度実行しない限り)できません。これは一方向のストリームです。データを複数回表示する場合は、データを自分でメモリにバッファリングする必要があります。たとえば、List<T>(一部の場合T)または(など)のようにバッファリングする必要がありますDataTable

于 2013-01-25T13:15:49.290 に答える