我想把access数据库里的某个表转换成foxbase的dbf 文件,该用什么方法,孔件。。?

解决方案 »

  1.   

    // TAB1 : AdoTable
    procedure TFrmMain.DBToTxtClick(Sender: TObject);
    {导出至文本文件}
    var
      TxtFile:TextFile;
    begin
      AssignFile(TxtFile,'Adbk.Txt');
      ReWrite(TxtFile);
      TAB1.First;
      while not TAB1.Eof do
      begin
        Writeln(TxtFile,
        TAB1.FieldValues['ADType']+#9+
        TAB1.FieldValues['Name']+#9+
        TAB1.FieldValues['Mobile']+#9+
        TAB1.FieldValues['Email']+#9+
        TAB1.FieldValues['QQ']+#9+
        TAB1.FieldValues['OffTel']+#9+
        TAB1.FieldValues['HomeTel']+#9+
        TAB1.FieldValues['Fax']+#9+
        TAB1.FieldValues['ZipCode']+#9+
        TAB1.FieldValues['ContAdd']+#9+
        TAB1.FieldValues['Memo']);
        TAB1.Next;
      end;
      CloseFile(TxtFile);
      MessageDlg(
       '已成功导出文本文件:Adbk.Txt(与执行程序同目录)!'+#13+#13+
       '可以在Excel中打开或导入其它格式的数据库。',mtInformation,
       [mbOk],0);
      ShellExecute(Handle,nil,'Adbk.Txt',nil,nil,SW_Normal);
    end;以上是一段将数据库导出至文本文件的程序.
    你可以参考一下.Foxbase中命令:
    Use DataBase
    Append From Adbk.txt SDF
    可以将一段文本文件导入至数据库
    虽然不是最好的方法,但不失为一种可行的方法.
      

  2.   

    ar
      path,sql:string;
      str_con:string;
    begin
    conn.Close ;
    path:=extractfilepath(application.ExeName );
    str_con:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + path + '\my.mdb;Persist Security Info=False;Jet OLEDB:Database Password=test;
    conn.ConnectionString :=str_con;
    try
      conn.connected:=true;
      showmessage('ok');
    except
      showmessage('error');
    end;//生成DBF文件表
    Sql:='select * into [dBase III;DataBase=' + path + '].' + 'test.dbf' + ' from eu_onipot';
    conn.Execute(sql);
    showmessage('over dbf');