Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прошу прощения, создать RUN-time Paradox7


azamatufa ©   (2010-07-29 10:36:00) 

Вопрос в большей степени АП.

Хочу из дельфей создать File.DB
(от DBF-а решил уйти из-за integer'a...)

Мне нужно создать integer и numeric (цифры от 1-100 + 2 после зпт)


 T := TTable.Create(nil);
 T.TableType := ttParadox;

 with T.FieldDefs do begin
   Add('ID',ftInteger,0,false);
 end;



а вот как задать с запятой?

и возможно-ли проделать запросом CREATE TABLE "pdox.db" ....

Спасибо!


azamatufa   (2010-07-29 18:52:00) [1]


> Anatoly Podgoretsky ©   (29.07.10 18:14) [19]


Ну вот ((
Я щас парился делал в DataBase Desktop'e IV  DBase ((

а ведь и работает! и с я языком все в норме!


Anatoly Podgoretsky   (2010-07-29 18:14:00) [2]

> azamatufa  (29.07.2010 15:50:15)  [15]

Методом экспериментов я именно к этому и пришел, Конечно можно и без этого,
но тогда надо отказываться от BDE.VCL и делать все через библиотеку BDE а
там черт ногу сломит, очень сложная она и плохо документирована, правда
примеры отличные. Еще есть методы работать напрямую с файлом, но это если
без Мемо, можно также использовать какую либо другую библиотеку только для
создания файла.
Все это не стоит усилий.


Anatoly Podgoretsky   (2010-07-29 18:09:00) [3]

> azamatufa  (29.07.2010 15:58:16)  [16]

DBase  for Windows поддерживает язык таблицы, четверка нет. Лучше первое


sniknik   (2010-07-29 16:51:00) [4]

> DECIMAL размер scale вроде бы игнорируется.
насколько, смутно, помню зависит от версии dbf... т.е. типа dBase III - 20 и 4 знака после запятой, а DBase IV/V 20 и 5 знаков после.


azamatufa   (2010-07-29 15:58:00) [5]

Анатолий!

Вот скажите пож-ста. В Dayabase Desktop какой тип выбрать DBF
- DBase  for Windows
- DBase IV

?


azamatufa   (2010-07-29 15:50:00) [6]

читал 39....

понял! чтоб надежно - юзать шаблон-файло!
Спасибо!


Anatoly Podgoretsky   (2010-07-29 14:13:00) [7]

DECIMAL размер scale вроде бы игнорируется.
Что значит правильно? Сработать то сработает, а вот правильно - это непонятно. Оно же работает в соответствии с настройками БДЕ

Если тебе нужна очень четкая структура, то откажись от создания с помощью запроса или CreateTable. Создай точную структуру в Database Desktop и используй ее как шаблон.

FAQ http://www.podgoretsky.com/ftp/Docs/Delphi/FAQ/ru.delphi.db.html#N39


azamatufa   (2010-07-29 14:00:00) [8]

в общем вот что получилось:
CREATE TABLE "my_super.dbf"
(SS CHAR(50), MEMO BLOB, ID DECIMAL(20,0), NUM DECIMAL)

20,0  - знаков после зпт - нет
если без параметров - будет 4 знака после зпт.

YES!

Анатолий! А на других компьютерах этот создающий SQL правильно сработает?
(TQUERY)


Anatoly Podgoretsky   (2010-07-29 13:42:00) [9]

Не отличается от Парадокса


azamatufa   (2010-07-29 13:32:00) [10]

почему-то пишут что External таблицах нельзя хранить BLOB. а мне надо!!

Анатолий! напишите запрос CREATE TABLE для dbf, пож-ста..
Спасибо


sniknik   (2010-07-29 12:35:00) [11]

> В ФБ есть внешние таблицы - просто файлик рядом с базой лежит. В одной БД его можно создать, а в другой присоединить.
если задача передавать данные между ФБ - дами, то это идеальный вариант. т.к. родной формат. и главное никаких xml... ;)


Sergey13   (2010-07-29 12:11:00) [12]

> [7] azamatufa ©   (29.07.10 12:07)

В ФБ есть внешние таблицы - просто файлик рядом с базой лежит. В одной БД его можно создать, а в другой присоединить.


Anatoly Podgoretsky   (2010-07-29 12:09:00) [13]

> azamatufa  (29.07.2010 12:07:07)  [7]

Для передачи данных положено использовать dBase III / IV а не Парадокс


azamatufa   (2010-07-29 12:07:00) [14]

Анатолий, спасибо за реплику!

Основная база - FireBird.

А таблицу Paradox7 я собираюсь использовать для передачи данных (эскпорт-импорта). У меня есть MEMO поля которые надо передать.
XML учить думаю что долго. И сможет ли XML передать MEMO?


Anatoly Podgoretsky   (2010-07-29 12:06:00) [15]

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


Anatoly Podgoretsky   (2010-07-29 12:04:00) [16]

Никаких запятых нет, там хранятся числа.
Несмотря на множество вариантов, все реальные числовые типы сводятся только к двум Float и Currency - остальные оптический обман.

Ну ты хуже базы найти не смог что ли?


sniknik   (2010-07-29 11:40:00) [17]

> Это дельфа сама по расширению узнала что создавать?
это вроде можно настраивать в BDE администраторе (вполне можно получить и Paradox 4например), не помню только как... такое старье....


azamatufa   (2010-07-29 11:21:00) [18]

ну вроде бы сам себе ответил:

Q - TQuery (create)

SQL = 'CREATE TABLE ''pdox.db''  (ID INTEGER, NUM NUMERIC, SS CHAR(254), MYMEMO BLOB(100,1))

Q.Exec...

---- для справки --------
SQL BDE Paradox dBASE
---------------------------------------------------------------------
SMALLINT fldINT16 Short Number (6,10)
INTEGER fldINT32 Long Integer Number (20,4)
DECIMAL(x,y) fldBCD BCD N/A
NUMERIC(x,y) fldFLOAT Number Number (x,y)
FLOAT(x,y) fldFLOAT Number Float (x,y)
CHARACTER(n) fldZSTRING Alpha Character
VARCHAR(n) fldZSTRING Alpha Character
DATE fldDATE Date Date
BOOLEAN fldBOOL Logical Logical
BLOB(n,1) fldstMEMO Memo Memo
BLOB(n,2) fldstBINARY Binary Binary
BLOB(n,3) fldstFMTMEMO Formatted memo N/A
BLOB(n,4) fldstOLEOBJ OLE OLE
BLOB(n,5) fldstGRAPHIC Graphic N/A
TIME fldTIME Time N/A
TIMESTAMP fldTIMESTAMP Timestamp N/A
MONEY fldFLOAT, fldstMONEY Money Number (20,4)
AUTOINC fldINT32, fldstAUTOINC Autoincrement N/A
BYTES(n) fldBYTES(n) Bytes N/A


azamatufa   (2010-07-29 11:04:00) [19]

еще выяснил:

если сказать CREATE TABLE "pdox.db" (..fileds..)  - то создается файлик именно Paradox 7.

Это дельфа сама по расширению узнала что создавать?


azamatufa   (2010-07-29 10:57:00) [20]

выяснил:
если при создании я задаю тип ftFloat - то в файле появляется тип N (numeric)


Наверх

Титульная страница Поиск, карта сайта Написать письмо