Bde.DBTables.TBDEDataSet.OnUpdateError
Delphi
property OnUpdateError: TUpdateErrorEvent read FOnUpdateError write SetOnUpdateError;
C++
__property Data::Db::TUpdateErrorEvent OnUpdateError = {read=FOnUpdateError, write=SetOnUpdateError};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | published | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | TBDEDataSet |
説明
キャッシュされた更新をデータベースに適用する際、例外が生成された場合に発生します。
OnUpdateError イベント ハンドラを記述すると、キャッシュされた更新をデータベースに適用する際に生成された例外に、応答することができます。
あるレコードが最初にキャッシュされた時から、キャッシュされた更新が適用されるまでには時差があるため、そのキャッシュされた変更が適用される前に、別のアプリケーションがデータベース内の同じレコードを変更している可能性があります。Borland Database Engine (BDE) は、この状態をチェックして、例外を発生させてくれます。TBDEDataSet は、OnUpdateError イベント ハンドラがあれば、それを呼び出して対応します。
メモ: ApplyUpdates への呼び出しで例外が生じ、かつ、ApplyUpdates が例外ブロックのコンテキスト内で呼び出されていない場合、エラー メッセージが表示されます。OnUpdateError ハンドラがエラー状態を訂正できず、UpdateAction が uaFail に設定されているままだった場合、このエラー メッセージは 2 回表示されます。重複表示を避けるためには、エラー ハンドラ内で UpdateAction を uaAbort に設定します。
警告: OnUpdateError ハンドラ内のコードでは、異なるレコードをカレント レコードにしてしまうようなメソッドは呼び出してはいけません。
OnUpdateError は、Data.DB.TUpdateErrorEvent 型のイベント ハンドラです。