谁知道,怎样实现,将表中的数据备份到, 文本文件中。并怎样将其还原回数据库的表中。
比如 表 table_user(username(varchar40),brithday(datetime),sex(varchar 2),age(int 4))
备份到文本文件 user.txt中。怎么实现。
还原怎么还原。

解决方案 »

  1.   

    你可以建立个ADO连接,指向这个文本数据库(文本文件),这样,就可以和操作两个数据库一样进行操作了。
    ODBC中有文本数据库的设置的。
      

  2.   

    Sql Server 2000 直接用 DTS 可以呀
      

  3.   

    使用Export方法:
    如SQL Server的DTS:
      

  4.   

    不用搞的这么麻烦吧。
    用个memo控键,每查一条记录就往里面加入一条然后memo.saveasfile就可以了。
      

  5.   

    数据集导出文本文件自写的代码,针对数据量不大的时候,,如果数据量非常多,建议用batchmoveprocedure TForm1.Button1Click(Sender: TObject);
    var
    i,j:integer;
    tempstring:string;
    stringlist:tstringlist;
    begin
    stringlist:=tstringlist.create;
    tempstring:='|  ';
    table1.first;
     while not table1.eof do
      begin
        for i:=0 to table1.recordcount-1 do
          begin
             for j:=0 to table1.fieldcount-1 do
               begin
               tempstring:=tempstring+table1.fields[j].asstring+'|  ';
               end;
          stringlist.Add(tempstring);
          tempstring:='|  ';
          table1.next;
          end;
      end;
    stringlist.savetofile('c:\111.txt');
    stringlist.Clear;
    tempstring:='';
    end;
      

  6.   

    //转贴  ,运行通过    procedure Button1Click(Sender: TObject);
        procedure dbgridtotxt(source:tobject);
    procedure tform1.dbgridtotxt(source:tobject);
    var
    filename:textfile;
    dataset:tdataset;
    titlestr,valuestr,tempstr:string;
    counter:integer;
    begin
      if (source is tdbgrid)then
        dataset:=tdbgrid(source).DataSource.DataSet
        else
          dataset:=tdataset(source);
      if ((dataset.IsEmpty)or(not dataset.Active))then
       exit
        else
        begin
        dataset.DisableControls;
        dataset.First;
        if savedialog1.Execute  then
          begin
            assignfile(filename,savedialog1.FileName);
            rewrite(filename);
            for counter:=0 to dataset.FieldCount-1  do
            titlestr:=titlestr+char(9)+dataset.Fields[counter].DisplayLabel;
            titlestr:=trim(titlestr);
            writeln(filename,titlestr);
            while not dataset.Eof  do
            begin
              valuestr:='';
              for counter:=0  to  dataset.FieldCount-1  do
              begin
                tempstr:=dataset.Fields[counter].Text;
                valuestr:=valuestr+char(9)+tempstr;
              end;
              valuestr:=trim(valuestr);
              writeln(filename,valuestr);
              dataset.Next;
            end;
              closefile(filename);
            end;
             dataset.EnableControls;
          end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    dbgridtotxt(dbgrid1);
    end;
      

  7.   

    使用ado控件直接savetofile不行!何必劳师动众的写那么多的代码导回来loadfromfile就搞定了,当然此时是在adoquery里面,但接下来先删除那个表中的数据
    然后将adoquery的数据插入不就行了
      

  8.   

    batchmove很好吗?数据超大时莫名其妙的就崩掉了,还是自己写代码,用Ado,可以调制Ado的参数,然后采用多线程,so快,我实现过,想要的话,可以给我发邮件[email protected]
      

  9.   

    [email protected]
    可以发给我吗