Hola Arturo.
Yo realmente nunca he utilizado las transacciones con ZesLib y MySQL, pero supongo que trabajen igual o muy parecido a como se hace con Interbase.
El objeto TZconnection
Posee los siguientes metodos/propiedades.
TransactIsolationLevel
StartTransaction
Commit
Rollback
Supongo que se deban usar de forma parecida a como se hace con ADO y MS SQL Server con cuando se usa Interbase.
O sea llamas primero a
StartTransaction
realizas los cambios y/o inserciones que necesites en la BD
Si todo fue OK entonces llamas al
Commit
Para que dichos cambies sean efectivos a otros usuarios en la BD
Si algo fue mal y necesitas hechar todo para atras desde el inicio de las transacciones llamas entonces a
RollBack
La propiedad TransactIsolationLevel, debe darte un determinado nivel de aislamiento respecto a las consultas concurrentes con la tuya. Habria que leerse un poco la ayuda pero debe tener algun valor implicito o por omision.
Otra cosa y muy importante.
Las tablas de MySQL tienen que ser del tipo innoDB y nunca MyISAM porque estas ultimas no admiten transacciones.
Bueno cuando lo pruebes, si te funciona me gustaria ver un fragmento de codigo de ejemplo en el foro.
Chao y suerte.
Juan Carlos
|