Ver Mensaje Individual
  #6  
Antiguo 16-05-2012
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 488
Reputación: 17
Neeruu Va por buen camino
Cool

Hola....


Por lo General yo en ese caso trabajo con cached...

O sea pongo el query en Cached... dejo el usuario haga los cambios que tiene que hacer y luego, cuando guarda realizo un ApplyUpdates. En caso de cancelar hago un CancelUpdates...

Ten en cuenta que un query en cached trabaja con los datos de forma local y una vez que aplicas los cambios recién se envían al servidor...


En caso que tengas varios querys en cached y tengas que aplicar los cambios... puedes hacerlo de la siguiente manera...

Código Delphi [-]
Try
  Transaccion.StarTransaction;

  if Qry1.UpdatesPending then //Esto devuelve si tiene cambios en cached pendientes de aplicar
     Qry1.ApplyUpdates;

  if Qry2.UpdatesPending then 
     Qry2.ApplyUpdates;

  if Qry3.UpdatesPending then 
     Qry4.ApplyUpdates;
  
  Transaccion.Commit;

  
Except
  Transaccion.RollBack;
end;

En tu caso:
Si presiona el boton grabar haces todos los applyupdates, si presiona el boton cancelar haces los cancelupdates;

Código Delphi [-]
  Qry1.CancelUpdates;
  Qry2.CancelUpdates;
  Qry3.CancelUpdates;
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita