[firebase-br] Exceptions + ClientDataSet

Magno System magno em speet.com.br
Sex Nov 14 17:22:10 -03 2008


procedure TDatacliente.TBPacientesReconcileError(
  DataSet: TCustomClientDataSet; E: EReconcileError;
  UpdateKind: TUpdateKind; var Action: TReconcileAction);
begin
   If UpdateKind = ukInsert then
   Begin
      Messagedlg('Erro ao inserir o registro!!! ' + #13#10 + 'Anote a 
mensagem abaixo e a envie para a Magno System:' + #13#10 + E.Message, 
mterror, [mbok], 0);
      DataSet.Edit;
      Action := racancel;
   End
   Else If UpdateKind = ukModify then
   Begin
      Messagedlg('Erro ao editar o registro!!! ' + #13#10 + 'Anote a 
mensagem abaixo e a envie para a Magno System:' + #13#10 + E.Message, 
mterror, [mbok], 0);
      DataSet.Edit;
      Action := racancel;
   End
   Else If UpdateKind = ukDelete then
   Begin
      Messagedlg('Erro ao apagar o registro!!! ' + #13#10 + 'Anote a 
mensagem abaixo e a envie para a Magno System:' + #13#10 + E.Message, 
mterror, [mbok], 0);
      Action := raCancel;
   End
   Else
      Action := raRefresh;
end;procedure TDatacliente.TBPacientesReconcileError(
  DataSet: TCustomClientDataSet; E: EReconcileError;
  UpdateKind: TUpdateKind; var Action: TReconcileAction);
begin
   If UpdateKind = ukInsert then
   Begin
      Messagedlg('Erro ao inserir o registro!!! ' + #13#10 + 'Anote a 
mensagem abaixo e a envie para a Magno System:' + #13#10 + E.Message, 
mterror, [mbok], 0);
      DataSet.Edit;
      Action := racancel;
   End
   Else If UpdateKind = ukModify then
   Begin
      Messagedlg('Erro ao editar o registro!!! ' + #13#10 + 'Anote a 
mensagem abaixo e a envie para a Magno System:' + #13#10 + E.Message, 
mterror, [mbok], 0);
      DataSet.Edit;
      Action := racancel;
   End
   Else If UpdateKind = ukDelete then
   Begin
      Messagedlg('Erro ao apagar o registro!!! ' + #13#10 + 'Anote a 
mensagem abaixo e a envie para a Magno System:' + #13#10 + E.Message, 
mterror, [mbok], 0);
      Action := raCancel;
   End
   Else
      Action := raRefresh;
end;


----- Original Message ----- 
From: "Valdir Marcos" <valdir.marcos em ig.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, November 14, 2008 4:17 PM
Subject: Re: [firebase-br] Exceptions + ClientDataSet


Boa tarde.

Mostre sua rotina para indicarmos uma adaptação.

Um abraço,

Valdir


Em 14/11/08, Fabrício Fadel Kammer<ffkammer em conchalnet.com.br> escreveu:
> Obrigado pelo retorno Magno,
>
>  Essa é a única forma?  Isso vai complicar minha vida, visto o número de
> clientdataset que meu sistema tem.
>
>  Até então, quanto usando TIBDataSet eu tinha um rotina central de
> tratamento de erros que formatava as mensagens para o usuário. Se fosse
> possível gostaria de continuar utilizando essa rotina centralizada e não
> tratar os erros a cada dataset.
>
>  Abraços
>
>  Magno System escreveu:
>
>
> > Você deve tratar os erros no evento ONRECONCILEERROR do CLIENTDATASET.
> >
> >
> > ----- Original Message ----- From: "Fabrício Fadel Kammer"
> <ffkammer em conchalnet.com.br>
> > To: "Lista Firebase" <lista em firebase.com.br>
> > Sent: Friday, November 14, 2008 1:00 PM
> > Subject: [firebase-br] Exceptions + ClientDataSet
> >
> >
> > Boa tarde Pessoal,
> >
> > Quando dou um ClientDataSet.ApplyUpdates(0) e  banco gera um exception
> > por qualquer motivo (ex. um campo not null com valor nulo) a mensagem de
> > erro não é exibida para meu usuário.
> >
> > Antes de usar ClientDataSet eu usava IBDataSet e em casos como esse a
> > mensagem era exibida normalmente.
> >
> > Alguém sabe como faço para que as exceções sejam exibidas para o
> > operador do sistema sem ter que criar condições individualmente para
> > cada ClientDataSet?
> >
> > Abraços
> >
> > Fabrício
> >
> > ______________________________________________
> > 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
> >
> > ______________________________________________
> > 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
> >
> >
>
>
>  ______________________________________________
>  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
>

______________________________________________
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