[firebase-br] Tratando Exception SPs
Mauricio
mauricio.shirley em gmail.com
Seg Jun 23 09:16:29 -03 2008
declare na sua uses o DB.....e use o EDatabaseError para o tratamento
try
ibtable1.Post ;
except
on E :EDatabaseError do
begin
MessageDlg('Atenção, Erro na Gravação dos Registros !!'+'
'+e.message,mtError,[mbOk],1);
exit;
end;
----- Original Message -----
From: "João Paulo" <jpcarvalhoi2 em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, June 23, 2008 8:25 AM
Subject: Re: [firebase-br] Tratando Exception SPs
...
except
on E:Exception do
begin
frmDm.Rollback;
if pos('String gerada na sua Exception',E.message) > 0 then
showmessage('Chave Duplicada');
end;
end;
...
On Sun, Jun 22, 2008 at 8:43 PM, Anderson Miranda Barrozo <
andersonpaduarj em gmail.com> wrote:
> Boa noite,
>
> Utilizo o FB 2.0 com DBExpress e Delphi 2006. Abaixo coloquei 2 codigos. O
> primeiro são os comandos que executo a
> SP no delphi utilizando o componente SQLStoredProc e o outro é a SP que
> uso
> para incluir no BD. Na SP verifico o SQLCODE
> e gero um Exception.
>
> A Exception está sendo gerada somente quando estou debugando no Delphi:
> Project SISPedra.exe raised exception class EDatabaseErros with message
> 'Database Server Erros: exception 1
> CHAVE_DUPLICADA
>
>
> O que deveria fazer para ao gerar a Exception na SP fosse retornado a
> menssagem para a aplicação.
>
>
> Código no evento BeforePost para executar a SP
> ----------------------------------------------------------------------
> if cdsMala.State = dsInsert then
> begin
> frmDm.Start;
> try
> with spMala_I do
> begin
> Params[0].AsString := cdsMalaCODMALA.AsString;
> Params[1].AsString := cdsMalaDESCMALA.AsString;
> ExecProc;
> frmDm.Comit;
> end;
> except
> frmDm.Rollback;
> end;
> end;
>
>
> CREATE PROCEDURE TBCODMALA_INS (
> codmala varchar(1),
> descmala varchar(20))
> as
> begin
> insert into tbcodmala (
> codmala,
> descmala)
> values (
> :codmala,
> :descmala);
> when sqlcode -803 do
> begin
> Exception chave_duplicada;
> End
> end
>
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> AS Informática
> Anderson Miranda Barrozo
> (22) 8115-8761
> MSN: andersonpaduarj em hotmail.com
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
--
João Paulo de Carvalho Ignácio
Analista Desenvovedor
T1Brasil - Serviços de Informatica
Inspell Tecnologia
(32)9973-1367
jpcarvalhoi2 em gmail.com
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista