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

时间:2013-05-03 14:46:06

标签: c# sql database winforms sqldatareader

如果条件满足,如何让dr.Read();从头开始重读? 类似的东西:

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

3 个答案:

答案 0 :(得分:19)

你不能。

*DataReader类是仅向前迭代器。

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

答案 1 :(得分:3)

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

答案 2 :(得分:1)

您可以先使用dr.close();关闭datareader然后重新初始化它。

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

其中command是MySqlCommand对象。