[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