Форум: "Базы";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
ВнизКак создать поле NUMERIC в DBF ? Найти похожие ветки
← →
Number (2003-12-23 16:56) [0]Как нужно заполнить FieldDefs чтобы после CreateTable
получить то же, что и при SQL:
CREATE TABLE "TEST.DBF" (NUM NUMERIC(1,0))
← →
Reindeer Moss Eater (2003-12-23 17:20) [1]ftBCD
← →
Reindeer Moss Eater (2003-12-23 17:27) [2]Size = кол-во знаков после запятой
Precision = всего знаков
← →
Number (2003-12-24 01:34) [3]... и получаем
NUM NUMERIC 20 4 :-(((
(Delphi5, DBF level 5)
Все-таки это возможно управлять управлять количеством знаков?
← →
Reindeer Moss Eater (2003-12-24 08:55) [4]... и получаем
А кто сказал, для этого достаточно управлять свойствами TFieldDef?
Как нужно заполнить FieldDefs ...
Я тебе сказал как.
Если использовать не ftBCD, то фиксированную точку вообще не получишь, а получишь плавающую.
← →
Anatoly Podgoretsky (2003-12-24 09:25) [5]Лезь в БДЕ, иначе ничего хорошего
← →
Reindeer Moss Eater (2003-12-24 09:48) [6]Кроме того есть сомнения, что numeric(1,0) вообще можно создать с помощью BDE.
numeric(2,0) - пожалста, а 1,0 - нет.
История та же что и с полями char(256). Работать с такой таблицей можно, а создать - ни-ни.
← →
Fay (2003-12-24 10:13) [7]2Reindeer Moss Eater
Информация о длине весит 1 байт. Ума не приложу, как записать туда 256.
← →
Anatoly Podgoretsky (2003-12-24 10:16) [8]Reindeer Moss Eater © (24.12.03 09:48) [6]
Через БДЕ не пробовал, а так создавал.
А такой размер для формата не допустим.
← →
Reindeer Moss Eater (2003-12-24 10:19) [9]Fay (24.12.03 10:13) [7]
2Reindeer Moss Eater
Информация о длине весит 1 байт. Ума не приложу, как записать туда 256.
Возьми DBU.EXE и все легко получится. Будет тебе DBase файл с полем char(256). Работать с ним из БДЕ можно, а создать такой же - нельзя.
← →
Anatoly Podgoretsky (2003-12-24 10:23) [10]Reindeer Moss Eater © (24.12.03 10:19) [9]
Это будет испорченый dBase файл и нормальный Клиппер файл, максимальный размер поля 254 байта, поскольку один байт используется в служебных целях.
← →
Reindeer Moss Eater (2003-12-24 10:47) [11]Anatoly Podgoretsky
Не все файлы, с которыми работает программист придуманы им самим.
Например в РФ есть некая федеральная структура, которая требует поставлять ей данные в DBase файле в котором есть такое странное поле char(256).
И никаких возражений не принимается.
.... - пишется раздельно типа.
← →
Number (2003-12-25 00:36) [12]Значит остается либо разбираться в dbiCreateTable
либо возвращаться к SQL. Грустно ... :-(
← →
sniknik (2003-12-25 11:40) [13]Fay (24.12.03 10:13) [7]
> 2Reindeer Moss Eater
> Информация о длине весит 1 байт. Ума не приложу, как записать туда 256.
в клипере длина строки определяется словом - 2байта. возьми то что поддерживает его формат, Halcyon к примеру.
Reindeer Moss Eater © (24.12.03 09:48) [6]
> История та же что и с полями char(256). Работать с такой таблицей можно, а создать - ни-ни.
если в поле строка больше 254 BDE ее режет (у меня так было), нормальной работы не получится.
← →
Anatoly Podgoretsky (2003-12-25 13:02) [14]Reindeer Moss Eater © (24.12.03 10:47) [11]
Это клиппер наверняка, а файл конечно не dbase, а dbf? А это не одно и тоже, просто популярное расширение, и клиппер частично совместим с dBase/FoxPro
sniknik © (25.12.03 11:40) [13]
Именно об этом и говорю, не надо ставить знак равенства между клиппер и dBase/Foxpro, то что частично совпадает ничего не значит. И не уверен что режет, а не берет по модулю 256, вроде бы такое было.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c