Como faço para colocar em um campo data um valor NULL?

Delphi

09/03/2004

Estou com um problema sério: tenho um campo data onde não é obrigatório entrar com a data (pode ficar vazio) todavia o programa está lançando a data 31/12/1899 quando eu tento colocar em branco...
Também gostaria de saber isso caso eu queira tirar o valor desta data e deixar em branco...

Obrigado


Jonnymarques

Jonnymarques

Curtidas 0

Respostas

Ldsirene

Ldsirene

09/03/2004

Ola jonny, eu fiz assim e deu certo, creio que para um campo tipo date também dara. tenho uma query com codigo sql e via programação estou passando os parametros, da uma olhada e ve se da pra entender:

with qryDadoFinal do
begin
Close;
ParamByName(´matricula´).AsInteger := qryMatrizMatricula.AsInteger;
ParamByName(´datas´).AsString := FormatDateTime(´yyyy/mm/dd´, qrymatrizdatas.AsDateTime);
ParamByName(´Entrou´).AsString := qryMatrizEntrada.AsString;
ParamByName(´Saiu´).AsString := qryMatrizSaida.AsString;
ParamByName(´Entrou_2´).Value := NULL;
ParamByName(´Saiu_2´).Value := NULL;
ParamByName(´Credito´).AsString := ´NAO´;
ParamByName(´Debito´).AsString := TimeToStr(valor);// valor devido do dia
Prepare;
ExecSQL;
end;


GOSTEI 0
Gandalf.nho

Gandalf.nho

09/03/2004

Use o método CLEAR no campo.


GOSTEI 0
Marco Salles

Marco Salles

09/03/2004

tenho um campo data onde não é obrigatório entrar com a data (pode ficar vazio) todavia o programa está lançando a data 31/12/1899 quando eu [color=red:3899090882]tento colocar em branco[/color:3899090882]...


Outra Opção:
Na Hora De Gravar, Não Tente-o Colocar Em Branco....Deixe o Campo Do Jeito Que Ele Esta...Se Ele Estar Vazio(Nenhum Valor De Data Informado) O Delphi Grava Normalmente....

P:S Esta Data, Que a Princípio(31/12/1899) Pode Parecer Absurda ,
Surge Porque o Tipo TDATETIME é Na Verdade Um Numero De Ponto
Flutuante...E A Data 31/12/1899 Signifinifica o Zero; A Data
01/01/1900 Siginifica o 1, A Data 02/01/1900 Siginifica o 2, Etc...
Para Somar Ou Subtrair Datas, é Muito Mais Fãcil Somar Ou Subtrair
Dias, Do Que Usando a Representação Dia/Mes/Ano...


GOSTEI 0
Jonnymarques

Jonnymarques

09/03/2004

Como uso ?
Use o método CLEAR no campo.



GOSTEI 0
Gandalf.nho

Gandalf.nho

09/03/2004

É um método dos objetos TField, basta usar direto no field data


GOSTEI 0
POSTAR