Duvida sobrte tratamento de erro.
Fato:
* 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.
* 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
Curtidas 0
Respostas
Fx|hand
22/01/2006
TRY
{ROTINA Q APAGA O REGISTRO !}
EXCEPT
ShowMessage(´Ocorreu algum erro !´)
END;GOSTEI 0
Edilcimar
22/01/2006
pegue a rotina do fxhand
e acrescente um rollback após o showmessage, que é para reverter a situação
TRY
{ROTINA Q APAGA O REGISTRO !}
EXCEPT
ShowMessage(´Ocorreu algum erro !´)
END;
e acrescente um rollback após o showmessage, que é para reverter a situação
GOSTEI 0
Aroldo Zanela
22/01/2006
Fato:
* 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.
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
Ullrich
22/01/2006
e acrescente um rollback após o showmessage, que é para reverter a situação
Como faço isso?
Como faço isso?
GOSTEI 0
Tdqr
22/01/2006
´compoente que faz a ligação ao banco de dados´.Roolback
GOSTEI 0
Ullrich
22/01/2006
procedure TfrmEstado.btbtnExcluirClick(Sender: TObject);
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?
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