[firebase-br] Tratando Exception SPs

João Paulo jpcarvalhoi2 em gmail.com
Seg Jun 23 08:25:26 -03 2008


...
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



Mais detalhes sobre a lista de discussão lista