Ver Mensaje Individual
  #4  
Antiguo 01-12-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Reputación: 17
rgstuamigo Va por buen camino
Arrow

Bueno hay que enteder un poco la lógica de las transacciones...
Logicamente dos usuarios con diferentes conexiones pueden modificar en el mismo instante de tiempo(aunque no es así exactamente) un mismo registro, pero el servidor en realidad lo que hace es, primero permitir editar a la primera conexion(la primera que llega), para tal efecto bloquea la tabla,para que ninguna otra conexion(usuario) pueda acceder a ella,terminada la modificacion, pues nuevamente habilita la tabla desbloqueandola para hacer lo mismo con la siguiente conexion o usuario.
Evidentemente eso es casi imperceptible para el humano, estamos hablando milisegundos o quizás nanosegundos entre una conexion y la otra.

Por otra parte quiero comentarte que el componente TZConnection es el que maneja las transacciones en los componentes Zeos, pues tiene tres métodos importantes para iniciar, confirmar y revertir una transaccion:
Código Delphi [-]
begin
ZConnection1.StartTransaction;
...
ZConnection1.Commit;
...
ZConnection1.Rollback;
...
end;
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita