我的思路是:我用adoquery查出来要导出的数据,然后判断当前目录是不是存在这个文件,如果不存在,创建;
然后一行行往里写数据,行之间的空格比较难以确定,因为数据长短不一,如何处理啊;
思路是有了,代码具体怎么实现啊?哪位大侠赐教!或者有更好的思路!

解决方案 »

  1.   

    判断文件是不是存在我就不说了,去找一本delphi5.0编程技巧与实例看看就知道了
    你可以定义行间距的宽度为该列的宽度呀,这样的话就不会出现太多的长短不一了
    DBGrid里面的值不就是你查出来的数据吗?还用同样的sql语句,利用
    while not eof do
    begin
      …………
    end;
    像文件中添加
      

  2.   

    以前做过一个类似的程序,用的是 TStringlist 类型来记录数据,然后在添加到文本文档
    中,一条记录做为一行,下面是关键部分的代码,给你参考一下:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Tablenamestr: string;
      Expstr,Where,kong: string;
      StrOut: tstringlist;
      i:integer;
      //DateTime: TDateTime;
    begin
      ……       
      ……             //以上代码实现数据的查询,就不多说了
      StrOut:=tstringlist.Create;  //创建
      While Not Query1.Eof do
      begin
        Expstr:='';
        For i:=0 to query1.FieldCount-1 do
          Expstr:=Expstr + query1.Fields[i].AsString + '|||'; //我用‘|||’做为每个
                                             //字段值的分隔符,你也可以用逗号之类的    delete(Expstr,length(Expstr)-2,3);  //删掉最后一个‘|||’                   
        StrOut.Add(Expstr);                                 
        query1.Next;
      end;
      StrOut.SaveToFile('E:\new\' + tablenamestr + '.txt' );  //导出到文本文档
    end;
    end;
      

  3.   

    用xml文件保存,sql server2000, oracle 都可以直接存为xml文件的