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]