我面临从用于 DataAdapter.Update() 的 DataTable 添加和删除 DataRows 的问题。我不断收到并发错误,但我不知道哪里出错了。
当我从 DataTable 添加和删除行时会发生这种情况。
目前,我添加这样的行:
table.Rows.Add(new string{null /*pk*/, "composite_FK1", "composite_FK2", "composite_FK3"});
我删除了 DataTable 中的最后一个逻辑行,如下所示:
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();
}
}
几次添加和删除后,更新失败并出现并发异常。添加行的更好方法是什么?任何人都可以帮助找出错误吗?谢谢。