NextRecordset, méthode (ADO)
Efface l’objet Recordset actuel et retourne le recordset de suivant en parcourant une série de commandes.
Syntaxe
Set recordset2 = recordset1.NextRecordset(RecordsAffected )
Valeur de retour
Renvoie un objet Recordset. Dans le modèle de syntaxe, recordset1 et recordset2 peuvent être les mêmes objet recordset, ou vous pouvez utiliser des objets distincts. Lorsque vous utilisez des objets Recordset distincts, la réinitialisation de la propriété ActiveConnection sur l'Recordset d’origine (recordset1) après NextRecordset a été appelée génère une erreur.
Paramètres
RecordsAffected
Optionnel. Variable long à laquelle le fournisseur retourne le nombre d’enregistrements affectés par l’opération actuelle.
Note
Ce paramètre retourne uniquement le nombre d’enregistrements affectés par une opération ; il ne retourne pas le nombre d’enregistrements d’une instruction select utilisée pour générer le jeu d’enregistrements .
Remarques
Utilisez la méthode NextRecordset pour retourner les résultats de la commande suivante dans une instruction de commande composée ou d’une procédure stockée qui retourne plusieurs résultats. Si vous ouvrez un objet Recordset en fonction d’une instruction de commande composée (par exemple, « SELECT * FROM table1 ; SELECT * FROM table2") à l’aide de la méthode Execute sur une de commande ou la méthode Open sur un jeu d’enregistrements , ADO exécute uniquement la première commande et retourne les résultats à jeu d’enregistrements. Pour accéder aux résultats des commandes suivantes dans l’instruction, appelez la méthode NextRecordset.
Tant qu’il existe des résultats supplémentaires et que le jeu d’enregistrements contenant les instructions composées n’est pas déconnecté ou marshalé sur les limites du processus, la méthode NextRecordset continuera à retourner Recordset objets. Si une commande de retour de ligne s’exécute correctement, mais ne retourne aucun enregistrement, l’objet recordset retourné est ouvert mais vide. Testez ce cas en vérifiant que les propriétés BOF et EOF sont toutes deux True. Si une commande qui ne retourne pas de ligne s’exécute correctement, l’objet Recordset retourné est fermé, que vous pouvez vérifier en testant la propriété State sur le jeu d’enregistrements . Lorsqu’il n’y a plus de résultats, jeu d’enregistrements est défini sur Nothing.
La méthode NextRecordset n’est pas disponible sur un objet Recordset déconnecté, où ActiveConnection a été défini sur Nothing (en Microsoft Visual Basic) ou NULL (dans d’autres langues).
Si une modification est en cours en mode de mise à jour immédiate, l’appel de la méthode NextRecordset génère une erreur ; appelez d’abord la méthode Update ou CancelUpdate.
Pour passer des paramètres pour plusieurs commandes de l’instruction composée en remplissant la collection Parameters, ou en transmettant un tableau avec l'd’origine Open ou Exécuter appel, les paramètres doivent être dans le même ordre dans la collection ou le tableau que leurs commandes respectives dans la série de commandes. Vous devez terminer la lecture de tous les résultats avant de lire les valeurs des paramètres de sortie.
Votre fournisseur OLE DB détermine quand chaque commande d’une instruction composée est exécutée. Le fournisseur Microsoft OLE DB pour SQL Server, par exemple, exécute toutes les commandes d’un lot lors de la réception de l’instruction composée. Les jeux d’enregistrements résultants sont simplement retournés lorsque vous appelez NextRecordset.
Toutefois, d’autres fournisseurs peuvent exécuter la commande suivante dans une instruction uniquement après l’appel de NextRecordset. Pour ces fournisseurs, si vous fermez explicitement l’objet Recordset avant de parcourir l’instruction de commande entière, ADO n’exécute jamais les commandes restantes.
S’applique à
Voir aussi
NextRecordset, méthode - Exemple (VB)
NextRecordset, méthode - Exemple (VC++)