FireDAC.Comp.Client.TFDCustomCommand.NextRecordSet
Delphi
procedure NextRecordSet;
C++
void __fastcall NextRecordSet();
Contents
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomCommand |
Description
Moves to the next cursor, returned by the SQL command.
The NextRecordSet method closes the current cursor, forwards it to the next accessible cursor and opens the command. If there are no more accessible cursors after performing this call, the command is closed (State = csPrepared
).
The Close method closes the current cursor. The CloseAll method discards all assocciated cursors. So, to get all cursors, you should set FetchOptions.AutoClose to False before opening the command.
Oracle REF CURSORs
for FireDAC are also command cursors, and the NextRecordSet call will select the next PL/SQL REF CURSOR
parameter.
At design time, you can forward the dataset to the next cursor, by right clicking the component and choosing the "Next record set" popup menu item.
Example
ADCommand1.FetchOptions.AutoClose := False;
ADCommand1.CommandText.Text := 'select 1 as i; select ''qwe'' as s';
ADCommand1.Open;
oTab := ADCommand1.Define;
try
ADCommand1.Fetch(oTab);
ShowMessage(oTab.Rows[0].DumpRow(True)); // output "i: 1"
finally
oTab.Free;
end;
ADCommand1.NextRecordSet;
oTab := ADCommand1.Define;
try
ADCommand1.Fetch(oTab);
ShowMessage(oTab.Rows[0].DumpRow(True)); // output "s: qwe"
finally
oTab.Free;
end;
ADQuery1.CloseAll;