FireDAC.Stan.Option.TFDFetchOptions.CursorKind

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property CursorKind: TFDCursorKind read GetCursor write SetCursor  stored IsCKS default ckAutomatic;

C++

__property TFDCursorKind CursorKind = {read=GetCursor, write=SetCursor, stored=IsCKS, default=0};

Eigenschaften

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

Beschreibung

Gibt den Typ des Cursors an, den eine FireDAC-Anweisung oder -Datenmenge verwendet.

Setzen Sie CursorKind, um den Typ des Cursors anzugeben, den die FireDAC-Anweisung oder -Datenmenge für die Ergebnismenge beim Öffnen verwendet.CursorKind muss vor der Vorbereitung der Anweisung oder der Datenmenge festgelegt werden.

Um den Cursortyp (CursorKind) für eine bereits verwendete Datenmenge zu ändern, kann in der Anwendung zuerst die Methode Disconnect aufgerufen werden.

CursorKind wirkt sich auf Folgendes aus:

  • Die Dauer bis zur Rückgabe des ersten Datensatzes oder zum Öffnen der Ergebnismenge.
  • Die Dauer bis zur Rückgabe der Datensätze der Ergebnismenge.
  • Die Möglichkeit, mehrere geöffnete Cursors zu verwenden.
  • Die Cursor-Stabilität.
  • Die verwendeten DBMS-Ressourcen.
  • Den TFDTable-Modus.

Option

Beschreibung

ckAutomatic

Ein Treiber wählt den Cursortyp abhängig von den anderen Abrufoptionen und der Struktur der Ergebnismenge automatisch aus.

ckDefault

Ein Treiber verwendet den clientseitigen Standardcursor. Ein Standardcursor erzeugt einen Schnappschuss der Datensätze zum Zeitpunkt der Ausführung der Abfrage. Kann zur maximalen Abrufleistung führen, erfordert aber mehr Zeit, um den ersten Datensatz zurückzugeben, weil alle Datensätze der Ergebnismenge beim Open-Aufruf an den Client gesendet werden. Einige DBMSs unterstützen nur einen einzelnen aktiven Standardcursor pro Verbindung.

ckDynamic

Ein Treiber verwendet einen dynamischen serverseitigen Cursor. Dynamische Cursorzeilen können von Aktualisierungen der Abfragetabellen betroffen sein, während der Cursor aktiv ist. Erfordert eventuell weniger Zeit, um den ersten Datensatz zurückzugeben, und mehr Zeit, um alle Datensätze zurückzugeben.

ckStatic

Ein Treiber verwendet einen dynamischen serverseitigen Cursor. Ein statischer Cursor erzeugt einen Schnappschuss der Datensätze zum Zeitpunkt der Ausführung der Abfrage. Die Abrufleistung kann der des dynamischen Cursors entsprechen.

ckForwardOnly

Ein Treiber verwendet einen nur vorwärts ausgerichteten, serverseitigen Cursor. Für FireDAC entsprechen nur vorwärts ausgerichtete Cursors den dynamischen oder statischen Cursors. Verwenden Sie die Eigenschaft Unidirectional, um die Bildlaufmöglichkeiten von FireDAC-Datenmengen zu steuern.

Der Standardwert ist ckAutomatic.

Die meisten FireDAC-Treiber unterstützen nur einige Cursortypen oder verwenden diese Option überhaupt nicht. Einzelheiten finden Sie in der DBMS-Dokumentation. Wenn CursorKind = ckAutomatic, dann wählt FireDAC den folgenden, eigentlichen Cursortyp aus:

DBMS

Bedingungen

Eigentlicher Cursortyp

Microsoft SQL Server

  • Für die Serverversion 2005 oder höher.
  • Oder Mode ist fmExactRecsMax oder fmAll.
  • Oder DirectExecute ist auf True gesetzt.

Standardcursor

Andernfalls

Statischer Cursor

IBM DB2

--

Nur vorwärts gerichteter Cursor

Sybase SQL Anywhere, Microsoft Access

Wenn die Ergebnismenge BLOB-Felder enthält.

Dynamischer Cursor

Andernfalls

Standardcursor

PostgreSQL

Wenn ModefmExactRecsMax oder fmAll ist.

Standardcursor

Andernfalls

Statischer Cursor

Andere

--

Standardcursor

Für TFDTable aktiviert ckAutomatic das Live-Datenfenster, wenn eine Tabelle eindeutige Kennzeichnungsfelder enthält.ckDynamic aktiviert das Live-Datenfenster ohne Bedingung, und eine Exception wird ausgelöst, wenn eine DB-Tabelle keinen eindeutigen Schlüssel enthält. Andere Cursortypen deaktivieren den Live-Datenfenstermodus und setzen TFDTable auf den Standardmodus, wenn es als TFDQuery fungiert.

Siehe auch