Compartir a través de


Método NextRecordset (ADO)

Borra el objeto Recordset actual y devuelve el siguiente objeto Recordset mediante el avance por una serie de comandos.

Sintaxis

  
Set recordset2 = recordset1.NextRecordset(RecordsAffected )  

Valor devuelto

Devuelve un objeto Recordset. En el modelo de sintaxis, recordset1 y recordset2 pueden ser el mismo objeto Recordset, o puede usar usted objetos independientes. Al usar objetos Recordset independientes, restablecer la propiedad ActiveConnection en el objeto Recordset original (recordset1) después de llamar a NextRecordset generará un error.

Parámetros

RecordsAffected
Opcional. Variable Long a la que el proveedor devuelve el número de registros afectados por la operación actual.

Nota

Este parámetro solo devuelve el número de registros afectados por una operación; no devuelve un recuento de registros de una instrucción SELECT utilizada para generar el objeto Recordset.

Comentarios

Use el método NextRecordset para devolver los resultados del siguiente comando en una instrucción de comando compuesta o de un procedimiento almacenado que devuelve varios resultados. Si abre un objeto Recordset basado en una instrucción de comando compuesta (por ejemplo, "SELECT * FROM table1; SELECT * FROM table2") con el método Execute en un comando o el método Open en un objeto Recordset, ADO ejecuta solo el primer comando y devuelve los resultados al conjunto de registros. Para obtener acceso a los resultados de los comandos posteriores de la instrucción, llame al método NextRecordset.

Siempre que haya resultados adicionales y el objeto Recordset que contiene las instrucciones compuestas no esté desconectado o serializado a través de los límites del proceso, el método NextRecordset seguirá devolviendo objetos Recordset. Si un comando que devuelve filas se ejecuta correctamente, pero no devuelve ningún registro, el objeto Recordset devuelto estará abierto, pero vacío. Pruebe este caso comprobando que las propiedades BOF y EOF son True. Si un comando que no devuelve filas se ejecuta correctamente, se cerrará el objeto Recordset devuelto, que puede comprobar usted probando la propiedad State en el objeto Recordset. Cuando no haya más resultados, el conjunto de registros se establecerá en Nothing.

El método NextRecordset no está disponible en un objeto Recordset desconectado, donde ActiveConnection se ha establecido en Nothing (en Microsoft Visual Basic) o NULL (en otros lenguajes).

Si una edición está en curso mientras está en modo de actualización inmediata, llamar al método NextRecordset generará un error; llame primero al método Update o CancelUpdate.

Para pasar parámetros para más de un comando en la instrucción compuesta rellenando la colección Parameters, o pasando una matriz con la llamada Open o Execute original, los parámetros deben estar en el mismo orden en la colección o matriz que sus respectivos comandos de la serie de comandos. Debe terminar de leer todos los resultados antes de leer los valores de los parámetros de salida.

El proveedor OLE DB determina cuándo se ejecuta cada comando de una instrucción compuesta. El proveedor OLE DB de Microsoft para SQL Server, por ejemplo, ejecuta todos los comandos de un lote al recibir la instrucción compuesta. Los conjuntos de registros resultantes se devuelven cuando se llama a NextRecordset.

Sin embargo, otros proveedores pueden ejecutar el siguiente comando en una instrucción solo después de llamar a NextRecordset. Para estos proveedores, si cierra explícitamente el objeto Recordset antes de recorrer la instrucción de comando completa, ADO nunca ejecutará los comandos restantes.

Se aplica a

Objeto de conjunto de registros (ADO)

Consulte también

Ejemplo del método NextRecordset (VB)
Ejemplo del método NextRecordset (VC ++)