Ricardo tem razão, se estiver trabalhando com ClientDataSet pode utilizar o
evento OnReconcileError para tratar seu erro inclusive de forma
personalizada.. porém em caso de erro o seu dataset não irá fazer o apply no
banco, executará o post mas não salvará devido ao erro você pode inclusive
colocar algo do tipo :

try
MeuDataSet.Post;
MeuDataSet.ApplyUpdates(0);
except
MeuDataSet.Edit;
end;

Dai em caso de erro seu dataset estará em edição para o tratamento do erro
!!!

Abraços,
Daniel

2009/2/4 Ricardo César Cardoso <ricardo_engs...@yahoo.com.br>

>   Ah... tem um _método_ (e não comando) que pode fazer isso sim.
>
> Se você estive trabalhando com ClientDataSet, vc chama CancelUpdates (se
> quiser cancelar todos os registros alterados pendentes no cache) ou Cancel,
> que cancela somente o último registro alterado pendente no cache.
>
> Ou você pode até usar o evento OnReconcileError.
>
> Veja na ajuda qual caso te atende melhor.
>
>
> []'s
> Ricardo.
>
> __________________________________________________________
>
> "Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!"
>
> --- Em qua, 4/2/09, Bruno Lepesqueur 
> <brunolbra...@yahoo.com.br<brunolbrasil%40yahoo.com.br>>
> escreveu:
>
> Eu não estava querendo fazer esse tipo de restrição ao sair do dbEdit e nem
>
> criando ela no botão gravar (bitbtn1).
>
> Oq eu gostaria mesmo de saber é se existe no delphi algum comando que
>
> cancelasse o post (a gravação da tabela) se algum campo não estiver
>
> preechido e estiver configurado como não nulo!
>
> Obrigado!
>
> -------Mensagem original---- ---
>
> De: Ricardo César Cardoso
>
> Data: 04/02/2009 11:35:50
>
> Para: delphi...@yahoogrup os.com.br
>
>
> Assunto: Re: [delphi-br] Erro qdo campo Null
>
> Na verdade esse código é que informa a restrição... o que vc quer é mostrar
>
> uma mensagem mais "amigável" para o seu usuário, não é?
>
> Um exemplo super-hiper- mega-simplista e não muito recomendável seria fazer
>
> essa consistência no evento OnExit desse teu dbEdit, como abaixo:
>
> [code]
>
> TForm1.dbEdit1Exit( // ... conteúdo omitido );
>
> Begin
>
> if (Length(Trim( dbEdit1.Text) ) = 0 ) // vejo se o campo está vazio.
>
> ShowMessage( "O campo não pode ser nulo!");
>
> End;
>
> [/code]
>
> Como já escrevi anteriormente, essa é a maneira mais simples e acredito que
>
> não seja a mais recomendada de se fazer. Mas já é uma luz no final do
> túnel.
>
> Como estou sem o Delphi pra testar, improvisei de cabeça o que faria (por
>
> isso digo que esta não é a melhor solução ou a mais indicada)
>
> []'s
>
> Ricardo.
>
> ____________ _________ _________ _________ _________ _________ _
>
> "Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante! "
>
> --- Em qua, 4/2/09, Bruno Lepesqueur <brunolbrasil@ yahoo.com. br>
> escreveu:
>
> Bom dia pessoal!
>
> Eu tenho no banco de dados um campo que não pode receber null. O problema é
>
> que na aplicação do delphi qdo eu não digito nada, ou seja, deixo o dbEdit1
>
> text (que faz referência à esse campo que não pode aceitar null) em branco
> o
>
> sistema dá uma msg de erro informando que o campo não pode ser nulo.
>
> Existe algum código que informe uma msg para o usuário dizendo que o campo
>
> não pode ser nulo para não aparecer esse erro?
>
> Obrigado!
>
>
>
>
>
>
>
>
>
>
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Abraços,

Daniel.

"Sempre que a vida lhe apresentar um desafio, tenha certeza que junto dele
está a solução",


[As partes desta mensagem que não continham texto foram removidas]

Responder a