Ver Mensaje Individual
  #3  
Antiguo 03-08-2012
elhencas elhencas is offline
Registrado
 
Registrado: feb 2007
Posts: 2
Reputación: 0
elhencas Va por buen camino
Smile algo mas sobre transacciones... delphi y unidac y mysql

Busqué por todas partes y no hay explicación clara. Luego de algunas pruebas y mucho buscar tengo algo práctico.

Primero: las transacciones se usan para agregar, modificar y borrar datos en una o varias tablas, se pueden hacer busquedas y todo tipo de accesos sobre las tablas pero estas no estan en la base de datos hasta que se haga un commit.
Si pasa algo como una pérdida de conexion la base de datos hace un rollback y deshace todo lo que está pendiente. Existen otros comandos pero básicamente es esto.

A nivel de mysql las tablas tienen que ser inodb. A nivel de delphi con componentes de conexión de unidac, funciona con los componentes de base de datos de acceso directo de delphi. como dbedit, dbgrid, etc.

Lo escencial es : usar el componente conexion. luego se definen componentes tablas con datasource, lo normal.

Cuando se arranca el formulario en el evento form.show se pone el nombre de la conexion.transactions[1].starttransaction; o en un evento que permita abrir la transaccion.
Luego se trabaja normalmente.

al salir o terminar de poner datos se hace conexion.transactions[1].commit; o conexion.transactions[1].rollback; se puede manejar errores, etc. pero basicamente es esto.
Responder Con Cita