Блин не могу понять, при создании dbf файла поле numeric создается всегда с шириной 20...
Хотя руками ставлю 9... Кто знает, как ручками задавать длину поля которое имеет тип ftBCD ?
var
MyTable : TTable;
FieldDef : TFieldDef;
begin
MyTable := TTable.Create(Self);
with MyTable do begin
Active := false;
DatabaseName:='C:\';
TableName := 'test';
TableType := ttFoxPro;
FieldDefs.Clear;
FieldDef := Fielddefs.AddFieldDef;
FieldDef.FieldNo := 0;
FieldDef.Name := 'PO1';
FieldDef.DataType := ftBCD;
FieldDef.Size := 9;
FieldDef.Precision := 0;
CreateTable;
end;
end.
Нифига не создает длину 9... Чего не так?
А какое значение у ftBCD?26.03.04 13:32 Автор: Den <Денис Т.> Статус: The Elderman
Binary Coded Decimal не является родным типом для поля numeric в DBF. Используй тип NUMERIC ("N"), возможно Си некорректно выполняет приобразование типа в твоем примере.
А размер 20 - максимальный размер для поля типа N.
Да вообще-то это на Delphi.. И этот тип данных как раз...26.03.04 16:19 Автор: Darkhelmet Статус: Незарегистрированный пользователь
> Binary Coded Decimal не является родным типом для поля > numeric в DBF. Используй тип NUMERIC ("N"), возможно Си > некорректно выполняет приобразование типа в твоем примере. > А размер 20 - максимальный размер для поля типа N. Да вообще-то это на Delphi.. И этот тип данных как раз объявлен в Delphi для замены NUmeric..