Atualizando e persistindo dados
Os capítulos anteriores discutiram como usar o ADO para acessar dados em uma fonte de dados, como se mover nos dados e até mesmo como editar os dados. Claro, se o objetivo do aplicativo for permitir que os usuários façam alterações nos dados, você precisará entender como salvar essas alterações. Você pode persistir o conjunto de registros alterações em um arquivo usando o método Salvar ou enviar as alterações de volta à fonte de dados para armazenamento usando os métodos Update ou UpdateBatch.
Nos capítulos anteriores, você alterou os dados em várias linhas do conjunto de registros . O ADO dá suporte a duas noções básicas relacionadas à adição, exclusão e modificação de linhas de dados.
A primeira noção é que as alterações não são feitas imediatamente no conjunto de registros ; em vez disso, eles são feitos em um buffer de cópia interno. Se você decidir que não deseja as alterações, as modificações no buffer de cópia serão descartadas. Se você decidir manter as alterações, as alterações no buffer de cópia serão aplicadas ao conjunto de registros .
A segunda noção é que as alterações são propagadas para a fonte de dados assim que você declara o trabalho em uma linha concluído (ou seja, modo imediato ), ou todas as alterações em um conjunto de linhas são coletadas até que você declare o trabalho para o conjunto concluído (ou seja, modo em lote ). A propriedade LockType determina quando as alterações são feitas na fonte de dados subjacente. adLockOptimistic ou adLockPessimistic especificam o modo imediato, enquanto adLockBatchOptimistic especifica o modo de lote. A propriedade CursorLocation pode afetar quais configurações de LockType estão disponíveis. Por exemplo, a configuração adLockPessimistic não é suportada se a propriedade CursorLocation estiver definida como adUseClient.
No modo imediato, cada invocação do método Update propaga as alterações para a fonte de dados. No modo de lote, cada invocação de Update ou movimentação da posição da linha atual salva as alterações no buffer de cópia, mas apenas o método UpdateBatch propaga as alterações para a fonte de dados.
Esta seção contém os tópicos a seguir.