Ver Mensaje Individual
  #1  
Antiguo 25-09-2003
carlosmari carlosmari is offline
Miembro
 
Registrado: jul 2003
Posts: 34
Reputación: 0
carlosmari Va por buen camino
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í
Responder Con Cita