como tratar erros de banco
Pessoal,
Como posso tratar erros de banco de dados usando ADO ?
Por exemplo, ao invés de uma tela do banco com erro de PK ou FK quero exibir uma mensagem inteligível ao usuário.
Como posso tratar erros de banco de dados usando ADO ?
Por exemplo, ao invés de uma tela do banco com erro de PK ou FK quero exibir uma mensagem inteligível ao usuário.
Rodrigo Costa
Curtidas 0
Respostas
Marcio.theis
26/09/2003
você pode fazer o seguinte: crie uma função como por exemplor
procedure Tfrm.Erro(Sender: TObject; E: Exception);
begin
beep;
if E is EDBEngineError then
MostrarErro (EDBEngineError (E))
else
ShowMessage (E.Message);
end;
crie um formulário onde você pode colocar um MEMO para colocar a mensagem para o usuário, ex:
procedure Tfrm.Mostrar(E: EDBEngineError);
var
I: Integer;
begin
with E.Errors[0] do
begin
//exemplo
if (Category = 38) and (ErrorCode = 9733) and (SubCode=5) then
//faça o tratamento do erro aqui
//erro de chave extrangeira
no seu memo vc pode a partir disso pasar a mensagem e ir adcionando linhas e p n° de vezes que esse erro ocorreu.
Não se esqueça no OnCreate do form principal colocar
Application.OnException:=ErroCad;
procedure Tfrm.Erro(Sender: TObject; E: Exception);
begin
beep;
if E is EDBEngineError then
MostrarErro (EDBEngineError (E))
else
ShowMessage (E.Message);
end;
crie um formulário onde você pode colocar um MEMO para colocar a mensagem para o usuário, ex:
procedure Tfrm.Mostrar(E: EDBEngineError);
var
I: Integer;
begin
with E.Errors[0] do
begin
//exemplo
if (Category = 38) and (ErrorCode = 9733) and (SubCode=5) then
//faça o tratamento do erro aqui
//erro de chave extrangeira
no seu memo vc pode a partir disso pasar a mensagem e ir adcionando linhas e p n° de vezes que esse erro ocorreu.
Não se esqueça no OnCreate do form principal colocar
Application.OnException:=ErroCad;
GOSTEI 0