100分请高手支招:如何用delphi完成由用户自定义生成一个dbf文件?
实现后,另开贴增送100分,决不食言 
delphi中用ado连接,无法直接生成一个新的dbf文件,但可以向一个旧的dbf文件中加载数据.
我现在根据用户需求,需在程序中实现由用户自定义一个新的dbf文件, 是不是需调用vfp的某
些东西?请高的支招!

解决方案 »

  1.   

    要看你用哪种连接方式了,如果采用连接到库的连接串来连接的话,
    可以创建一个新表,但不能用覆盖的形式将原有的表覆盖,也不可以更改DBF表的字段类型这个连接串:
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+source+';Extended Properties=dBase 5.0;Persist Security Info=False ';
    可以创建一个新表,但在创建之前要检测是否已经存在该表,创建语句:
    ado_lj.SQL.Clear;                           //连接到VF中,创建一个表
    ado_lj.SQL.Add('create table cbjl(yhbh Char(10) ,yhmc Char(20) ,cbh Char(10) ,yhdz Char(20) ,ssqy Char(20) ,khrq Char(10) ,sbqsds Char(10) ,bycbs Char(10));  
    ado_lj.ExecSQL
    检测是否已经存在该表,如果是,则要先删除再创建:
       if FileExists(''+source+'\cbjl.dbf') then   //如果已经存在,则将表先删除
       begin
         ado_lj.SQL.Clear;
         ado_lj.SQL.Text:='drop table cbjl';
         ado_lj.ExecSQL;
       end;