プロバイダ上の更新エラーの解決
クライアントの更新要求への応答 への移動
データセット プロバイダがデルタ パケット内のレコードを登録しようとしてエラー状態が生じると、Provider/OnUpdateError イベントが発生します。プロバイダ側で更新エラーを解決できなければ、プロバイダは問題が発生したレコードのコピーを一時的に保存します。レコードの処理が完了すると、プロバイダは、発生したエラーの件数を返し、未解決のレコードを結果のデータ パケットにコピーして、調停できるようクライアントに送り返します。
多層アプリケーションでは、このメカニズムにより、機械的に解決できる更新エラーはアプリケーション サーバーで処理し、クライアント アプリケーションではユーザーとの対話によりエラー状態を修正することが可能になります。
OnUpdateError ハンドラは、変更できなかったレコードのコピー、データベースのエラー コード、およびエラー時のレコードの処理が挿入/削除/更新のいずれであったかを示す情報を受け取ります。問題の発生したレコードは、クライアント データセットに戻されます。このデータセットに対してデータ ナビゲーション メソッドを使用してはなりません。ただし、データセットの各フィールドの NewValue、OldValue、CurValue プロパティを使用して、問題の原因を特定し、更新エラーを解決するための変更を行うことができます。OnUpdateError イベント ハンドラで問題を修正できる場合には、Response パラメータを設定して、修正済みのレコードが適用されるようにします。