Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизNull значение в поле Number (DBF ) Найти похожие ветки
← →
TSubject (2012-03-13 09:39) [0]Здравствуйте. Как посадить значение Null в поле Number DBF файла?
Если в Оракле есть параметр "не принимать null" то в DBF я такого не нашел.
Если сажаю Null из Дельфи,то садится 0. Есть шаблонные файлы DBF, там есть такие же поля Number но уже с пустым значением. Но как это повторить?
← →
sniknik © (2012-03-13 09:47) [1]в какой версии? старый DBF это по большому счету форматированный текст... там нельзя null. можно только в движке "интерпретировать пустую строку как null". а с новыми ты скорее всего не сталкивался.
← →
TSubject (2012-03-13 09:55) [2]
> sniknik © (13.03.12 09:47) [1]
DBase IV. Если выгруженный файл из Дельфи (tblDBF.FieldByName("Size").Value := null;) например открыть с помощью DBFReader то он без проблем заменяет нули на пустое значение. FoxPro ругается, не добавляет Null в поле.
← →
sniknik © (2012-03-13 10:05) [3]> FoxPro ругается
матом?
вообще никаких проблем не возникло поставил нули
UPDATE test SET [SIZE] = 0
вернул пустые строки в файл
UPDATE test SET [SIZE] = Null
← →
Anatoly Podgoretsky © (2012-03-13 10:11) [4]
> Здравствуйте. Как посадить значение Null в поле Number DBF
> файла?
Что пробовал, как пробовал
← →
TSubject (2012-03-13 10:18) [5]Использую компонент Halcyon в Дельфи.
tblDBF.Edit;
tblDBF.FieldByName("aSize").Value := null;
tblDBF.Post;
Открываю таблицу там нули вместо пустых значений.
Открываю файл в Visual FoxPro.
Выполняю REPLACE aSize WITH null FOR inst = 0
Ошибка: Field aSize does not accept null values.
← →
sniknik © (2012-03-13 10:19) [6]> tblDBF.FieldByName("Size").Value := null;
возможно присвоение идет с приведением типа, еще в дельфе... = 0, проверь - tblDBF.FieldByName("Size").Clear;
← →
TSubject (2012-03-13 10:19) [7]tblDBF.Append; то есть
← →
TSubject (2012-03-13 10:25) [8]
> возможно присвоение идет с приведением типа, еще в дельфе.
> .. = 0, проверь - tblDBF.FieldByName("Size").Clear;
Clear тоже сажает нули.
← →
sniknik © (2012-03-13 10:27) [9]> Использую компонент Halcyon в Дельфи.
там вообще то исходники есть... можно посмотреть и исправить если что.
← →
Anatoly Podgoretsky © (2012-03-13 10:28) [10]Это надо в форум Halcyon
В dBase II - V нет типа number (это из Оракл), там numeric BCD тип, который принимает значение NULL, как сказали через .Clear
Visual FoxPro не совсем совместим с dBase IV, тем более что доступ через Halcyon
← →
sniknik © (2012-03-13 10:29) [11]> Использую компонент Halcyon в Дельфи.
> Clear тоже сажает нули.
а BDE??? все от движка зависит, есть проверка/преобразование или нет.
← →
sniknik © (2012-03-13 10:33) [12]кстати, мало ли, использовал, но не помню уже Halcyon-а...
-> tblDBF.FieldByName("Size").AsString:= "";
???
(а вдруг они проверки типа не сделали...)
← →
TSubject (2012-03-13 10:39) [13]
> tblDBF.FieldByName("Size").AsString:= "";
Тоже нули
> а BDE??? все от движка зависит, есть проверка/преобразование
> или нет.
У меня имеются мемо поля, BDE не может с ним работать, он отпадает.
> Это надо в форум Halcyon
> В dBase II - V нет типа number (это из Оракл), там numeric
> BCD тип, который принимает значение NULL, как сказали через
> .Clear
> Visual FoxPro не совсем совместим с dBase IV, тем более
> что доступ через Halcyon
Ну я так, с надеждой что может кто сталкивался. .Clear пробовал, результат тот же.
← →
sniknik © (2012-03-13 10:40) [14]и еще в +
> Использую компонент Halcyon в Дельфи.
насколько помню в Halcyon есть куча собственных функций... не подвязанных на предка TDataSet, посмотри среди них.
← →
sniknik © (2012-03-13 10:42) [15]> BDE не может с ним работать, он отпадает.
вообще то может, проблемы были с DBF от клиппера, а не Dbase IV. (что то там с длинными строками, он позволял > 255)
← →
TSubject (2012-03-13 10:43) [16]
> насколько помню в Halcyon есть куча собственных функций.
> .. не подвязанных на предка TDataSet, посмотри среди них.
>
Нашел. DatePutN. Всем спасибо.
← →
TSubject (2012-03-13 10:45) [17]
> Нашел. DatePutN. Всем спасибо.
FieldPutN то есть.
← →
sniknik © (2012-03-13 10:46) [18]во, еще вспомнил. про Halcyon... там был метод доступа к данным как к памяти (data вроде), т.е. все значения полей записи как один большой массив... на крайняк можно сделать очистку высчитав место поля и самостоятельно убрав 0 перед post. (т.е. фактически написать свой Clear, не меняя исходники компонент)
← →
Anatoly Podgoretsky © (2012-03-13 10:52) [19]> TSubject (13.03.2012 10:39:13) [13]
Это возможности Halcyon
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.064 c