Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   ADO con Transacciones y BatchUpdate (https://www.clubdelphi.com/foros/showthread.php?t=21183)

hgiacobone 09-05-2005 21:50:31

ADO con Transacciones y BatchUpdate
 
Hola gente,
Estoy realizando un pequeño sistema de escritorio que utiliza una base Access accedida mediante ADO desde Delphi.

Es sabido el crecimiento exponencial de la BD cuando se havcen por ejemplo muchas ALTAS (una base de 2 Mb crece el doble o el triple y luego, al comptarla vuelve a su tamaño original). Cosas del Access que guarda porquerías.

Una de las implementaciones mas interesantes con los ADODataSet, es poder utilizar el bloqueo tipo BATCHUpdate, esto es, el motor envia el cursor con los datos solicitados al Cliente y los deja alli en memoria para su procesamiento (Altas, Bajas, Modificaciones) y luego, por ejemplo en el evento de un boton llamado "Actualizar", ponemos la intruccion ADODataSet1.BatchUpdate; y todo el conjunto viaja hacia el servidor.
Lo bueno de esto es que no tenemos que tener una conexion constante con el motor. Levantamos la conexion, recibimos los datos y cortamos la conexion. Procesamos los datos recibidos, levantamos una nueva conexion, enviamos los datos (BatchUpdate) y cerramos la conexion nuevamente. Solo le pedimos al motor unos segundos de atención.

Por otro lado, existen lo que se llama Transacciones, que basicamente las maneja el motor. Un ejemplo sería:
Código:

ADOConnection.BeginTransaction;
TRY
ADOCommand1.Commandtext:="INSERT INTO Tabla (pirulo) VALUES (algo)"
ADOCOmmand.Execute;
ADOConnection.CommitTransaction;
EXCEPT
ADOConnection.RollbackTransaction;
END;

No es que quiero mezclar tranvías con naranjas, pero se pueden utilizar Transacciones y BatchUpdate en simultaneo?

Alguien sabe como hacerlo?


La franja horaria es GMT +2. Ahora son las 06:14:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi