把query中查询出的数据倒成文本文件怎么倒??

解决方案 »

  1.   

    f:ttextfile;

    with adoquery1 do
    begin
      first;
      while not eof do
      begin
      s:='';
      for i:= 0 to fieldcount do
       s:= s+fields[i].asstring;
      writeln(f,s);
      next;
      end;
    end;
      

  2.   


    原来做的导日志的程序,给你参考参考.
    var LogFile:textfile;
        sql:string;
        LogInfo:string[10];
        LogType:string[14];
        LogTime:string[22];
        LogMemo:string;
    var i_loop:integer;
    begin
        if (not ADOQuery1.Active) or (ADOQuery1.Eof and ADOQuery1.Bof) then
        begin
            MessageBox(Application.Handle,'目前没有日志可以导出!','信息提示',
                  MB_ICONQUESTION+MB_OK);
            exit;
        end;
        Try
            AssignFile(LogFile,'c:\a.txt');
            if not FileExists('c:\a.txt') then
            begin
               rewrite(LogFile);
               LogInfo:='日志信息                       ';
               LogType:='日志类型                       ';
               LogTime:='日志时间                       ';
               LogMemo:='日志内容                       ';
               LogMemo:=LogInfo + LogType+ LogTime+LogMemo ;
               Writeln(LogFile,LogMemo);
            end;
            Append(LogFile);
            ADOQuery1.First;
            While not ADOQuery1.Eof do
            begin
                LogInfo:='  ' + ADOQuery1.FieldByName('info').AsString;
                LogType:='  ' + ADOQuery1.FieldByName('Type').AsString;
                LogTime:='  ' + ADOQuery1.FieldByName('Time').AsString;
                LogMemo:='  ' + ADOQuery1.FieldByName('Memo').AsString;
                LogMemo:=LogInfo + LogType+ LogTime+LogMemo ;
                Writeln(LogFile,LogMemo);
                ADOQuery1.Next;
            end;
        finally
            CloseFile(LogFile);
        end;
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    const
      spliChar = ',';  //设置分隔符号
    var
      s: string;
      I: Integer;
      SL: TStringList;
    begin
      SL := TStringList.Create;
      SL.BeginUpdate;
      while not AdoQuery1.Eof do
      begin
        s := '';
        for I := 0 to AdoQuery1.FieldCount - 1 do
          s := s + AdoQuery1.Fields[I].AsString + spliChar;
        Delete(s, Length(s),1);
        SL.Add(s);
      end;
      SL.EndUpdate;
      SL.SaveToFile('C:\TEST.TXT');
      SL.Free;
    end;
      

  4.   

    //上面的少了两句重要的语句
    procedure TForm1.Button1Click(Sender: TObject);
    const
      spliChar = ',';  //设置分隔符号
    var
      s: string;
      I: Integer;
      SL: TStringList;
    begin
      SL := TStringList.Create;
      SL.BeginUpdate;
      AdoQuery1.First;
      while not AdoQuery1.Eof do
      begin
        s := '';
        for I := 0 to AdoQuery1.FieldCount - 1 do
          s := s + AdoQuery1.Fields[I].AsString + spliChar;
        Delete(s, Length(s),1); //去除最后的分隔符
        SL.Add(s);
        AdoQuery1.Next;
      end;
      SL.EndUpdate;
      SL.SaveToFile('C:\TEST.TXT');
      SL.Free;
    end;