Re: [firebase-br] Não gera exceção DBexpress
Kléber Caneva
kdcc em terra.com.br
Sex Fev 10 17:05:49 -03 2006
Quando você utiliza o RAISE, ele não continua.. ele pula direto para o
Except...
O bloco de try tem que estar assim:
try
if (CDS.ApplyUpdates(0) <> 0 ) then
Raise Exception.Create ( DM.ErrorMsg ) ;
except
Application.HandleException(nil);
end;
Quanto ao commit ou rollback.. o ClientDataSet não necessita... isso é
feito internamente... A menos que você tenha Aberto a transação
explicitamente..
[]´s
Kléber Caneva
----- Original Message -----
From: "maf.sistemas" <maf.sistemas em itelefonica.com.br>
To: <lista em firebase.com.br>
Sent: Friday, February 10, 2006 3:25 PM
Subject: Re: [firebase-br] Não gera exceção DBexpress
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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1139592612.300470.11985.malavi.terra.com.br,4407,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 10/02/2006 / Versão:
4.4.00/4694
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista