2009-06-02 14 views
1

コマンドオブジェクトのselect queryを使用してADO.netデータセットをロードしています。 Acceptchangesを使用してデータセットデータをクリアすると、SQL Serverのデータが削除されます。SQL Serverのデータセットを受け入れる

どうすればいいですか?

答えて

1

いいえ、そうではありません。

DataTableの各DataRowに「削除済み」とマークされていることを確認する必要があります。つまり、各行の行状態を「削除済み」に設定する必要があります。 すべての行をトラバースして、行ごとにDeleteメソッドを呼び出すことで実行できます。

次に、AcceptChangesを呼び出す前に、DataAdapterのUpdateメソッドを呼び出す必要があります。 DB内で変更を行った後、データセット/データテーブルにDB内で保持する必要がある変更が含まれていないことを示すために、「AcceptChanges」を呼び出す必要があります。 (AcceptChangesを呼び出すと、RowStateが 'Deleted'のDataRowsが削除され、他のDataRowsのRowStateは 'UnChanged'に変更されます)

+1

通常、AcceptChangesはまったく呼び出されません。それを処理するあなたのテーブル – Designpattern

関連する問題