Datasnap.DBClient.TCustomClientDataSet.BeforeExecute
Delphi
property BeforeExecute: TRemoteEvent read FBeforeExecute write FBeforeExecute;
C++
__property TRemoteEvent BeforeExecute = {read=FBeforeExecute, write=FBeforeExecute};
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
event | protected | Datasnap.DBClient.pas Datasnap.DBClient.hpp |
Datasnap.DBClient | TCustomClientDataSet |
Beschreibung
Tritt auf, bevor die Client-Datenmenge die Abfrage oder Stored Procedure des Providers ausführt.
Sie können eine Ereignisbehandlungsroutine für BeforeExecute erstellen, um benutzerdefinierte Informationen an den Provider der Client-Datenmenge zu senden. BeforeExecute ist Teil des Mechanismus, mit dem Client-Datenmenge und Provider Informationen austauschen, wenn ein SQL-Befehl der Datenmenge des Providers explizit ausgeführt wird. Wird auf einem statuslosen Anwendungsserver mit einem Provider gearbeitet, können Client-Datenmenge und Provider mit diesem Mechanismus persistente Statusinformationen austauschen.
Ruft die Anwendung die Methode Execute der Client-Datenmenge auf, treten die folgenden Ereignisse auf:
- Die Client-Datenmenge empfängt das Ereignis BeforeExecute, in dem benutzerdefinierte Informationen in einer OleVariant-Struktur codiert werden, die dann als Parameter
OwnerData
an den Provider übergeben wird. - Der Provider empfängt ein BeforeExecute-Ereignis, in dem er auf Informationen antworten oder diese ändern kann, bevor die Abfrage oder die Stored Procedure ausgeführt wird.
- Der Provider führt den entsprechenden Befehl aus (entweder den in der Eigenschaft CommandText angegebenen Befehl oder den einer Datenmenge zugeordneten Befehl wie eine Abfrage oder eine Stored Procedure).
- Der Provider empfängt ein AfterExecute-Ereignis, in dem er benutzerdefinierte Informationen in seinen Parameter
OwnerData
codieren oder auf Informationen antworten kann, die aus der Ereignisbehandlungsroutine für BeforeExecute stammen. - Die Client-Datenmenge entpackt alle Ausgabeparameter des Providers in der Eigenschaft Params und empfängt dann ein AfterExecute-Ereignis, mit dem auf die benutzerdefinierten Informationen geantwortet werden kann, die von der Provider-Ereignisbehandlungsroutine für AfterExecute zurückgegeben werden.
BeforeExecute ist eine Ereignisbehandlungsroutine des Typs Datasnap.DBClient.TRemoteEvent.