我要从一个数据库里把里面的数据导出为一定格式的纯文本文件,请问该如何实现
如:数据字段为:Field1 A 10, Field2 A 12, Field3 A 10
导出的文本格式为:'aaaaa     bbbbbbb     bbb       '

解决方案 »

  1.   

    var
      SL: TStringlist;
      lp: integer;
      StrTmp: string;
    begin
      SL := TStringlist.Create;
      try  
        query1.first;
        while not query1.eof do 
        bgin 
          StrTmp := '';
          for lp := 0 to query1.Fields.Count - 1 do 
            StrTmp := StrTmp + query1.Fields[lp].Asstring + '  ';
          SL.Add(StrTmp);
          query1.next;
        end;
        SL.SaveToFile('D:\aaaa.txt');
      finally
      end;
    end;
      

  2.   

    finally
        SL.free;//Add
      end;
      

  3.   

    var SL : Tstringlist;
    begin
      with query1 do
       begin
       try
         sl := Tstringlist.create;
         close;
         sql.clear;
         sql.text := 'select * from yourtable';
         open;
         while not eof do
         begin
           SL.add(fieldbyname('field1').asstring + '' + 
                  fieldbyname('field2').asstring + '' + 
                  fieldbyname('field3').asstring + '' );
           next;
         end;
       finally sl.free;
       except sl.free;
       end;
       end;
    end;
      

  4.   

    谢谢huojiehai(海天子)的参与,
    但是我要得到字符串长度固定的格式,你那种方法只是以空格为分隔符,并不是我想要的
    比如字段Field1大小为10 而实际大小为5 则余下的补空格
      

  5.   

    用format格式化字符串!!!!
      

  6.   

    在huojiehai(海天子) 的代码中加段代码如下:
    for  i:= length(query1.Fields[lp].Asstring) to query1.Fields[lp].size do
      begin
        strmp := strmp + ' ';
      end;