[firebase-br] Re: Campo Date permitindo nulo não grava nulo

Luiz Henrique Severo d Oliveira lhsevero em rpgsolucoes.com.br
Ter Mar 29 13:48:44 -03 2005


Eduardo,

Obrigado pela explicação. Mas continuo com um problema.

A instrução que uso é a seguinte:
if MaskEditDtTerminoPrev.Text <> '' then
  MDODataSetProjetos.QInsert.Params.ByName('DT_TERMINO_PREVISTO_PROJETO').AsDate :=
    StrToDate(MaskEditDtTerminoPrev.EditText);

O que eu estava pensando em fazer era colocar um else e aí ficaria assim:
if MaskEditDtTerminoPrev.Text <> '' then
  MDODataSetProjetos.QInsert.Params.ByName('DT_TERMINO_PREVISTO_PROJETO').AsDate :=
    StrToDate(MaskEditDtTerminoPrev.EditText)
else
  MDODataSetProjetos.QInsert.Params.ByName('DT_TERMINO_PREVISTO_PROJETO').Clear;

Só que para a propriedade QInsert do componente MDODataset não existe o método Clear.
Alguem que utiliza a MDO sabe se tem equivalente do método clear? Ou alguma versão mais nova da MDO (eu utilizo a 0.8.8 baixada do site, sem nenhum update) já implementa esse método? Ou tem alguma outra maneira de fazer?


Obrigado
Luiz Henrique Severo d Oliveira
RPG Soluçoes
www.rpgsolucoes.com.br

> ------------------------------
> 
> Message: 22
> Date: Tue, 29 Mar 2005 11:44:49 -0300
> From: eduardo <eduardo em icontroller.com.br>
> Subject: Re: [firebase-br] Campo Date permitindo nulo não grava nulo
> To: lista em firebase.com.br
> Message-ID: <d2bpj5$pk9$1 em sea.gmane.org>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Quem está mandando este valor para o FB é o Delphi (você através dele)
> Para ter certeza que ele está mandando certo vc tem que testar
> (hipoteticamente)
> if valordata=0 then
> 	... set campo_data=NULL ...
> else
> 	... set campo_data=formatdatetime('MM/DD/YYYY', meuvalordata)
> 
> o problema é que formatdatetime('MM/DD/YYYY', meuvalordata=0) não 
> resulta NULL e sim a data inicial do FB (essa data maluca que vc está 
> vendo), para resultar NULL você tem que passar explicitamente o NULL, 
> ou, se vc estiver usando parametros, passar:
> 
> params[n].datatype := ftDateTime
> params[n].Clear
> 





Mais detalhes sobre a lista de discussão lista