在数据库中已写出SQL查询语句:第一条SQL返回两个字段的汇总结果;第二条SQL返回五个字段的明细结果。
问:要想把这两条查询结果依次写到一个文本文档(.txt)中,并且每个字段对应的记录 之间要有一个空格(而不是逗号)。应怎样用Delphi来写。

解决方案 »

  1.   

    不是空格吧,  字符串中也有空格的,  你说的应该是Tab
    两个个循环不就行了,大概如下,
    var
      f: Text;
      I: Integer;
      s: string;
    begin
      Assign(f, yourfilename);
      try
        Qurty1.First;
        while not Query1.Eof do
        begin
          s := '';
          for I := 0 to Query1.FiedCount - 1 do
            s := s + #9 + Query1.Fields[I].AsString;
          WriteLn(f, s);
          Query1.Next;
        end;
      finally
        Close(f);
      end;
      

  2.   

    我是用 TStringlist 类型做的,字段间分割符用空格,导入到文本文档中
    一条记录做为一行,其实都差不多的
    var
      Tablenamestr: string;
      Expstr: string;
      StrOut: tstringlist;
      i:integer;
    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 + ' '; //这里设置分隔符
                                             //用 Tab 的话就换成 #9     
        
        StrOut.Add(Expstr);
        query1.Next;
      end;
      StrOut.SaveToFile('E:\new\' + tablenamestr + '.txt' ); 
    end;