Datasnap.Provider.TCustomProvider.BeforeExecute
Delphi
property BeforeExecute: TRemoteEvent read FBeforeExecute write FBeforeExecute;
C++
__property Datasnap::Dbclient::TRemoteEvent BeforeExecute = {read=FBeforeExecute, write=FBeforeExecute};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | protected | Datasnap.Provider.pas Datasnap.Provider.hpp |
Datasnap.Provider | TCustomProvider |
説明
プロバイダが実行コマンドをデータセットに渡す前に発生します。
BeforeExecute イベント ハンドラを記述すると、クエリまたはストアド プロシージャを実行する前に、クライアント データセットからのカスタム情報に対応することができます。 クライアント データセットによって、Execute コマンドで渡されたパラメータ値はいずれも、このイベントの前の適用されます。
BeforeExecute は、カーソルを返さないクエリまたはストアド プロシージャを実行する際に、クライアント データセットとプロバイダが情報をやり取るするためのメカニズムの一部です。 プロバイダがステートレス アプリケーション サーバーの一部である場合、このメカニズムにより、クライアント データセットとプロバイダは、永続的な状態情報をやり取りすることが可能になります。
クライアント データセットの Execute メソッドが呼び出された際、次のイベントが発生します:
1. クライアント データセットが BeforeExecute イベントを受信。ここでは、カスタム情報を OleVariant にエンコード。
2. プロバイダが BeforeExecute イベントを受信。ここでは、クライアント データセットからの OleVariant が OwnerData パラメータとして渡される。 プロバイダは、実行コマンドをデータセットに渡す前に、それに対応もしくはその情報を変更することができる。
3. プロバイダが、Execute メソッドをディスパッチして、クエリまたはストアド プロシージャを実行。
4. プロバイダが AfterExecute イベントを受信。ここでは、カスタム情報を OwnerData パラメータへエンコード、または、BeforeExecute イベント ハンドラからの情報に応答することができる。
5. クライアント データセットが AfterExecute イベントを受信。ここでは、プロバイダの AfterExecute イベント ハンドラから返されたカスタム情報に応答することができる。
BeforeApplyUpdates は Datasnap.DBClient.TRemoteEvent 型です。