Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в FoxPro'шную базу записать пусту дату ? [D7, dBase, FoxPro]


Jakudza ©   (2007-05-14 10:18:00) 

Записываю пусту дату, а при просмотре базы показывает дату "30.12.1899", так как правильно записать дату, что бы она была пустой?


Desdechado   (2007-05-14 17:15:00) [1]

ANB ©   (14.05.07 17:01) [13]
Аналогично. Но к NULL это отношения не имеет.


ANB   (2007-05-14 17:01:00) [2]


> Я в символьное поле записывал даже непечатные символы, и
> это уже не текст.

А клипперу, например, фиолетово - печатные или нет. Проблем не вызывает. Даже chr(0). Я, например, для экономии места, ID сделал текстовыми и хранил числа в двоичном виде.


Desdechado   (2007-05-14 15:17:00) [3]

ANB ©   (14.05.07 14:21) [11]
Я не физический формат описываю, а смысловой.

> В ДБФ физически все поля - текстовые
Ничуть. Я в символьное поле записывал даже непечатные символы, и это уже не текст. Просто способ хранения - фиксированный размер, и его нужно было чем-то заполнять.


ANB   (2007-05-14 14:21:00) [4]


> Если в поле ничего не писать, то там и было NULL

Там было не нулл, а пробелы. В ДБФ физически все поля - текстовые


Desdechado   (2007-05-14 13:51:00) [5]

> в ДБФ понятия нулл еще не было.
Понятия не было, значение было. Если в поле ничего не писать, то там и было NULL, а при его считывании было (не для всех типов) некий ноль/пустая строка.


ANB   (2007-05-14 12:30:00) [6]

Некоторые драйвера фокса игнорят пустую дату в таблице, заменяя ее нулем, т.к. в ДБФ понятия нулл еще не было.


Jakudza   (2007-05-14 11:14:00) [7]

В том то и дело что в таблице 2 дате не присваивается ни какого значения, но в при просмотре всеравно показывает дату 12.30.1899


> Desdechado

Fields[5].Clear - помогло, спасибо


ЮЮ   (2007-05-14 11:10:00) [8]

> Fields[5].Clear

Так это же надо ещё попасть на нужную запись :)
Тогда уж лучше
UPDATE Table SET DataField = NULL WHERE DataField <= 0
И в дальнейшем не допускать попадание 0-ей. Правдв как они там оказались автор умалчивает.


Desdechado   (2007-05-14 11:03:00) [9]

Fields[5].Clear


ЮЮ   (2007-05-14 10:56:00) [10]

>т.е. дата остается пустой в таблице 2, ни какое значение ей не присваивается

Тогда в чем же проблема, если "дата остается пустой в таблице 2"?

>если дата в таблице 1 не пустая, то дата в таблице 2 = дате в таблице 1, и все
Дополни
если дата в таблице 1 не пустая или равна 0, то дата в таблице 2 = дате в таблице 1, и все


Jakudza   (2007-05-14 10:51:00) [11]

У меня 2 таблицы, 1 - парадокс, 2 - фокспро
если дата в таблице 1 не пустая, то дата в таблице 2 = дате в таблице 1, и все
т.е. дата остается пустой в таблице 2, ни какое значение ей не присваивается


Jakudza   (2007-05-14 10:41:00) [12]

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, а 0 это дата 12.30.1899, в FoxPro, если дата = {}, то поле пустое, вот как в делфи сделать что-то подобное?


ЮЮ   (2007-05-14 10:41:00) [13]

>Записываю пусту дату

Покажи как? Ибо записываешь 0, а не пустую.


Jan1   (2007-05-14 10:32:00) [14]


> Записываю пусту дату

0 что-ли? 0 <> Null


Наверх

Титульная страница Поиск, карта сайта Написать письмо