Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

создать 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.054 c
3-1116567937
yk
2005-05-20 09:45
2005.06.29
Выборка с учётом не существования записей


1-1118082204
Serg!!!!!!!!!!!
2005-06-06 22:23
2005.06.29
Редактирование


4-1115284450
ANB
2005-05-05 13:14
2005.06.29
Каким глобальным хуком можно перехватить свое сообщение


3-1116331690
Гость2
2005-05-17 16:08
2005.06.29
Вопрос по SQL-запросу


1-1118219077
В л а д и м и р
2005-06-08 12:24
2005.06.29
Перевод курсора в конец текста





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский