如何使DataReader从一开始就重新开始读取?

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

 sqlDataReader dr = command.ExecuteReader(); for(int i=0; dr.Read() ; i++){ if(condition ){ //let dr.Read() start reading from the beginning } } 

你不能。

*DataReader类是仅向前的迭代器。

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

重启它的唯一方法是使用ExecuteReader()获取新的阅读器。

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

 If(condition) { dr.close(); dr=command.ExecuteReader(); } 

其中command是MySqlCommand对象。