Datasnap.Provider.TDataSetProvider.InternalGetRecords

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function InternalGetRecords(Count: Integer; out RecsOut: Integer;  Options: TGetRecordOptions; const CommandText: OleStr; var Params: OleVariant): OleVariant; override;

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 TDataSetProvider

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. InternalGetRecords ruft CreateDataPacket zum Erzeugen eines Datenpakets auf, das die aktuellen Eigenschaftseinstellungen des Provider widerspiegelt. Anschließend wird ein OnGetData-Ereignis generiert.

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 codiert aber erweiterte Zeichen in UTF8) 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 in Options nicht enthalten ist, 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.

Anmerkung:  Wenn der Eigenschaft DataSet kein Wert zugewiesen ist, löst InternalGetParams eine Exception aus.

Siehe auch