Tratamento de Erros Usando Delphi X ADO

Delphi

08/09/2003

Bom dia,

Como faço para tratar erros de Banco de Dados como ´registro duplicado´, ´exclusão do registro exige exclusão de registro filho´ etc... usando Delphi com ADO para acesso a dados???

grato
Moisés


Outl@w

Outl@w

Curtidas 0

Respostas

Outl@w

Outl@w

08/09/2003

Boa tarde,

A dúvida persiste...


GOSTEI 0
Complex

Complex

08/09/2003

o que eu posso te explicar para nao dar esses erros é

Try 
 Table1.Edit; // ou insert
 // faça o que quiser 
 Table1.Post;
Except 
 Table1.Cancel;
end;


se der algo errado.. como ele tentar duplicar a chave primária etc..
ele da cancel na tabela.. ai nao acontece esses erros[/code]


GOSTEI 0
Outl@w

Outl@w

08/09/2003

Eu acho que acabei esquecendo de mencionar que estou usando um TADOQuery e estou fazendo as operações de gravação e atualização através de SQL... Como faço então?


GOSTEI 0
Outl@w

Outl@w

08/09/2003

A dúvida persiste...


GOSTEI 0
Outl@w

Outl@w

08/09/2003

Será que é tão complicado assim?


GOSTEI 0
Quadrado

Quadrado

08/09/2003

Dependendo do banco de dados que voce esta usando, voce pose utilizar o conceito de Transações:

Inicia uma transação
try
Tenta alterar banco de dados
Conclui a transação
except
Desfaz tudo que foi feito
end;

No Acces é possível.

Boa sorte.
Quadrado.


GOSTEI 0
Outl@w

Outl@w

08/09/2003

Como estou utilizando ADO e ODBC, quando ocorre o erro, por exemplo uma violação da chave eu recebo uma mensagem de erro do ODBC...
Dá para tratar o erro utilizando o código do erro como se faz quando se utiliza a BDE?????


GOSTEI 0
Aristodemo

Aristodemo

08/09/2003

Verifique os Eventos do componente!

(No ADOQuery por ex) DeleteError,EditError,PostError...

Abraços...


GOSTEI 0
Outl@w

Outl@w

08/09/2003

Até aí tudo bem, mas a dúvida é : no evento, por exemplo OnPostError, como capturar a exceção do ODBC e Customizar a mensagem de erro por exemplo...


GOSTEI 0
Outl@w

Outl@w

08/09/2003

A luta continua companheiros....
Alguém se habilita???


GOSTEI 0
POSTAR