2011-08-16 13 views
0

TableAdapterを使用してデータベーステーブルに接続しています。TableAdapterでの並行性違反のキャッチと処理

私がUpdateを実行し、他の誰かが同じ行を更新したときに、並行性違反エラーが発生します。予想通り。

ので、この時点で私は、ユーザーにかかわらず、保存またはキャンセルするためのオプションを与える彼らは、私はちょうど彼らが上書きしたい場合は、データが、何の更新されたコピーを取得するためにFillを実行することができますキャンセルした場合

を変更?実際にデータベースのデータを上書き保存するにはどうすればよいですか?

答えて

3

SQLCommandBuilderを使用して更新ステートメントを生成する場合は、 をCommandBuilder.ConflictOption = ConflictOption.OverwriteChangesに設定します。 を実行して、再度Update()を実行します。

+0

ありがとうございますが、私はコマンドビルダーを使用していません –

+1

次に、独自のUpdateCommandを生成して、Update SQLの主キー列のみを使用する必要があります。 – beater

0

テーブルアダプターを右クリックし、[データセットデザイナーでクエリを編集]をクリックします。

[データセットデザイナ]ウィンドウで、[TableAdapter]を選択し、[プロパティ]に移動します。

プロパティで、Updateステートメントを展開し、CommandTextプロパティに移動します。 updateコマンドのconditionでは、すべての条件を削除し、主キー列のみを保持します。

このクエリはプライマリキーのみに基づいてデータを上書きするため、並行性の例外は再び表示されません。

関連する問題