Metodo NextRecordset (ADO)
Cancella l'oggetto recordset corrente e restituisce il recordset successivo avanzando tramite una serie di comandi.
Sintassi
Set recordset2 = recordset1.NextRecordset(RecordsAffected )
Valore restituito
Restituisce un oggetto recordset . Nel modello di sintassi recordset1 e recordset2 possono essere uguali oggetto Recordset oppure è possibile utilizzare oggetti separati. Quando si utilizzano oggetti recordset separati, la reimpostazione della proprietà ActiveConnection nell'recordset originale (recordset1) dopo la chiamata di NextRecordset genererà un errore.
Parametri
RecordsAffected
Opzionale. Variabile long a cui il provider restituisce il numero di record interessati dall'operazione corrente.
Nota
Questo parametro restituisce solo il numero di record interessati da un'operazione; non restituisce un conteggio dei record da un'istruzione select utilizzata per generare l'oggetto Recordset .
Osservazioni
Utilizzare il metodo NextRecordset per restituire i risultati del comando successivo in un'istruzione di comando composta o di una stored procedure che restituisce più risultati. Se si apre un oggetto Recordset basato su un'istruzione di comando composta, ad esempio "SELECT * FROM table1; SELECT * FROM table2") usando il metodo Execute su un Command o il metodo Open in un Recordset, ADO esegue solo il primo comando e restituisce i risultati a recordset. Per accedere ai risultati dei comandi successivi nell'istruzione , chiamare il metodo NextRecordset.
Se sono presenti risultati aggiuntivi e l'Recordset contenente le istruzioni composte non viene disconnesso o sottoposto a marshalling attraverso i limiti del processo, il metodo NextRecordset continuerà a restituire oggetti Recordset. Se un comando che restituisce righe viene eseguito correttamente ma non restituisce alcun record, l'oggetto Recordset restituito sarà aperto ma vuoto. Verificare questo caso verificando che le proprietà BOF e EOF siano entrambe True. Se viene eseguito correttamente un comando che non restituisce righe, l'oggetto Recordset restituito verrà chiuso, che è possibile verificare testando la proprietà State sull'oggetto Recordset . Quando non sono presenti altri risultati, recordset verrà impostato su Nothing.
Il metodo NextRecordset non è disponibile in un oggetto Recordset disconnesso, in cui ActiveConnection è stato impostato su Nothing (in Microsoft Visual Basic) o NULL (in altri linguaggi).
Se è in corso una modifica in modalità di aggiornamento immediato, la chiamata al metodo NextRecordset genera un errore; chiamare prima il metodo Update o Cancel Update.
Per passare parametri per più di un comando nell'istruzione composta compilando l'insieme Parameters oppure passando una matrice con il originale Open o chiamare Execute, i parametri devono trovarsi nello stesso ordine nella raccolta o nella matrice dei rispettivi comandi della serie di comandi. È necessario completare la lettura di tutti i risultati prima di leggere i valori dei parametri di output.
Il provider OLE DB determina quando viene eseguito ogni comando in un'istruzione composta. Il provider Microsoft OLE DB per SQL Server, ad esempio, esegue tutti i comandi in un batch al momento della ricezione dell'istruzione composta. I recordset risultanti vengono semplicemente restituiti quando si chiama NextRecordset.
Tuttavia, altri provider possono eseguire il comando successivo in un'istruzione solo dopo la chiamata di NextRecordset. Per questi provider, se si chiude in modo esplicito il oggetto Recordset prima di eseguire l'intera istruzione di comando, ADO non esegue mai i comandi rimanenti.
Si applica a
Vedere anche
Esempio di metodo NextRecordset (VB)
Esempio di metodo NextRecordset (VC++)