我想在程序里实现从SQL SERVER往文本格式导出数据,请问用那种方法比较快!请给出代码,谢谢了

解决方案 »

  1.   

    装到TStringlist里,然后SaveToFile
      

  2.   

    procedure TF_person.Button1Click(Sender: TObject);
    var
      f:TextFile;
      i:integer;
      s:String;
    begin
      AssignFile(f,'C:\1.txt');
      Rewrite(F);  for i := 0 to DBGrid1.Columns.Count - 1 do
      begin
         s:= DBGrid1.Columns[i].Title.Caption;
         if i <> DBGrid1.Columns.Count -1 then
            s:=s+';'; //加分隔
         Write(f,s);
      end;
      Writeln(f);//换行
      with DBGrid1.DataSource.DataSet do
      begin
        First;//移动到首记录;
        while not Eof do
        begin
          for i := 0 to DBGrid1.Columns.Count - 1 do
          begin
             s:= DBGrid1.Fields[i].AsString;//读对应的字段值
             if i <> DBGrid1.Columns.Count -1 then
                s:=s+';'; //分隔
             Write(f,s);
          end;
          Writeln(f);
          //循环到尾记录
          Next;
        end;
      end;
      CloseFile(f);//关闭文件
    end;
      

  3.   

    调用外部命令bcp 也可以:
    bcp database.tblname out c:\test.txt -c -Usa -Pxxx
      

  4.   

    同意楼上,你可以查看Sql Server的联机帮助,找关键词bcp
      

  5.   

    对。楼上的BCP更简单,而且是最搞效的。建议采用