新人求助:现在开发一套系统,需要将oracle数据库不同表里的数据,倒到一张csv文件里!求助方法,谢谢大家!

解决方案 »

  1.   

    csv文件不过是一个用空格为分隔符的文本格式的文件,你把记录一条条的插入就可以了.
      

  2.   

    谢谢楼上的,能不能再说的具体点,一张表里的我会,但是从不同的表里去数据,不会,用不用先往表里写,然后再导出?
    这是一张表的,怎么修改?谢谢!
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        DBNavigator1: TDBNavigator;
        Table1: TTable;
        SaveDialog1: TSaveDialog;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
      function DelStr(subStr, AStr: String): String;
      var
        i, iLen: integer;
      begin
        Result :=AStr;
        i :=Pos(subStr, Result);
        iLen :=Length(subStr);
        while i >0 do
        begin
          Result :=Copy(Result, 1, i-1) +Copy(Result, i+iLen, maxInt);
          i :=Pos(subStr, Result);
        end;
      end;
    var
      AList: TStringList;
      i: integer;
      Afile,AStr, AText: String;
    begin
      SaveDialog1.Execute;
      Afile:=SaveDialog1.FileName;
      AList :=TStringList.Create;
      with DBGrid1.DataSource.DataSet, AList  do
      try
        DisableControls;    if not Active then Exit;
        AStr :='';
        for I :=0 to DBGrid1.Columns.Count -1 do
          AStr :=AStr + DBGrid1.Columns[i].Title.Caption+',';
        Add(AStr);
        First;
        while not Eof do
        begin
          AStr :='';
          for i :=0 to DBGrid1.Columns.Count-1 do
          begin
            AText :=DBGrid1.Columns[i].Field.DisplayText;
            AText :=DelStr(',', AText);
            AStr :=AStr +AText +',';
          end;
          Add(AStr);
          Next;
        end;
        AList.SaveToFile(AFile);  finally
        EnableControls;
        AList.free;
      end;end;end.
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
      function DelStr(subStr, AStr: String): String;
      var
        i, iLen: integer;
      begin
        Result :=AStr;
        i :=Pos(subStr, Result);
        iLen :=Length(subStr);
        while i >0 do
        begin
          Result :=Copy(Result, 1, i-1) +Copy(Result, i+iLen, maxInt);
          i :=Pos(subStr, Result);
        end;
      end;
    var
      AList: TStringList;
      i: integer;
      Afile,AStr, AText: String;
    begin
      SaveDialog1.Execute;
      Afile:=SaveDialog1.FileName;
      AList :=TStringList.Create;
      with DBGrid1.DataSource.DataSet, AList  do
      try
        DisableControls;    if not Active then Exit;
        AStr :='';
        for I :=0 to DBGrid1.Columns.Count -1 do
          AStr :=AStr + DBGrid1.Columns[i].Title.Caption+',';
        Add(AStr);
        First;
        while not Eof do
        begin
          AStr :='';
          for i :=0 to DBGrid1.Columns.Count-1 do
          begin
            AText :=DBGrid1.Columns[i].Field.DisplayText;
            AText :=DelStr(',', AText);
            AStr :=AStr +AText +',';
          end;
          Add(AStr);
          Next;
        end;
      with DBGrid2.DataSource.DataSet, AList  do
      try
        DisableControls;    if not Active then Exit;
        AStr :='';
        for I :=0 to DBGrid2.Columns.Count -1 do
          AStr :=AStr + DBGrid2.Columns[i].Title.Caption+',';
        Add(AStr);
        First;
        while not Eof do
        begin
          AStr :='';
          for i :=0 to DBGrid1.Columns.Count-1 do
          begin
            AText :=DBGrid2.Columns[i].Field.DisplayText;
            AText :=DelStr(',', AText);
            AStr :=AStr +AText +',';
          end;
          Add(AStr);
          Next;
        end;
        AList.SaveToFile(AFile);  finally
        EnableControls;
        AList.free;
      end;end;