如何让DataReader从一开始就重新开始阅读?

Aan*_*Aan 14 c# sql database sqldatareader winforms

dr.Read();如果条件满足,如何从头开始重读?就像是:

SqlDataReader dr = command.ExecuteReader();
for(int i=0; dr.Read() ; i++){
    if(condition ){
        //let dr.Read() start reading from the beginning
    }
}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 20

你不能.

这些*DataReader类是仅向前的迭代器.

相反,您可以将结果存储在List<T>(或DataTable)中


And*_*mar 6

重新启动它的唯一方法是使用ExecuteReader().


dan*_*ani 6

您可以通过首先关闭 datareader 使用dr.close(); 然后再次初始化它来做到这一点。

If(condition)
{
    dr.close();
    dr=command.ExecuteReader();
}
Run Code Online (Sandbox Code Playgroud)

其中 command 是MySqlCommand对象。