Re: [firebase-br] Não gera exceção DBexpress

maf.sistemas maf.sistemas em itelefonica.com.br
Sex Fev 10 15:25:36 -03 2006


Caro Kleber agora passou a gerar a exceção só ele continua e vai para o commit e depois mostra a mensagem no except, mas a transação é comitada normalmente, teria como ir para o except para cancelar a transação ?


Marco

O problema é que o ClientDataSet, foi criado para trabalhar 
inicialmente em
3 camadas...por isso é não dispara uma exceção...

o que vc pode fazer para solucionar isso é:

1) No DataModule crie uma variavel
      ErrorMsg : string ;

2) No ReconcileError coloque a instrução:
  ErrorMsg := intToStr( e.ErrorCode ) + ' ' +  e.Message  + ' ' + 
E.Context 
;
  Action := raCancel;

3) ao chamar o ApplyUpdates você usa:
    if (CDS.ApplyUpdates(0) <> 0 ) then
      Raise Exception.Create ( DM.ErrorMsg ) ;

onde: CDS é o seu ClientDataSet e DM é o seu DataModule

Com isso ele irá disparar a exceção.

[]´s

Kléber Caneva



Mais detalhes sobre a lista de discussão lista