delphi + ado + dbf 连接 dbf数据库
adoconnection字符串为:
ado_fox.ConnectionString :=
    'Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dbase 5.0;Persist Security Info=False;Data Source='+foxpath ;创建语句为:create tb(
  aa  numeric(8,2),
bb numeric(8,2),
cc numeric(8,2), gjjg   numeric (4,2),
        je      numeric(10,2),
Corder numeric(8),
gorder numeric(8),
mporder numeric(8))
语句执行后 发现 tb.dbf 的字段宽度为
  aa numeric(16,2),
bb numeric(16,2),
cc numeric(16,2),
gjjg   numeric (16,2),
         je      numeric(16,2),
Corder numeric(16),
gorder numeric(16),
mporder numeric(16))
为什么 numeric类型 都变成 16了,请问只是为什么,有什么办法能让 数据库按 创建语句给出的宽度创建?请各位大侠给出 解决方法,不胜感激

解决方案 »

  1.   

    是不是numeric类型就是固定16的,你不指定也没关系
      

  2.   

    为什么numeric 是固定 16位的,不能小于16吗?
      

  3.   

    试着改成aa  numeric(32,2) 看看结果是怎么样的,如果还是16那就固定16了
      

  4.   

    没有用的。用jt4.0操作DBF会有很多莫名其妙的问题,我前段时间在我xp professional 有Create Table 创建表表名可以很长,但是到2000 和 home版上表名只能保留前八位。也是想不同的。
      

  5.   

    下载一个VFPOLEDB的驱动,以前用过效果不错