Ver Mensaje Individual
  #2  
Antiguo 07-04-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Supongo que el error se debe a que no inicias una nueva transacción.

Luego de un Commit o de un Rollback, la transacción queda "cerrada" y si quieres volver a hacer algo debes iniciar una nueva.

Yo utilizo algo como lo que sigue (con otros componentes)
Código Delphi [-]
var
   Q : TQuery;
begin
   Q := TQuery.Create(nil);
   with Q do
   begin
      DataBase := BaseDeDatos;
      Transaction := TransaccionLocal;

      {Primero me aseguro de que la transacción esté activa}
      if not Transaction.InTransaction then
         Transaction.StartTransaction;

      try
         ExecQuery;
         Transaction.Commit;
      except
         Transaction.Rollback;
      end;

      Free;
   end {with}
end;
Responder Con Cita