FireDAC.Comp.Client.TFDCustomCommand.NextRecordSet
Delphi
procedure NextRecordSet;
C++
void __fastcall NextRecordSet();
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
public | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDCustomCommand |
Description
Se déplace sur le prochain curseur, renvoyé par la commande SQL.
La méthode NextRecordSet ferme le curseur en cours, avance jusqu'au prochain curseur accessible et ouvre la commande. S'il n'y a plus de curseurs accessibles après l'exécution de cet appel, la commande est fermée (State = csPrepared
).
La méthode Close ferme le curseur en cours. La méthode CloseAll abandonne tous les curseurs associés. Ainsi, pour obtenir tous les curseurs, vous devez définir FetchOptions.AutoClose sur False avant d'ouvrir la commande.
Les REF CURSOR
Oracle pour FireDAC sont aussi des curseurs de commande, et l'appel de NextRecordSet sélectionnera le prochain paramètre REF CURSOR
PL/SQL.
A la conception, vous pouvez avancer l'ensemble de données sur le prochain curseur, en cliquant avec le bouton droit sur le composant et en choisissant l'élément "Ensemble d'enregistrements suivant" du menu popup.
Exemple
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;