如何使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
对象。