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