Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.49 MB
Время: 0.079 c
2-1331575099
Дмитрий
2012-03-12 21:58
2013.03.22
Проблема к кеширующим прокси на основе IndyHttpProxyServer


6-1257159963
tlm
2009-11-02 14:06
2013.03.22
Webbrowser и координаты мыши


2-1334881617
Артём
2012-04-20 04:26
2013.03.22
Отображение страницы


15-1330503243
stas
2012-02-29 12:14
2013.03.22
Правильное использование батареи ноутбука


15-1338358473
Bluejohn
2012-05-30 10:14
2013.03.22
Найти быстро место в исходнике





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский