[firebase-br] Invalid transaction object

Fabiano Oss fabiano em multitherm.com.br
Ter Jan 27 15:04:01 -03 2009


Boa tarde,

Estou utilizando Delphi + DbExpress 4 (Driver Devart)  + Firebird.

Ao fazer a seguinte instrução:

procedure xxx;
var
  t: TDBXTransaction;
begin
  t := SQLConnection.BeginTransaction;
 try
    .... sql diversos ...
    SQLConnection.CommitFreeAndNil(t);
except
    SQLConnection.RollbackFreeAndNil(t);
end;
end;

Se ocorre erro em algum "sql diversos" tudo bem, vai para o bloco except e vai fazer o rollback. Só que o problema é quando ocorre exceção no Commit, aí quando vai para o bloco except ocorre o erro "Invalid transaction object". 

Alguém sabe como faço para resolver isso? Se ocorrer uma exceção no Commit eu não preciso fazer Roollback?







Fabiano Oss
Multitherm Sistemas e Automação Ltda
www.multitherm.com.br


Mais detalhes sobre a lista de discussão lista