FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
DbExpress - Transacciones - más de un clientDataSet
Hola foro !!!
Estoy trabajando con D7, PostgreSql y utilizo dbexpress. Quisiera saber como trabajan uds. cuando tienen varios clientDataSet y desean que todos o ninguno se actualice. Supongo que para esto se tienen que utilizar las transacciones. Lo que he hecho es lo siguiente: var TD: TTransactionDesc; begin if not SqlConnection1.InTransaction then begin TD.TransactionID := 1; TD.IsolationLevel := xilREADCOMMITTED; SqlConnection1.StartTransaction(TD); try client1.ApplyUpdates(0); client2.ApplyUpdates(0); SqlConnection1.Commit(TD); except SqlConnection1.Rollback(TD); end; end; end; Lo he probado y funciona !!! solo un detalle que no entiendo ... si el client1 está ok y el client2 está con error, el 'commit' es el que resuelve todo y no se actualiza ninguno de los 2 client. Es decir que nunca se ejecuta el RooBack pero igualmente no graba nada (ninguno de los 2 client). Me gustaría que me aconsejen como suelen trabajar uds. cuando tienen que actualizar varios ClientDataSet con una misma transacción. Gracias anticipada por la ayuda.
__________________
Carlos Marí |
|
|
|