急,急,急,动态的创建dbase表的问题(100分)

  • 主题发起人 主题发起人 jixiaoyu
  • 开始时间 开始时间
J

jixiaoyu

Unregistered / Unconfirmed
GUEST, unregistred user!
程序代码如下
tableout:=TTable.create(nil);
tableout.TableType := ttDbase;
tableout.tablename:=Trim(Edit2.Text);
With TableOut.FieldDefs do
Begin
Clear;
with AddFieldDef do
begin
Name := 'ZJHM';
DataType := ftString;
Size := 7;
end;
with AddFieldDef do
begin
Name := 'CS';
DataType := ftInteger;
end;

With TableOut.FieldDefs do
Begin
with AddFieldDef do
begin
Name := 'THF';
DataType := ftFloat;
// Size := 7;
end;
end;
tableout.createtable;

创建出的表的THF字段是数值型,小数位是后是4位,但客户要求只需要2位(他们在foxbase
使用),哪位高人知道该如何才能指定frFloat后的小数点的位数。
 
可以這樣做;
THF:=Round(THF*100)/100;
這樣就是兩位了.
 
不是这个意思
在DELPHI中显示当然好控制,关键是生成得表要在FOXBASE中使用
如在DELPHI中给表的THF赋值12.23,则在FOXBASE中显示是12.2300,这是应为在动态生成表
的时候,float类型的小数点后的位数被缺省的制定位4位,我的意思是要如何制定小数点后
的位数为2位,而不是缺省的4位。
 
afield.displayformat:='#.00'
 
参考LID=449487
数据字段小数的位数的创建控制,不知道好不好用。
 
我不会用上面那么麻烦的办法,我会用:
Query1.SQL.Clear;
Query1.SQL.Add('Create table DynaCreate(Name Char(20),Salary Decimal(11,2))');
Query1.ExecSQL;
注意:dBase数据库创建浮点字段要用Decimal(),其它的都不能控制小数位数。
 
谢谢各位高人
找到别的办法来解决(现用database desktop建一个模板库,其可以指定小数点的位数,
然后要用的时候用copyfile函数来解决)。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
679
import
I
后退
顶部