[firebase-br] Campo Data

Rubem Nascimento da Rocha djpardalrocha em hotmail.com
Ter Mar 20 07:54:08 -03 2007


O FireBird não coloca essa data, mas o Delphi mostra essa data maluca caso 
um campo do tipo data esteja sem valor algum (ou seja, NULL). A data pode 
ficar nula sim! Na sua aplicação faça

SeuDataSet.FieldByName('nome_campo_data').Clear

e na exibição do campo, use o evento OnGetText do campo data para checar se 
ele está NULL para, assim, mostrar a data vazia como tem que ser, assim:

procedure TDataModule1.DataSet1CampoDataGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
  if DisplayText then
    if Sender.IsNull then
      Text := '  /  /    '
    else
      Text := Sender.AsString;
end;

Resumindo, o valor do campo pode já estar NULL em sua tabela, o que vc tem 
que fazer é apenas tratá-lo na sua aplicação cliente. Experiência própria. 
Se quiser saber mais sobre essa data maluca, pode consultar o próprio help 
do Windows pra ter mais informações sobre o tipo de dados TDateTime.

Sds.

>From: Creusa Lobo Silva <lobosilva em PREFEITURA.SP.GOV.BR>
>Reply-To: FireBase <lista em firebase.com.br>
>To: "Lista (E-mail)" <lista em firebase.com.br>
>Subject: [firebase-br] Campo Data
>Date: Tue, 20 Mar 2007 07:03:41 -0300
>
>Bom dia Lista!
>
>Sempre que um registro é adicionado sem data o Firebird coloca a data de
>01.01.1889!!!! Porque? A data não pode ficar nula?? No delphi dá um erro
>quando o campo está em branco, mas ele grava e com esta data. Eu queria ter
>datas em branco no banco...o Firebird não aceita??  Na definição da tabela
>tem a opção NOT NULL que está desativada...mas mesmo assim não aceita e
>quando entra é esta data doida.
>Alguém pode me ajudar??
>Desde já agradeço...
>
>Creusa
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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

_________________________________________________________________
MSN Messenger: converse com os seus amigos online. 
http://messenger.msn.com.br





Mais detalhes sobre a lista de discussão lista