我在用DataReader读取数据时遇到问题,无法用相同的连接更新相同的记录。它要超时了。
下面列出了我的代码:
mycon = new DBManager(DataProvider.SqlServer,ConnectionStr);
mycon.Open();
while (mycon.DataReader.Read())
{
Id = mycon.DataReader["ID"].ToString();
sql.Length = 0;
sql.Append("Update [Table1] Set [Name] = XXX Where [ID] = " + Id + "");
mycon.ExecuteNonQuery(CommandType.Text, sql.ToString());
}
我的连接设置是
Connect Timeout=30;MultipleActiveResultSets=true;pooling=yes
已经修复了使用DataTable并在其上循环的问题。没有造成任何问题,但我想使用datareader。任何人都可以帮我。
当DataReader打开时,Connection仅由该Data_Reader接的任何命令
参考
您可以使用不同的连接进行更新,也可以在List
中收集ID,并在读取器关闭后执行更新。