更新数据集时发生并发冲突
本文关键字:并发 冲突 数据集 更新 | 更新日期: 2023-09-27 17:50:55
定义:
XMLStream:XML流包含一些行信息;
目前,我面临一个名为"并发冲突"的奇怪问题,尽管我做了一些调试工作,但仍然无法找到原因。所以,请帮帮我,提前谢谢。
1:通过从xml流中读取来填充数据集:xmlDataSet.ReadXML(XMLStream);
2:从数据集中获取dataTable:DataTable xmlTable = xmlDataSet.Tables[OriTable.TableName];
3:修改数据表的每一行信息
foreach(DataRow xmlRow in xmlTable.rows)
{
DataRow targetRow = SearchRow(xmlRow); // search the xmlrow from the OriTable, and return it, in here, we assume it exists.
targetRow.ClearError();
targetRow.BeginEdit();
foreach(DataColumn xmlCol in xmlTable.columns)
{
if( OriTable.Columns.Contains(xmlCol.ColumnName)
{
// Modifying targetRow
}
}
targetRow.EndEdit();
}
if( // no error flag has been set)
{
OriTable.DataSet.UpdateTable(); // this is where the error appears
}
请帮帮我,谢谢
PS:OriTable的定义:ID:int不为null,名称:nchar(40(不是null默认值",说明:nchar(90(为空,主键(id(
尝试使用"for"循环而不是"foreach"循环。在"foreach"循环中,通常不能修改正在迭代的集合中的项。。