Fórum Mudar Mensagem de Erro #37452
18/07/2003
0
Como faço para tratar isso?
Gostaria que alguém desse um exemplo, pois já tentei usando exception no banco e no sistema mas não consegui.
Obrigado.
Marcelootone
Curtir tópico
+ 0Posts
18/07/2003
Afarias
Gostei + 0
18/07/2003
Marcelootone
mas como? quando? onde? no Delphi ou no Banco? o que eu vou testar?
essas são minhas dúvidas!!!
Gostei + 0
18/07/2003
Afarias
try
except
{tratamento de erro}
end;
|quando?
Quando vc precisar. Ex, quando for salvar um registro (em um POST por ex)
|onde? no Delphi ou no Banco?
Como assim?? No Interbase não tem TRY...EXCEPT
|o que eu vou testar?
Para saber o erro?? Depende do tipo de erro. Vc pode testar a mensagem (E.Message) ou, se o erro for EIBInterbaseError vc pode testar os códigos (SQLCode, ErrorCode)
|essas são minhas dúvidas!!!
Espero q isso ajude. Dê uma lida em algum material sobre tratamento de exceções no Delphi.
Abraço
Gostei + 0
19/07/2003
Marcelootone
O erro que estou tentando tratar é no evento Delete. Quando tento excluir um registro que faz referência a outro (Integridade Referêncial, Primary Key, Foreign Key) o Delphi me retorna uma mensagem de erro que creio eu sejá do Interbase.
Já tentei fazer o tratamento de try excepty no evento OnDeleteError do IBDataSet, mas não consegui, por isso disse que precisava de um exemplo.
Pode me ajudar?
Gostei + 0
19/07/2003
Afarias
|uma procedure dentro do banco.
Não, não existe tal comando no IB. Vc pode sim, criar uma exceção com uma mensagem de erro com o comando:
CREATE EXCEPTION nome_exceção ´mensagem de erro´;
e, gerar essa exceção numa trigger ou procedure com:
EXCEPTION nome_exceção;
É verdade q vc pode tratar um erro do banco no próprio banco (em StoredProcs ou Triggers), mas ai o comando é WHEN DO
Tá tudo na documentação, é só parar pra ler um pouco.
|O erro que estou tentando tratar é no evento Delete. Quando tento |excluir um registro que faz referência a outro (Integridade Referêncial, |Primary Key, Foreign Key) o Delphi me retorna uma mensagem de erro |que creio eu sejá do Interbase.
Vc tem certeza que leu pelo menos minha mensagem anterior?? Dê uma olhadina de novo...
.
.
.
viu?? lá tem:
´Quando vc precisar. Ex, quando for salvar um registro (em um POST por ex)´
é só trocar o POST pelo DELETE ok?!
try
MeuIBDataSet.Delete;
except
on EIBInterbaseError do
{tratamento de erros do IB}
end;
Espero q isso ajude.
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)