プロバイダ上の更新エラーの解決

提供: RAD Studio
移動先: 案内検索

クライアントの更新要求への応答 への移動


データセット プロバイダがデルタ パケット内のレコードを登録しようとしてエラー状態が生じると、Provider/OnUpdateError イベントが発生します。プロバイダ側で更新エラーを解決できなければ、プロバイダは問題が発生したレコードのコピーを一時的に保存します。レコードの処理が完了すると、プロバイダは、発生したエラーの件数を返し、未解決のレコードを結果のデータ パケットにコピーして、調停できるようクライアントに送り返します。

多層アプリケーションでは、このメカニズムにより、機械的に解決できる更新エラーはアプリケーション サーバーで処理し、クライアント アプリケーションではユーザーとの対話によりエラー状態を修正することが可能になります。

OnUpdateError ハンドラは、変更できなかったレコードのコピー、データベースのエラー コード、およびエラー時のレコードの処理が挿入/削除/更新のいずれであったかを示す情報を受け取ります。問題の発生したレコードは、クライアント データセットに戻されます。このデータセットに対してデータ ナビゲーション メソッドを使用してはなりません。ただし、データセットの各フィールドの NewValueOldValueCurValue プロパティを使用して、問題の原因を特定し、更新エラーを解決するための変更を行うことができます。OnUpdateError イベント ハンドラで問題を修正できる場合には、Response パラメータを設定して、修正済みのレコードが適用されるようにします。

関連項目