IBX.IBCustomDataSet.TIBCustomDataSet.OnUpdateError
Delphi
property OnUpdateError: TIBUpdateErrorEvent read FOnUpdateError write FOnUpdateError;
C++
__property TIBUpdateErrorEvent OnUpdateError = {read=FOnUpdateError, write=FOnUpdateError};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | published | IBX.IBCustomDataSet.pas IBX.IBCustomDataSet.hpp |
IBX.IBCustomDataSet | TIBCustomDataSet |
説明
キャッシュアップデートをデータベースに適用するときに例外が生成されると発生します。
OnUpdateError イベントハンドラを記述すると,キャッシュした更新をデータベースに適用するときに生成される例外に応答できます。
レコードがキャッシュされてから更新が適用されるまでにはタイムラグがあるので,キャッシュされた変更が適用される前に別のアプリケーションがデータベース内の同一レコードを変更する可能性があります。DataSet は,更新の適用先となるデータセットの名前です。
エラーハンドラは,TField オブジェクトの OldValue プロパティおよび NewValue プロパティを使ってエラー状態を評価し,再び適用する新しい値を NewValue プロパティに設定します。その場合,終了前に UpdateAction を uaRetry に設定します。
メモ: ApplyUpdates の呼び出しで例外が生成され,ApplyUpdates が try..except ブロック(Delphi の場合)または try..catch ブロック(C++ の場合)のコンテキストで呼び出されなかった場合には,エラーメッセージが返されます。そして,OnUpdateError ハンドラがエラー状態を修正できず,UpdateAction を uaFail に設定した場合は,再びエラーメッセージが返されます。エラーメッセージの繰り返しを防ぐには,エラーハンドラで UpdateAction を uaAbort に設定します。
警告: 重要:OnUpdateError ハンドラ内のコードでは,現在のレコードを変更するメソッドを呼び出してはなりません。