FireDAC.Comp.Client.TFDAdaptedDataSet.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 | TFDAdaptedDataSet |
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 l'ensemble de données. S'il n'y a plus de curseurs accessibles, l'ensemble de données est fermé après l'appel. Voir le chapitre Groupes de commandes pour de plus amples détails.
La méthode Close
ferme le curseur en cours. L'appel de 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 un ensemble de données.
Pour FireDAC, la commande REF CURSOR
de Oracle et PostgreSQL est une commande pour le curseur, et un appel de NextRecordSet sélectionne le paramètre REF CURSOR
suivant. Pour SQL Server, Sybase SQL Anywhere, MySQL, etc., un appel de NextRecordSet sélectionne le prochain ensemble de résultats, qui est produit par le groupe, la procédure stockée ou par d'autres moyens.
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. Voir le chapitre Exécution des commandes pour de plus amples détails.
Exemple
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;