[firebase-br] RES: RES: RES: Erro

Forum Delphi delphi em compdados.com.br
Seg Jul 24 10:01:56 -03 2006


Marcelo,
Andei tendo este problema e só resolvi iniciando uma transação sempre que
coloco um registro em inserção ou alteração.

É bom saber que utilizo o IBX do delphi.

Por exemplo:

//start uma transação
Try
   TransacaoRegistro( QClientes, 'I' );
   QClientes.edit;
   Qclientes.fieldbyname(........
   QClientes.post;
   TransacaoRegistro( QClientes, 'F' );
Except
   TransacaoRegistro( QClientes, 'C' );
End;


Procedure TransacaoRegistro( QTabela:TIBQuery; cTipo:Char );
Begin

   if cTipo = 'I' Then
   Begin
      if QTabela.Transaction.InTransaction then
         QTabela.Transaction.CommitRetaining
   else
      QTabela.Transaction.StartTransaction;
   END
   Else
   if cTipo = 'F' Then
   Begin
      if QTabela.Transaction.InTransaction then
         QTabela.Transaction.CommitRetaining;
   END
   ELSE
   if cTipo = 'C' Then
   Begin
      if QTabela.Transaction.InTransaction then
         QTabela.Transaction.RollbackRetaining;
   END;

end;





Mais detalhes sobre a lista de discussão lista