FireDAC.Stan.Option.TFDFetchOptions.Mode

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property Mode: TFDFetchMode read GetMode write SetMode  stored IsMS default fmOnDemand;

C++

__property TFDFetchMode Mode = {read=GetMode, write=SetMode, stored=IsMS, default=1};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDFetchOptions


Beschreibung

Steuert, wie Daten abgerufen werden sollen.

Mit der Eigenschaft Mode steuern Sie, wie die Datensätze der Ergebnismenge in den internen FireDAC-Datenzwischenspeicher abgerufen werden müssen.

Modus 

Beschreibung 

fmManual

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

  • FetchAll, um alle Datensätze abzurufen.
  • GetNextPacket, um die nächste Datensatzgruppe (Paket), die RowsetSize Datensätze enthält, abzurufen. 

fmOnDemand 

Die Datensätze werden von FireDAC automatisch abgerufen, wenn sie durch die Navigations- oder andere Datenmengenmethoden angefordert werden. Bei jeder Anforderung ruft FireDAC eine oder mehrere Datensatzgruppen mit RowsetSize Datensätzen ab. Dieser Modus ermöglicht das Öffnen großer Ergebnismengen ohne signifikante Verzögerung, ähnlich wie im Modus fmAll. Allerdings dauert das Abrufen aller Datensätze insgesamt länger als im Modus fmAll. Auf dem Microsoft SQL Server wird zum Beispiel der serverseitige statische Cursor verwendet.  

fmAll

Alle Datensätze der Ergebnismenge werden automatisch durch FireDAC beim Aufruf von Open 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 bestimmten DBMSs, wie Microsoft SQL Server, MySQL Server, Sybase SQL Anywhere:

  • Wird der Client-Ergebnismengenpuffer freigegeben und die Ausführung der nächsten Anweisung, die die Ergebnismengen zurückgibt, ermöglicht.
  • Wird eine maximale Leistung des Abrufvorgangs erzielt. Beispielsweise wird auf dem Microsoft SQL Server der schnelle, nur vorwärts ausgerichtete Cursor verwendet.

 

fmExactRecsMax 

Wie fmAll, aber es wird eine Exception ausgelöst, wenn die Anzahl der abgerufenen Datensätze (der Wert der Eigenschaft RecordCount) vom Wert RecsMax abweicht. 

Dieser Modus gilt auch für von ExecSQL ausgeführte SQL-Befehle. Wenn die Anzahl der aktualisierten Datensätze (der Wert der Eigenschaft RowsAffected) vom Wert RecsMax abweicht, wird eine Exception ausgelöst. 

Verwenden Sie den Modus fmExactRecsMax in folgenden Situationen:

  • Sie müssen sicherstellen, dass Ihre Anwendung nur die Datensätze mit einem festgelegten Schlüssel abruft (setzen Sie RecsMax auf 1).
  • Sie müssen sicherstellen, dass Ihre Anwendung nur die Datensätze mit einem festgelegten Schlüssel aktualisiert oder löscht (setzen Sie RecsMax auf 1).

Der Vorgabewert ist fmOnDemand, für TFDCustomMemTable ist der Vorgabewert fmAll.

Siehe auch