[firebase-br] Gravando campos em branco (null)

Fagner Araujo fagaraujo em yahoo.com.br
Qui Jan 12 14:05:06 -03 2006


Luís,
      para forçar o Delphi a enviar um campo em branco para o banco você deverá:
      1 - se estiver utilizando cached update: se o campo não for editado  no form, ela ira com NULL para o banco, ou vc nos objetos UpdateSQL  desmarca o campo da lista de atualização.
      2 - Especifica o valor do campo para NULL, utilizando a propriedade  Value, isso fará qualquer mecanismo de acesso enviar um NULL para o  banco;
    
      Para deixar os campos em branco e não NULL no banco de dados você  deve força-los para as condições "VAZIAS", onde ela puder ser aplicada.
    
    Para checar o valor do campo e impedir sua alteração você poderá  utilizar o evento BeforePost do seu Dataset para checar o valor do  campo e impedir sua gravação. O código seria algo do tipo:
    
    procedure TSeuForm.QuerySeuDataSetBeforePost(Sender: TObject);
    begin
      if (QuerySeuDataSetCAMPO.AsString = '') then
        begin
           ShowMessage('Campo ainda não preenchido');
            Abort;
        end;
    
    // ou
    
      if (QuerySeuDataSet.FieldByName('CAMPO').AsString = '') then
        begin
           ShowMessage('Campo ainda não preenchido');
            Abort;
        end;
    
    // a utilização dos metodas As......... será de acordo com o tipo de  dados que o campo represente, ou você pode optar pela utilização da  versões Variants.
    Ai fica a seu cargo .....
    end;
    
    A terceira duvida que você explicou não entendi bem o q você queria envie ele mas detalhada que tentarei lhe ajudar.
    
    Atenciosamente,
      Fagner Araújo.

Luís Cosmo <jrcosmolui em gmail.com> escreveu:  Amigos da lista,


Estou desenvolvendo um sistema para controlar as tramitações dos documentos,
desde a saída até o seu retorno. O problema é que no meu form onde quero
fazer a movimentação não estou conseguindo gravar os campos, os quais são
referentes ao seu retorno...minhas dúvidas são: 1° Como faço pra gravar
alguns campos em branco do delphi para o meu banco, deixando estes para
preenchimento em futura atualização (retorno)?

2° Como eu faço pra que um registro já gravado, só possa ser movimentado
(gravado) novamente quando o campo EdDT_R (que deverá esta em branco),
esteja preenchido e que o usuário receba uma mensagem tipo "registro ainda
não retornou" ?

3° Como isso poderia ser feito no banco, através de SP ou Trigger e
como faria para executado no delphi?
(Vou dividir esse e-mail, pois não consegui mandar todo ele... em seguida o
código do botão gravar).

o iniciante agradece desde já
--
Luis JR
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



		
---------------------------------
 Yahoo! doce lar. Faça do Yahoo! sua homepage.


Mais detalhes sobre a lista de discussão lista