Fórum Duvida sobrte tratamento de erro. #310225
22/01/2006
0
* Quando apago algum item de uma tabela que esta relacionada a outra tabela, ocorre um erro, o programa termina.
Duvida:
Como faço para que o programa não termine, e exima uma mensagem sobre o erro.
Ullrich
Curtir tópico
+ 0Posts
22/01/2006
Fx|hand
TRY
{ROTINA Q APAGA O REGISTRO !}
EXCEPT
ShowMessage(´Ocorreu algum erro !´)
END;Gostei + 0
22/01/2006
Edilcimar
e acrescente um rollback após o showmessage, que é para reverter a situação
Gostei + 0
22/01/2006
Aroldo Zanela
Colega,
Você pode configurar o banco para cascatear a exclusão, ou seja, se mandar deletar um registro PAI, o banco remove os FILHOS antes para ninguem ficar órfão. Você também pode padronizar em seus algoritmos esta forma de exclusão, ou seja, antes de excluir um registro mestre, remova os detalhes. Se não for este o caso, então as sugestões acima se complementam.
Gostei + 0
23/01/2006
Ullrich
Como faço isso?
Gostei + 0
24/01/2006
Tdqr
Gostei + 0
24/01/2006
Ullrich
begin
try
Modulo.setEstado.Delete; <-- Trava nesta linha . . .
except
MessageDlg(´Insira valores numéricos corretamente e sem espaco depois dos numeros´, mtWarning,[mbok],0);
Modulo.IBTransaction.Rollback;
end;
end;
O programa continua travando, o procedimento é esse, quando o cursor chega na posicão indicada, o programa trava, como faço para não travar?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)