Compartilhar via


Método UpdateBatch

Grava todas as atualizações em lote pendentes em disco.

Sintaxe

  
recordset.UpdateBatch AffectRecords, PreserveStatus  

Parâmetros

AffectRecords
Opcional. Um valor AffectEnum que indica quantos registros o método UpdateBatch afetará.

PreserveStatus
Opcional. Um valor Boolean que especifica se as alterações locais, conforme indicado pela propriedade Status, devem ser confirmadas. Se esse valor for definido como True, a propriedade Status de cada registro permanecerá inalterada após a conclusão da atualização.

Comentários

Use o método UpdateBatch ao modificar um objeto Recordset no modo de atualização em lote para transmitir todas as alterações feitas em um objeto Recordset para o banco de dados subjacente.

Se o objeto Recordset der suporte à atualização em lote, você poderá armazenar em cache várias alterações em um ou mais registros localmente até chamar o método UpdateBatch. Se você estiver editando o registro atual ou adicionando um novo registro quando chamar o método UpdateBatch, o ADO chamará automaticamente o método Update para salvar as alterações pendentes no registro atual antes de transmitir as alterações em lote para o provedor. Você deve usar a atualização em lote apenas com um conjunto de chaves ou um cursor estático.

Observação

A especificação de adAffectGroup como o valor desse parâmetro resultará em um erro quando não houver registros visíveis no Recordset atual (como um filtro para o qual nenhum registro corresponde).

Se a tentativa de transmissão das alterações falhar para qualquer ou todos os registros devido a um conflito com os dados subjacentes (por exemplo, um registro já foi excluído por outro usuário), o provedor retornará avisos para a coleção Errors e ocorrerá um erro em tempo de execução. Use a propriedade Filter (adFilterAffectedRecords) e a propriedade Status para localizar os registros com conflitos.

Para cancelar todas as atualizações pendentes em lote, use o método CancelBatch.

Se as propriedades dinâmicas Unique Table e Update Resync estiverem definidas e o Recordset for o resultado da execução de uma operação JOIN em várias tabelas, a execução do método UpdateBatch será seguida implicitamente pelo método Resync, dependendo das configurações da propriedade Update Resync.

A ordem na qual as atualizações individuais de um lote são executadas na fonte de dados não é necessariamente a mesma que a ordem em que foram executadas no Recordset local. A ordem de atualização depende do provedor. Leve isso em conta ao codificar as atualizações relacionadas entre si, como as restrições de chave estrangeira em uma inserção ou uma atualização.

Aplica-se A

Objeto Recordset (ADO)

Consulte Também

Exemplo dos métodos UpdateBatch CancelBatch (VB)
Exemplo dos métodos UpdateBatch CancelBatch (VC++)
Método CancelBatch (ADO)
Método Clear (ADO)
Propriedade LockType (ADO)
Método Update