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

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

Float поля в DBase [dBase, FoxPro]


KADAN ©   (2004-01-29 09:37:00) 

Драссе, мастера! Знаю, что DBase такие поля делаются как N(10,2)
Не могу етого сделать из Delphi. Делается только так:

FieldDefs.Clear;
FieldDefs.Add("DATE",ftDate);
FieldDefs.Add("PRIXOD",ftFloat);
FieldDefs.Add("RASXOD1",ftFloat);
FieldDefs.Add("RASXOD2",ftFloat);
FieldDefs.Add("SALDO",ftFloat);
FieldDefs.Add("NOTE",ftString,20);
CreateTable;

И после етого могу писать table1.FieldByName("PRIXOD").AsFloat и все работает. Хотя когда открываю в Database Desktop"е значение типа поля оказывается не указанным вообще. А теперь, внимание, вопрос: не аукнется ли мне такой неуказанный Float в будущем, и если да, то как сделать нормальный N(10,2)???


KADAN   (2004-01-29 10:54:00) [1]

Ладно, я разобрался с тем что надо юзать ftBCD, но тогда у меня поле становится 20 и 4, ето для меня много...

with Fielddefs.AddFieldDef do begin
DataType:=ftBCD;
Name:="PRIXOD";
Size:=10;
Precision:=2;
end;


KADAN   (2004-01-29 10:28:00) [2]

И, кстати, если в Query делать "PRIXOD" NUMERIC(10,2), В dbd32 опять не показыавется тип поля... :(


KADAN   (2004-01-29 10:26:00) [3]

Ну хорошо, пусть Numeric, я имел ввиду, что мне надо поле вида ХХХХХХХХХХ.ХХ, а с AddFieldDef та же ерунда, там только один Size.


Anatoly Podgoretsky   (2004-01-29 10:06:00) [4]

N(10,2) это не float поля, а Numeric (BCD)

Add is provided for backward compatibility. The recommended way to add new field definitions to the Items property array is using the AddFieldDef method.


Наверх

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