FireDAC.Stan.Option.TFDFetchMode

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TFDFetchMode = (fmManual, fmOnDemand, fmAll, fmExactRecsMax);

C++

enum DECLSPEC_DENUM TFDFetchMode : unsigned int { fmManual, fmOnDemand, fmAll, fmExactRecsMax };

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
enum public
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option FireDAC.Stan.Option

Beschreibung

Legt fest, wie die Datensätze der Ergebnismengen in den internen FireDAC-Datenspeicher abgerufen werden müssen.

Name Beschreibung
fmManual

Die Datensätze werden von FireDAC nicht automatisch abgerufen. Der Programmierer muss Code zum Abrufen der Datensätze zu geeigneten Zeitpunkten mit den folgenden Methoden vorsehen:

  • TFDDataSet.FetchAll, um alle Datensätze abzurufen.
  • TFDDataSet.GetNextPacket, um die nächste Datensatzgruppe (Paket) mit RowsetSize-Datensätzen abzurufen.
  • IADPhysCommand.Fetch, um alle Datensätze oder die nächste Datensatzgruppe abzurufen.
fmOnDemand Die Datensätze werden von FireDAC automatisch abgerufen, wenn sie für die Navigation oder andere Datenmengenmethoden erforderlich sind. Bei jeder Anforderung ruft FireDAC einen oder mehrere Datensatzgruppen ab, die RowsetSize-Datensätze enthalten. Dieser Modus ermöglicht das Öffnen großer Ergebnismengen ohne signifikante Verzögerung, ähnlich wie der Modus fmAll. Das Abrufen aller Datensätze dauert aber insgesamt länger als beim Modus fmAll. Beispielsweise wird für Microsoft SQL Server der serverseitige statische Cursor verwendet.
fmAll Alle Datensätze der Ergebnismengen werden von FireDAC automatisch beim "Open"-Aufruf für die Datenmenge oder beim ersten IADPhysCommand.Fetch-Aufruf abgerufen. Bei großen Ergebnismengen dauert dies einige Zeit, aber die Navigation durch eine Datenmenge ist schnell, weil alle Datensätze in einem internen FireDAC-Datenspeicher gespeichert werden. Bei vielen DBMSs, wie Microsoft SQL Server, MySQL Server, Sybase SQL Anywhere:
  • Wird der Client-Ergebnismengenpuffer freigegeben und die Ausführung der nächsten Anweisung, die Ergebnismengen zurückgibt, ermöglicht.
  • Wird eine maximale Leistung der Abrufoperation erzielt. Beispielsweise wird für Microsoft SQL Server der schnelle, nur vorwärts ausgerichtete Cursor verwendet.

Siehe auch