GARANTIR DESCONTO

Fórum como usar os exceptions do firebird #52853

19/09/2005

0

Criei os exceptions no FB, agora como eu uso eles no delphi amigos? podem postar o codigo por favor?

Outra coisa, alguem tem UDF pra CNPJ e CPF?

obrigado!


Njuniorba

Njuniorba

Responder

Posts

20/09/2005

Marcelo.l

Olá,


Vc deve ter alguma trigger do tipo :

CREATE TRIGGER CLIENTE_BI FOR CLIENTE
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN  
      if (exists
      (select RG from CLIENTE
      where (RG = NEW.RG))
      ) then exception RG_CLIENTE_JA_EXISTE;
END


agora no evento ´OnReconcileError´ do ClientDataset faça algo do tipo :

procedure TClienteFrm.CDS_ClienteReconcileError(
   DataSet: TCustomClientDataSet; E: EReconcileError;
   UpdateKind: TUpdateKind; var Action: TReconcileAction);
const
   ErRG_Exist = ´RG_CLIENTE_JA_EXISTE´;
   RG_Mensagem = ´O R.G. de número "¬s" já está cadastrado para outro cliente!!!´;
begin
   if pos(ErRG_Exist, E.message) > 0 then
   begin
      NewMessageDlg(Format(RG_Mensagem, [CDS_ClienteRG.AsString]), mtInformation, [mbOk], 0);
      Action := raAbort;
   end;
end;



Ao ocorrer o exception no servidor, este irá retornar ao dataset.


Quanto a validação de CNPJ E CPF sugiro que faça no lado cliente para evitar trafego desnecessário na rede.
Assim caso o usuario desista de gravar um registro com CNPJ ou CPF inválido nada terá passado pela rede e o servidor terá um trabalho a menos para fazer.


T+


Responder

Gostei + 0

20/09/2005

Afarias

|Criei os exceptions no FB, agora como eu uso eles no delphi amigos?
|podem postar o codigo por favor?

try
  {execute algum stored proc}
except
  { trate a exceção q vem do fb }
end;



T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar