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

uを追加および削除するたびにtable.acceptchanges()を使用し、正常に機能することを期待します

于 2011-02-17T12:30:17.653 に答える
0

データをデータベースに書き込んでから(挿入または更新)、データベースからデータテーブルにデータを読み戻す方が簡単です。

于 2011-06-10T19:47:19.223 に答える