定义:
XMLStream:XML Stream包含一些行信息;
目前,即时通讯正面临一个名为"并发冲突"虽然我做了一些调试工作,但仍无法找到原因。所以,请帮助我,谢谢你。
1:通过读取xml流来填充数据集:
xmlDataSet.ReadXML(XMLStream);
2:从数据集中获取dataTable:
DataTable xmlTable = xmlDataSet.Tables[OriTable.TableName];
3:修改dataTable的每一行信息
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 not null, 名称:nchar(40)not null default'', 描述:nchar(90)null, 主键(id)
答案 0 :(得分:0)
尝试使用' for'循环而不是'foreach'环。在一个' foreach'循环你通常无法修改你正在迭代的集合的项目..