Como tratar integridade do banco !
19/08/2008
0
Olá pessoal, estou com dificuldades em tratar a integridade do banco, no meu caso Firebird 1.5 + Delphi 7 + IBX, o que está acontecendo é o seguinte quando vou deletar um produto cadastrado o programa gera um erro de integridade pois este produto já está em outra tabela(Item Venda) , gostaria de saber onde e como posso tratar esse erro para que retorne somente uma mensagem alertando que esse produto não pode ser excluído !
Obrigado
Afterdev
Posts
19/08/2008
Paulo
19/08/2008
Afterdev
procedure TformPadrao1.ApplicationEvents1Exception(Sender: TObject; E: Exception); begin if E is EIBInterBaseError then begin case EIBInterBaseError(E).IBErrorCode of -530: {Violação de chave estrangeira, 335544466} Application.MessageBox(PChar(´Não é possível excluir este registro.´), ´Atenção !!!´, MB_ICONEXCLAMATION); -803: {Violação de chave primária, 335544665} Application.MessageBox(PChar(´Registro já cadastrado.´), ´Atenção !!!´, MB_ICONEXCLAMATION); else Application.MessageBox(PChar(E.ClassName + ´ - ´ + E.Message), ´Atenção !!!´, MB_ICONEXCLAMATION); end; end; end;
preciso de ajuda............
20/08/2008
Afterdev
procedure TformPadrao1.ApplicationEvents1Exception(Sender: TObject; E: Exception); begin if ( E is EIBInterBaseError ) then begin if ( EIBInterBaseError(E).IBErrorCode = 335544466 ) then Application.MessageBox( PChar( ´Não é possível excluir este registro, pois existem outras informações no sistema que dependem do mesmo.´ ), ´Atenção !!!´, MB_ICONEXCLAMATION ) else if ( EIBInterBaseError(E).IBErrorCode = 335544375 ) then Application.MessageBox( PChar( ´O servidor de banco de dados não está aberto.´ + #13 + ´Verifique e tente novamente.´ ), ´Atenção !!!´, MB_ICONEXCLAMATION ) else if ( EIBInterBaseError(E).IBErrorCode = 335544344 ) then Application.MessageBox( PChar( ´Não foi possível encontrar o banco de dados.´ ), ´Atenção !!!´, MB_ICONEXCLAMATION ) else Application.MessageBox( PChar( E.ClassName + ´ - ´ + E.Message ), ´Atenção !!!´, MB_ICONEXCLAMATION ); end; end;
valeu.......
Clique aqui para fazer login e interagir na Comunidade :)