[firebase-br] Foreign Key
Kléber Caneva
kdcc em terra.com.br
Qua Abr 26 08:34:17 -03 2006
Pelo que entendi vc está usando uma estrutura Try.. Except para capturar o
erro.
O problema é que o DBX não gera Exception, então teoricamente vc teria que
tratar os erros do banco no OnReconcileError do CDS.
Mas como na pratica a teoria é outra, vc pode burlar esse problema em
sistemas Client/Server :
1) Crie uma Variavel Publica
ErrorMsg : string ;
2) Crie uma Rotina Padrao para o OnReconcileError que será usada em todos os
CDS.
procedure TfrmPadrao.cdsReconcileError( DataSet: TCustomClientDataSet; E:
EReconcileError;
UpdateKind: TUpdateKind; var Action: TReconcileAction);
begin
ErrorMsg := intToStr( e.ErrorCode ) + ' ' + e.Message + ' ' + E.Context
;
Action := raCancel;
end;
3) Quando efetuar o applyUpdates use assim:
try
if ( CDS.ApplyUpdates(0) <> 0 ) then
Raise Exception.Create ( ErrorMsg ) ;
except
Application.HandleException(nil);
end;
[]´s
Kléber Caneva
----- Original Message -----
From: "Maciel Soncini Bueno" <maciel em 2msolutions.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Tuesday, April 25, 2006 5:51 PM
Subject: [firebase-br] Foreign Key
Pessoal,
Tenho no meu banco de dados diversas Foregin Key.
No meus forms quando violo essas foregin keys por exemplo, numa rotina de
exclusão, o sistema aparentemente exclui ou seja não retorna nenhuma
mensagem ao usuário.
Quando retornamos ao FORM, o registro continua lá, como realmente deve
ocorrer.
O que me é estranho, é o fato da aplicação não retornar erro.
O que devo fazer para a aplicação retorne a mensagem de erro do banco, ou
para que eu possa retornar alguma mensagem para o usuário?
Utilizo DELPHI 7 e DBEXPRESS.
Maciel
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.4.5/322 - Release Date: 22/04/2006
______________________________________________
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,1145998332.654677.26421.morondava.terra.com.br,3835,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 25/04/2006 / Versão:
4.4.00/4748
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista