Método NextRecordset (ADO)
Limpa o objeto recordset atual e retorna o próximo recordset avançando por meio de uma série de comandos.
Sintaxe
Set recordset2 = recordset1.NextRecordset(RecordsAffected )
Valor retornado
Retorna um objeto Recordset. No modelo de sintaxe, recordset1 e recordset2 pode ser o mesmo objeto Recordset ou você pode usar objetos separados. Ao usar objetos Recordset separados, redefinir a propriedade ActiveConnection no Recordset original (recordset1) depois que NextRecordset tiver sido chamado gerará um erro.
Parâmetros
RecordsAffected
Opcional. Uma variável Long à qual o provedor retorna o número de registros afetados pela operação atual.
Nota
Esse parâmetro retorna apenas o número de registros afetados por uma operação; ele não retorna uma contagem de registros de uma instrução select usada para gerar o conjunto de registros .
Observações
Use o método NextRecordset para retornar os resultados do próximo comando em uma instrução de comando composta ou de um procedimento armazenado que retorna vários resultados. Se você abrir um objeto Recordset com base em uma instrução de comando composta (por exemplo, "SELECT * FROM table1; SELECT * FROM table2") usando o método Execute em um de Comando do ou no método Open em um Recordset, o ADO executa apenas o primeiro comando e retorna os resultados para conjunto de registros. Para acessar os resultados dos comandos subsequentes na instrução, chame o método NextRecordset.
Desde que haja resultados adicionais e o Recordset que contém as instruções compostas não seja desconectado ou em marshaling entre os limites do processo, o método NextRecordset continuará a retornar objetos recordset. Se um comando de retorno de linha for executado com êxito, mas não retornar registros, o objeto recordset retornado será aberto, mas vazio. Teste esse caso verificando se as propriedades BOF e EOF estão True. Se um comando que não retorna linhas for executado com êxito, o objeto recordset retornado será fechado, o que você pode verificar testando a propriedade State no Recordset. Quando não houver mais resultados, conjunto de registros será definido como Nothing.
O método NextRecordset não está disponível em um objeto Recordset desconectado, em que ActiveConnection foi definido como Nothing (no Microsoft Visual Basic) ou NULL (em outros idiomas).
Se uma edição estiver em andamento no modo de atualização imediata, chamar o método NextRecordset gerará um erro; chame primeiro o método Update ou CancelUpdate.
Para passar parâmetros para mais de um comando na instrução composta preenchendo a coleção parâmetros ou passando uma matriz com a chamada Open ou Execute, os parâmetros devem estar na mesma ordem na coleção ou matriz que seus respectivos comandos na série de comandos. Você deve concluir a leitura de todos os resultados antes de ler os valores do parâmetro de saída.
Seu provedor OLE DB determina quando cada comando em uma instrução composta é executado. O Microsoft OLE DB Provider for SQL Server, por exemplo, executa todos os comandos em um lote ao receber a instrução composta. Os conjuntos de registros resultantes são simplesmente retornados quando você chama NextRecordset .
No entanto, outros provedores podem executar o próximo comando em uma instrução somente depois que NextRecordset for chamado. Para esses provedores, se você fechar explicitamente o objeto Recordset antes de percorrer toda a instrução de comando, o ADO nunca executará os comandos restantes.
Aplica-se a
do objeto Recordset (ADO)
Consulte Também
exemplo do método NextRecordset (VB)
exemplo do método NextRecordset (VC++)