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

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

Как зоздать поле? [D6, dBase, FoxPro, Paradox]


AGor ©   (2002-09-19 10:26:00) 

Создаю fox-овую таблицу и надо создать поле numeric 6 byte
Какой тип надо прописать?


Shadrag   (2002-10-08 12:22:00) [1]

Попробуй так:

Name:="kodpredp";
DataType:=ftBCD;
Size:=0;
Precision:=6;

Поля Size и Precision в Delphi почему то перепутаны.


MsGuns   (2002-09-19 12:37:00) [2]

Рекомендую создавать таблицы не методом TTable, а SQL-запросом
По поводу BCD (дес.с фикс кол-вом дроби)
Удобная штука для количественного учета (например, в складах),- указал 10.4 и спокоен, не будет чисел типа 0.00000000078898, округление происходит само. Но есть у них один, но бооольшой минус:
Когда даешь запрос, в котором выводишь сумму по такой колонке, то в рез.поле получается тип Float. Если затем из этой рез.таблицы захочется опять же запросом записать такие суммы в таблицу с полем BCD, возникнет ошибка несовместимомти типов. CAST в операторе SQL далеко не всегда помогает

Если надо пример SQL - создания, скажи, я приведу


AGor   (2002-09-19 11:03:00) [3]

Ну что никто не знает? Обидно. А очень нужно.


AGor   (2002-09-19 10:45:00) [4]

Table1.Active:=False;
Table1.TableType:=ttFoxPro;
Table1.DatabaseName:="c:\";
Table1.TableName:="pred.dbf";
Table1.FieldDefs.Clear;
with Table1.FieldDefs.AddFieldDef do begin
Name:="kodpredp"; Это надо чтоб было size 6;
DataType:=ftInteger;
// Size:=6;
end;
with Table1.FieldDefs.AddFieldDef do begin
Name:="nampred";
DataType:=ftString;
Size:=120;
end;
with Table1.FieldDefs.AddFieldDef do begin
Name:="kodul";
DataType:=ftString;
Size:=4;
end;
with Table1.FieldDefs.AddFieldDef do begin
Name:="dom";
DataType:=ftString;
Size:=3;
end;
with Table1.FieldDefs.AddFieldDef do begin
Name:="korp";
DataType:=ftString;
Size:=2;
end;
with Table1.FieldDefs.AddFieldDef do begin
Name:="kv";
DataType:=ftString;
Size:=3;
end;
Table1.CreateTable;


Anatoly Podgoretsky   (2002-09-19 10:43:00) [5]

Тогда покажи как ты создаешь таблицу, а то речь в глухую


AGor   (2002-09-19 10:37:00) [6]

Не подходит. Мне надо создавать базу прямо из делфи Table1.CreateDataBase;


3JIA9I CyKA   (2002-09-19 10:36:00) [7]

Дэйтабэйс Десктор


AGor   (2002-09-19 10:35:00) [8]

Что такое DBD?


Anatoly Podgoretsky   (2002-09-19 10:32:00) [9]

Сделай с помощью DBD, но только учти, что numeric поля не в байтах измеряются, а в длина+десятичные знаки, тебе нужно N6,0


Наверх

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