1

我面临从用于 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();
    }
}

几次添加和删除后,更新失败并出现并发异常。添加行的更好方法是什么?任何人都可以帮助找出错误吗?谢谢。

4

2 回答 2

0

对于每次添加和删除你都使用 table.acceptchanges(),希望它能正常工作

于 2011-02-17T12:30:17.653 回答
0

将数据写入数据库(插入或更新)更容易,然后将数据从数据库读回数据表中。

于 2011-06-10T19:47:19.223 回答