![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как зоздать поле? [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