Ver Mensaje Individual
  #25  
Antiguo 16-02-2019
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Reputación: 16
orodriguezca Va por buen camino
En Firebird todo lo que se hace contra la base de datos siempre está "cobjiado" en una transacción, incluso las sentencias select.

Yo suelo utilizar dos componentes de transacción diferentes, uno para las lecturas, que lo defino como la transacción por defecto de la conexión, y otro para las actualizaciones. En tu caso probaría a escribir el código así:

Código Delphi [-]
  qCuentas.Transaction := TransaccionesUpd;  //o algo parecido. generalmente lo hago en tiempo diseño en el modulo de datos
  transaccionesUpd.StartTransaction;
  try
    qCuentas.ExecSQL;
    Result:= 'Ok';
    transaccionesUpd.commit;
  Except
    on E: exception do
    begin
        transaccionesUpd.Rollback;
        raise;
    end;
  end;
Responder Con Cita