Datasnap.Provider.TCustomProvider.InternalGetRecords
Delphi
function InternalGetRecords(Count: Integer; out RecsOut: Integer;
Options: TGetRecordOptions; const CommandText: OleStr;
var Params: OleVariant): OleVariant; virtual;
C++
virtual System::OleVariant __fastcall InternalGetRecords(int Count, /* out */ int &RecsOut, TGetRecordOptions Options, const System::WideString CommandText, System::OleVariant &Params);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | protected | Datasnap.Provider.pas Datasnap.Provider.hpp |
Datasnap.Provider | TCustomProvider |
Beschreibung
Stellt die grundlegende Implementierung für GetRecords bereit.
InternalGetRecords wird intern von der Methode GetRecords zum Zusammenstellen eines Datenpakets nach dem Aufruf von DoBeforeGetRecords aufgerufen. Mit DoBeforeGetRecords werden CommandText und Params eingetragen und ein BeforeGetRecords-Ereignis erzeugt. Gemäß der Implementierung in TCustomProvider gibt InternalGetRecords immer NULL zurück. Abgeleitete Klassen überschreiben diese Methode, um die angeforderten Datensätze abzurufen und in einem Datenpaket zusammenzustellen.
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 Anzahl der tatsächlich abgerufenen Datensätze an.
Options gibt an, welche Informationen zusätzlich zum Datenpaket abgerufen werden sollen. Options kann grMetaData (Metadaten einschließen), grReset (mit dem ersten Datensatz in der Datenmenge beginnen) und grXML (das Datenpaket in XML codieren, anstatt als OleVariante bereitzustellen) oder grXMLUTF8 (entspricht grXML; erweiterte Zeichen werden hier aber mit UTF8 codiert) enthalten.
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.
Die Datensätze werden als Datenpaket in einer Variante zurückgegeben.