请问如何将ADOQuery中的数据直接导出成.dbf文件,并自己规定文件名?
(导出的字段个数并不确定,所以无法建个空表,然后复制插入,这个方法行不通)

解决方案 »

  1.   

    下载个控件吧,Eexport之类的东东,简单明了。
      

  2.   

    好像不是這麼回事吧,adoquery導出dbf.
      

  3.   

    procedure createDBF(dataSet:TDataSet; fileName:String);
    var
       i:integer;
       temporaryTable:TTable;
       activity:boolean;
    begin
       activity:=dataSet.Active;
       dataSet.Active:=true;
       dataSet.First;
       temporaryTable:=TTable.Create(nil);
       try
          temporaryTable.FieldDefs:=dataSet.FieldDefs;
          temporaryTable.TableName:=fileName;
          temporaryTable.CreateTable;
          temporaryTable.Active:=true;
          while not dataSet.Eof do begin
             temporaryTable.Append;
             for i:=0 to dataSet.Fields.Count-1 do
               if not dataSet.Fields[i].Calculated then
                 temporaryTable.FieldByName(dataSet.Fields[i].FieldName).Value:=dataSet.FieldByName(dataSet.Fields[i].FieldName).Value;
             temporaryTable.Post;
             dataSet.Next;
          end;
          temporaryTable.Active:=false;
       finally
          temporaryTable.Free;
       end;
       dataSet.Active:=activity;
    end;調用:createDBF(ADOQuery1, '.../yourFile.dbf');