Rotina de Tratamento de Erro em Bancode Dados

Delphi

11/04/2003

fonte de Dados: www.prg.com.br

Colaboração de Robson

Tratando erros no banco de dados
**********************************


procedure AppException(Sender: TObject; E: Exception);
...
implementation
...
procedure TChamado.AppException(Sender: TObject; E: Exception);
var j: Integer;
Msg: String;
begin
Warning1.Hide;
if E is EDBEngineError then
begin
with EDBEngineError(E), Errors[0] do
if ErrorCode = 9734 then // Has Details
ShowMessage(´Este registro não pode ser removido, outros arquivos precisam dele.´)
else
if ErrorCode = 9729 then //11756 then // Key Violation (o nro do codigo está errado)
ShowMessage(Format(´Ocorreu um erro no banco de dados: código ¬d.´, [ErrorCode]))
else
if ErrorCode = 11270 then // another .NET file
ShowMessage(´Diretório controlado por outro arquivo .NET, verifique configuração do Banco de Dados.´)
else
if ErrorCode = 9733 then // Master record missing
ShowMessage(´Registro Master não encontrado.´)
else
if ErrorCode = 9734 then // Master has details
ShowMessage(´Este registro não pode ser removido, ele está sendo usado pelo Fireman.´)
else
if ErrorCode = 8708 then // Record/Key deleted
ShowMessage(´Este registro foi removido por outro Operador.´)
else
if ErrorCode = 10241 then // alredy in use - // Copy usado para pegar o nome do usuário
with Errors[2] do
ShowMessage(Format(´Este registro está sendo usado pelo Operador: ´´¬s´´.´, [Copy(Message, 7, 20)]))
else // Outros
begin
for j := 0 to ErrorCount -1 do // Loop para pegar todas as linhas das msg de erro
with Errors[j] do
Msg := Msg + Message + #13;
ShowMessage(Format(´EDBEngineError ¬d: ¬s´, [ErrorCode, Msg]))
end
end
else
if E is EConvertError then
begin
with EConvertError(E) do
if Pos(´date and time´, Message) > 0 then
ShowMessage(´Informe uma data e hora válida.´)
else
if Pos(´is not a valid time´, Message) > 0 then
ShowMessage(´Informe uma hora válida.´)
else
if Pos(´is not a valid date´, Message) > 0 then
ShowMessage(´Informe uma data válida.´)
else
Application.ShowException(E);
end
else
Application.ShowException(E);
end; // AppException

Pra ti essa Rafela !

:twisted: Julien´Murray´ :twisted:


Julienmurray

Julienmurray

Curtidas 0
POSTAR