Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

создать dbf средствами дельфы   Найти похожие ветки 

 
mr.IL ©   (2005-05-12 16:47) [0]

Нужно создать базу в dbf формате средствами дельфы.
Вы держка из хелпа:
Creates a new field definition object and adds it to the Items property of this TFieldDefs object.

procedure Add(const Name: String; DataType: TFieldType; Size: Integer = 0; Required: Boolean = False);

Засада в том, что в требуемой базе, есть поле типа Number 12.2, а в функции add параметр Size: Integer


 
DSKalugin ©   (2005-05-12 16:54) [1]

так базу создать или поле в таблице готовой?
смотри хелп TFieldDefs.AddFieldDef->Table Creation example


 
evvcom ©   (2005-05-12 16:58) [2]


> Нужно создать базу в dbf формате средствами дельфы.

А может достаточно создать шаблон в DBD, например, и положить в подпапку программы, а потом просто копировать и заполнять? Телепатор у меня верно настроен?


 
mr.IL ©   (2005-05-12 16:59) [3]

Собственно надо создать табицу, а вней поле типа Number размерностью 12.2.
У AddFieldDef есть свойство size, но оно integer


 
mr.IL ©   (2005-05-12 17:01) [4]

Блин оно конечно мона, но есть требование обзывать каждый запрашиваемый период ету таблицу по другому.


 
msguns ©   (2005-05-12 17:03) [5]

1. DBD лучше вымыть, выкрасить, сжечь, пепел положить в урну, урну закопать и быстро забыть где.
2. Лучше всего создавать таблицы средствами SQL (DDL) - Help+Local SQL: кратко, наглядно, надежно, современно

;))


 
mr.IL ©   (2005-05-12 17:03) [6]

evvcom,а может ты знаешь что есть ЕФОП. :)


 
mr.IL ©   (2005-05-12 17:07) [7]

msguns Спасыбо, самый верный совет, может я вечером затупил.


 
Anatoly Podgoretsky ©   (2005-05-12 17:07) [8]

Структура фиксированая, то лучше создать шаблон и его копировать средствами БДЕ, а не файловой системы.


 
evvcom ©   (2005-05-12 17:15) [9]


> evvcom,а может ты знаешь что есть ЕФОП

Нет не знаю. А почему я должен знать? Поисковики выдали что-то связанное с Bee-Line и еще что-то о каком-то проекте. Ну и что это такое?


 
mr.IL ©   (2005-05-12 17:29) [10]

2evvcom :))) Ето я на счет телепатора, на самом деле, именно ЕФОП (это отчет такой в вышестоящие инстанции) меня и задачит dbf таблицей. Блин, а на поисковики я специально зайду посмотреть, что они тебе выдали.


 
AlexO ©   (2005-05-12 18:06) [11]

//Засада в том, что в требуемой базе, есть поле типа Number 12.2, а в функции add параметр Size: Integer

Size - это не значение поля, а его размер (число байт) которое используется для его хранения


 
DSKalugin ©   (2005-05-12 18:11) [12]

>Засада в том, что в требуемой базе, есть поле типа Number 12.2, >а в функции add параметр Size: Integer

Ты не только на Size: Integer обращай внимание,
но и на  DataType: TFieldType
выбирай ftBCD

а хэлп до конца надо дочитывать

Size is meaningful only for a field definition object with one of the following TFieldType values: ftString, ftBCD, ftBytes, ftVarBytes, ftBlob, ftMemo or ftGraphic. For string and byte fields, Size is the number of bytes reserved in the table for the field. For a BCD field, Size is the number of digits following the decimal point. For a BLOB, memo, or graphic field, Size is the number of bytes from the field’s value that are stored in the actual database table.


 
mr.IL ©   (2005-05-12 18:26) [13]

Упс. Я увидел BCD и даже не полез читать дальше (минус мне за невнимательность). Но, в общем, через create table реализовать усе требуемое действительно проще.


 
Leonid   (2005-05-13 09:33) [14]

Почему бы не создать базу через SQL ?
Это куда проще.


 
mr.IL ©   (2005-05-13 11:16) [15]

Прошу простить. Вопрос в том, что при попытке создания через SQL
 поля с именем "Date" он ругается на неправильное использование
 операторов. Понимаю, что использовать оператор в название поля не
 есть гут, но не я ставлю условия. Подскажите ПЛЗ как обойти. В кавычки запихивать уже пытался.


 
evvcom ©   (2005-05-13 11:21) [16]


> В кавычки запихивать уже пытался.

И что? Не вышло? Как пытался?


 
mr.IL ©   (2005-05-13 11:29) [17]

SQL.Add(#34+"Date"+#34+"DATE,");
и
SQL.Add(""Date" DATE,");


 
Style ©   (2005-05-13 11:33) [18]

Есть хорошие компоненты
Halcyon


 
Anatoly Podgoretsky ©   (2005-05-13 12:13) [19]

mr.IL ©   (13.05.05 11:16) [15]
Кавычки должны быть правильные, в соответствии с движком и/или SQL интерпритатором.


 
evvcom ©   (2005-05-13 12:14) [20]

create table "dbf.dbf"
(
 NUM NUMERIC(12,2),
 "dbf.dbf"."DATE" DATE
)


 
mr.IL ©   (2005-05-13 12:33) [21]

Опс. Блин. Спасибо всем кто откликнулся. Блин, буду читать хелп до конца по 2 раза.


 
evvcom ©   (2005-05-13 12:36) [22]

Ты там что, блины ешь? Поди со сгущенкой?


 
mr.IL ©   (2005-05-13 12:40) [23]

Ж:) А телепатор у тебя в поряде. Поделись, где урвал. ;)


 
evvcom ©   (2005-05-13 12:47) [24]

Практика и только практика (после прочтения теории) :)


 
KSK   (2005-05-13 15:16) [25]


> Style ©   (13.05.05 11:33) [18]
> Есть хорошие компоненты
> Halcyon

Полностью согласен.


> evvcom ©   (13.05.05 12:14) [20]
> create table "dbf.dbf"
> (
>  NUM NUMERIC(12,2),
>  "dbf.dbf"."DATE" DATE
> )


получить NUMERIC(12,2) никак мне не удавалось - хоть укажи (12,4) хоть (12,2) - результат будет один и тотже.....

используя VFPOLEDB можна получить нужного размера поля типа Numeric, но файл получается виндовой кодировки


 
ANB ©   (2005-05-13 15:42) [26]

Если влом разбираться - исправь кодировку, пока таблица пустая через заголовок файла.



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.026 c
14-1117446788
Ajax
2005-05-30 13:53
2005.06.29
Покупка цифровой мыльницы в Питере


4-1115318045
bc0113
2005-05-05 22:34
2005.06.29
FreeLibrary


14-1117529818
Jeer
2005-05-31 12:56
2005.06.29
Miss 2005


9-1111554916
Starter
2005-03-23 08:15
2005.06.29
Несколько видов


1-1117708208
nikolas
2005-06-02 14:30
2005.06.29
Приложение, вызвавшая dll