Compartir a través de


Actualización y conservación de datos

En los capítulos anteriores se ha explicado cómo usar ADO para obtener datos en un origen de datos, cómo moverse por los datos e incluso cómo editar los datos. Por supuesto, si el objetivo de la aplicación es permitir que los usuarios realicen cambios en los datos, deberá comprender cómo guardar esos cambios. Puede persistir los cambios del conjunto de registros Recordset en un archivo usando el método Save, o puede enviar los cambios de nuevo al origen de datos para su almacenamiento usando los métodos Update o UpdateBatch.

En los capítulos anteriores, ha cambiado los datos de varias filas del Recordset. ADO admite dos nociones básicas relacionadas con la adición, eliminación y modificación de filas de datos.

La primera noción es que los cambios no se realizan inmediatamente en el Recordset; en su lugar, se realizan en un búfer de copia interno . Si decide que no desea realizar los cambios, se descartan las modificaciones del búfer de copia. Si decide conservar los cambios, los cambios en el buffer de copia se aplican al conjunto de registros .

La segunda noción es que los cambios se propagan al origen de datos tan pronto como se declara el trabajo en una fila completa (es decir, modo de inmediato), o todos los cambios en un conjunto de filas se recopilan hasta que se declara el trabajo para el conjunto completo (es decir, modo de por lotes). La propiedad LockType determina cuándo se realizan los cambios en el origen de datos subyacente. adLockOptimistic o adLockPessimistic especifica el modo inmediato, mientras que adLockBatchOptimistic especifica el modo por lotes. La propiedad CursorLocation puede afectar a qué configuraciones de LockType están disponibles. Por ejemplo, no se admite la configuración de adLockPessimistic si la propiedad CursorLocation está establecida en adUseClient.

En modo inmediato, cada invocación del método Update propaga los cambios en el origen de datos. En modo por lotes, cada invocación de Update o el movimiento de la posición de fila actual guarda los cambios en el búfer de copia, pero solo el método UpdateBatch propaga los cambios al origen de datos.

Esta sección contiene los temas siguientes.