我在From1上面有几个ComboBox,然后根据不同的条件,DBGRID里面会有不同的数据查询出来。
我怎么样把查询出来的数据导出到文本文件,用逗号分割,然后加上表头
我写的是三层结构的程序,客户端查询好以后,怎么获取客户端的路径??

解决方案 »

  1.   

    我的数据库用的是SQL Server 2000
    数据:AstaClientSocket->DataSource->DBGrid
    就是DBGRID里面的数据怎么导出到文本文件
    大哥们帮帮忙!!!!!!!!!
      

  2.   

    getcurrdir得到当前目录
    导出文件非常简单可以用控件ehdggrid,或则自己写文件操作程序,直接通过DBGrID也可以很轻松实现哈。
      

  3.   

    建议你直接把Query中的数据直接写到文本中去
      

  4.   

    用DBGRIEH控件取代DBGRID控件然后用下边的代码导出就可以了,可以选择不同格式。
    Procedure GridExport(AGrid: TDBGridEh;_filename:string);              //列表框导出
    var ExpClass:TDBGridEhExportClass;
        Ext:String;
        SaveDialog1:TSaveDialog;
    begin
      SaveDialog1:=TSaveDialog.Create(nil);
      SaveDialog1.FileName := _filename;
      SaveDialog1.Filter:='EXCEL文件格式 (*.xls) |*.xls |文本文件格式 (*.txt)|*.txt |网页格式(*.htm)|*.htm';
      SaveDialog1.DefaultExt:='xls';
      if SaveDialog1.Execute then
      begin
        case SaveDialog1.FilterIndex of
          2: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
          4: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
          3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
          5: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
          1: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
        else
          ExpClass := nil; Ext := '';
        end;    if ExpClass <> nil then
        begin
          if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <>
             UpperCase(Ext) then
            SaveDialog1.FileName := SaveDialog1.FileName + '.' + Ext;
          SaveDBGridEhToExportFile(ExpClass,AGrid,SaveDialog1.FileName,True)
        end;
        shellexecute(0, 'open', pchar(SaveDialog1.FileName), nil, nil, SW_MAXIMIZE);
      end;
    end;
      

  5.   

    用ehlib控件地DBGridEH,這個能很方便地導出txt,excel文件。
      

  6.   

    搜下以前的帖子,我回过这样的问题,使用数据源,直接把记录写入txt文件的