我在为DataAdapter.Update()添加和删除DataTable中的DataRows时遇到了问题。我一直收到并发错误,但我不知道哪里出了问题。
当我在DataTable中添加和删除行时,就会发生这种情况。
目前,我添加的行如下:
table.Rows.Add(new string{null /*pk*/, "composite_FK1", "composite_FK2", "composite_FK3"});
并且我这样删除数据表中的最后一个逻辑行:
DataRow[] rows = table.Select(string.Empty, string.Empty, DataViewRowState.CurrentRows);
if (rows.Length > 0)
{
DataRow row = rows[rows.Length - 1];
if (row.RowState == DataRowState.Added)
{
// directly remove this row because it is not in the database yet
table.Rows.Remove(row);
}
else
{
// mark this row for deletion from the database
row.Delete();
}
}
在进行了几次添加和删除之后,Update将失败,并出现并发异常。添加行的更好方法是什么?有人能帮忙发现错误吗?谢谢