como tratar erros de banco

Delphi

26/09/2003

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.


Rodrigo Costa

Rodrigo Costa

Curtidas 0

Respostas

Marcio.theis

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;


GOSTEI 0
POSTAR