Форум - Ответы     (  К темам )
 ?  Татьяна: Работа с DateTime (12-05-2003 00:57:18)
Мне нужно в БД сохранять введенную дату, если ее не редактировали, то я присваиваю значению даты - 0.
Но почему то в базу записывается - 30.12.99.
Как разрешить?
 Георгий (12-05-2003 01:20:13)
в типе данных TDateTime хранится относительное время:
Following are some examples of TDateTime values and their corresponding dates and times:

0 12/30/1899 12:00 am
2.75 1/1/1900 6:00 pm
-1.25 12/29/1899 6:00 am
35065 1/1/1996 12:00 am

так что 0 это действительно 30.12.99 (30.12.1899)

По поводу хранения псевдо данных:
если СУБД позволяет, то не проше ли не хранить вообще каких бы то нибыло значений в этом поле - NULL
а если пустые поля не позволяются, то почему туда не записать текущую дату Now()?
 Павел (13-05-2003 11:13:49)
Присваивайте значению даты не 0, а NULL
пишите не
Table1->Append();
Table1->FieldByName("myDate")->Value = "28.12.2003";
Table1->Post();

a Table1->Append();
Table1->FieldByName("myDate")->Clear();
Table1->Post();

и тогда у Вас в этом поле будет NULL, как и сказал Георгий,
если у Вас в этом поле допускается ввод NULL


support@cbuilder.ru