Atualização e persistência de 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 que, 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 as alterações de Recordset em um arquivo usando o método Save ou pode enviar as alterações de volta para a 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 Recordset. 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 Recordset; 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 Recordset.
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ída (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 de lote). A propriedade LockType determina quando as alterações são feitas na fonte de dados subjacente. adLockOptimistic ou adLockPessimistic especifica o modo imediato, enquanto adLockBatchOptimistic especifica o modo de lote. A propriedade CursorLocation pode afetar as configurações LockType que estão disponíveis. Por exemplo, não haverá suporte para a configuração adLockPessimistic se a propriedade CursorLocation estiver definida como adUseClient.
No modo imediato, cada invocação do método Update propaga as alterações na 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 seguintes tópicos.