Datasnap.Provider.TBeforeUpdateRecordEvent
Delphi
TBeforeUpdateRecordEvent = procedure(Sender: TObject; SourceDS: TDataSet;
DeltaDS: TCustomClientDataSet; UpdateKind: TUpdateKind; var Applied: Boolean) of object;
C++
typedef void __fastcall (__closure *TBeforeUpdateRecordEvent)(System::TObject* Sender, Data::Db::TDataSet* SourceDS, Datasnap::Dbclient::TCustomClientDataSet* DeltaDS, Data::Db::TUpdateKind UpdateKind, bool &Applied);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
type typedef |
public | Datasnap.Provider.pas Datasnap.Provider.hpp |
Datasnap.Provider | Datasnap.Provider |
説明
TBeforeUpdateRecordEvent は、レコードが更新される前に発生するイベントの手続き型を表します。
TBeforeUpdateRecordEvent 型の変数は、関連付けられたリゾルバがレコードを更新する前に発生するイベントを参照します。
Sender パラメータは、更新を適用しているプロバイダを示します。
SourceDS パラメータは、データが含まれている元のデータセットです。ソース データセットがない場合には、この値は nil(Delphi)または NULL(C++)になります。このソース データセットは、イベントが発生した時点でアクティブでない可能性があるため、データにアクセスする前に Active プロパティを true に設定してください。
DeltaDS パラメータは、適用されるすべての更新を含んでいるクライアント データセットです。現在のレコードは、これから適用する更新を表します。
UpdateKind パラメータは、この更新が既存レコードの変更なのか(ukModify)、新しいレコードの挿入なのか(ukInsert)、既存レコードの削除なのか(ukDelete)を示します。
Applied パラメータでは、イベント ハンドラの処理が終わった後に何が行われるかを制御します。イベント ハンドラで Applied を true に設定すると、プロバイダは更新を無視します。つまり、適用を試みもせず、更新が適用されなかったことを示すエラーをログに記録することもありません。イベント ハンドラで Applied を false のままにした場合は、イベント ハンドラの処理が終了した後で、プロバイダによって更新が適用されます。