Datasnap.Provider.TCustomProvider.GetRecords
Delphi
function GetRecords(Count: Integer; out RecsOut: Integer;
Options: Integer): OleVariant; overload;
function GetRecords(Count: Integer; out RecsOut: Integer; Options: Integer;
const CommandText: string; var Params,
OwnerData: OleVariant): OleVariant; overload;
C++
System::OleVariant __fastcall GetRecords(int Count, /* out */ int &RecsOut, int Options)/* overload */;
System::OleVariant __fastcall GetRecords(int Count, /* out */ int &RecsOut, int Options, const System::UnicodeString CommandText, System::OleVariant &Params, System::OleVariant &OwnerData)/* overload */;
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | Datasnap.Provider.pas Datasnap.Provider.hpp |
Datasnap.Provider | TCustomProvider |
Beschreibung
Ermittelt ein Datenpaket, das die mit dem Provider verbundenen Daten repräsentiert.
Mit GetRecords ermitteln Sie ein Datenpaket, das die festgelegte Datensatzanzahl enthält. GetRecords erzeugt ein BeforeGetRecords-Ereignis, stellt ein Delta-Paket zusammen und erzeugt dann ein AfterGetRecords-Ereignis.
Count ist die Anzahl der abzurufenden Datensätze. Wenn Count -1 ist, werden alle Datensätze abgerufen. Hat Count den Wert 0, werden nur die Metadaten gelesen. Wenn Count größer als 0 ist, wird nur die angegebene Anzahl der Datensätze abgerufen.
RecsOut gibt die aktuelle Anzahl der Datensätze in dem Datenpaket an.
Options gibt an, welche Informationen zusätzlich zum Datenpaket abgerufen werden sollen. Der Parameter enthält eine Kombination der GetRecordOption-Konstanten. Der folgende Wert fordert beispielsweise Metadaten zusammen mit einem XML-Datenpaket an:
MetaDataOption + XMLOption
MetaDataOption || XMLOption
CommandText gibt entweder eine optionale SQL-Anweisung, die die SQL-Anweisung einer verbundenen Abfrage ersetzt, oder den Namen einer Tabelle oder einer Stored Procedure an, die die verbundene Tabelle oder Stored Procedure ersetzt. Wenn poAllowCommandText nicht in Options enthalten ist oder der Provider keine Eigenschaft Options besitzt, wird dieser Parameter ignoriert.
Params enthält die Parameterwerte, die in CommandText oder in eine verbundene Abfrage oder Stored Procedure eingetragen werden sollen. Wenn der Provider mit einem TTable-Objekt verbunden ist, legt Params Feldwerte fest, die die Ergebnismenge filtern. Beim Verlassen von GetRecords gibt Params Ausgabeparameter zurück.
Der Parameter OwnerData enthält benutzerdefinierte Daten aus der Ereignisbehandlungsroutine für BeforeGetRecords der Client-Datenmenge. Die Daten werden an die Ereignisbehandlungsroutine BeforeGetRecords des Providers übergeben und von der Ereignisbehandlungsroutine AfterGetRecords zurückgegeben.
Die Datensätze werden als Datenpaket in einer Variante zurückgegeben.
Anmerkung: GetRecords erzeugt immer die Ereignisse BeforeGetRecords und AfterGetRecords, auch wenn Sie die Syntax ohne den Parameter OwnerData verwenden. In diesem Fall ist der Wert von OwnerData beim Eintritt in die Ereignisbehandlungsroutine BeforeGetRecords nil (Delphi) bzw. NULL (C++). Beim Verlassen der Ereignisbehandlungsroutine AfterGetRecords wird dieser Wert verworfen.
Tip: Wenn der Provider Bestandteil eines statuslosen Anwendungsservers ist, gibt es keine Garantie, dass der Provider vor der Erzeugung eines Datenpakete auf dem gewünschten Datensatz positioniert wird. Mit einer BeforeGetRecords-Ereignisbehandlungsroutine können Sie den Cursor vor dem Aufruf von GetRecords positionieren.