FireDAC.Comp.Client.TFDAdaptedDataSet.NextRecordSet
Delphi
procedure NextRecordSet;
C++
void __fastcall NextRecordSet(void);
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDAdaptedDataSet |
Beschreibung
Wechselt zum nächsten von der SQL-Anweisung zurückgegebenen Cursor.
Die Methode NextRecordSet schließt den aktuellen Cursor, wechselt zum nächsten zugreifbaren Cursor und öffnet die Datenmenge. Wenn keine weiteren zugreifbaren Cursors vorhanden sind, wird die Datenmenge nach dem Aufruf geschlossen. Im Kapitel Anweisungsstapel finden Sie weitere Einzelheiten.
Die Methode Close
schließt den aktuellen Cursor. Der Aufruf der Methode CloseAll verwirft alle zugeordneten Cursors. Daher sollten Sie zum Abrufen aller Cursors vor dem Öffnen einer Datenmenge FetchOptions.AutoClose auf False setzen.
Bei FireDAC ist die Anweisung REF CURSOR
in Oracle und PostgreSQL eine Anweisung für den Cursor, und ein Aufruf von NextRecordSet wählt den nächsten REF CURSOR
-Parameter aus. Bei SQL Server, Sybase SQL Anywhere, MySQL usw. wählt ein Aufruf von NextRecordSet die nächste Ergebnismenge aus, die von dem Stapel, der gespeicherten Prozedur oder auf eine andere Art erzeugt wurde.
Zur Entwurfszeit können Sie die Datenmenge an den nächsten Cursor durch Klicken mit der rechten Maustaste auf die Komponente und Auswahl von Nächste Datensatzgruppe im Popup-Menü weiterleiten. Im Kapitel Ausführen von Anweisungen finden Sie weitere Einzelheiten.
Beispiel
ADQuery1.FetchOptions.AutoClose := False;
ADQuery1.SQL.Text := 'select 1 as i; select ''qwe'' as s';
ADQuery1.Open;
ShowMessage(ADQuery1.Fields[0].FieldName + ' ' + ADQuery1.Fields[0].AsString); // output "i 1"
ADQuery1.NextRecordSet;
ShowMessage(ADQuery1.Fields[0].FieldName + ' ' + ADQuery1.Fields[0].AsString); // output "s qwe"
ADQuery1.Close;