![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в 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