AdoDataSet.SaveToFile 怎么样可以保存成txt格式的.目前只支持两种格式.
AdoDataSet.SaveToFile(sPath,pfXML);或AdoDataSet.SaveToFile(sPath,pfADTG);
有没有办法将导出文件直接保存到txt文件中?
请各位指教.

解决方案 »

  1.   

    遍历:
    看得出,楼主使用的是Delphi,那么:  procedure DSToText(DS: TDataSet; isTitle: boolean=true);
      var
        i: byte;
        sName: string;
      begin
        l:= TStringList.Create;
        sName:= '';
        if isTitle then
        begin
          sName:= sName + Format('%s,',[DS.Fields[i].FieldName]);
          sName:= copy(sName,1,Length(sName)-1);
          l.Add(sName);
        end;
        DS.First;
        while not DS.Eof do
        begin
          MainForm.rpb.IncPartsByOne;
          sName:= '';
          for i:=0 to DS.FieldCount-1 do
            sName:= sName+Format('%s,',[DS.Fields[i].Value]);
          sName:= copy(sName,1,Length(sName)-1);
          l.Add(sName);
          DS.Next;
        end;
        l.SaveToFile('文本输出文件.txt');
        l.Free;
      end;
      

  2.   

    MainForm.rpb.IncPartsByOne;
    这一句是用于显示进度的,忘记屏蔽掉了.
      

  3.   

    多谢楼上的指教,不过运行效率不行.
    15W条记录运行的时间就很长.我现在想很快的记到txt文件里.
    用dateset.savetofile功能可以很快记到文件里,不过只有两种格式,一种是乱码格式,还有一种是XML格式.
    我现在想要一种速度可以跟这个savetofile不相上下的保存方法.
    15W条记录如果能在1分钟内就可以接受.
      

  4.   

    用第三方控件DBGRIDEH的导出数据函数,可以直接导出数据为CSV,XLS,TXT,HTML等格式