用tbatchmove控件
procedure TForm1.Button1Click(Sender: TObject);begin
  if Query1.Active = False then
    Exit;
  if SaveDialog1.Execute then
    begin
      Table1.TableName := SaveDialog1.FileName;
      with BatchMove1 do
        begin
          Source := Query1;
          Destination := Table1;
          Mode := batCopy;
          Execute;
          ShowMessage(IntToStr(MovedCount) + ' records copied');
        end;
     end;
  end;
就从一个query转到了一个文件中了,也可以从ttable转出来,把query改成另一个table就行了

解决方案 »

  1.   

    COPY不一定是空的,但如果在打开数据库的同时COPY的话,就无法完成的,所以要采用楼上的代码比较好,在不使用数据库的情况下COPY是可以做为被备份的一种方法的
      

  2.   

    BatchMove
    是哪个选项页的控件
      

  3.   

    首先你备份的时候,该数据集最好是关闭的!
    再者,PARODOX的数据表如果有一些IMAGE,BLOB的字段,这个文件会有一个附属的*.mb文件有时侯还有其他的文件!备份的时候要吧同名不同扩展名的也备份上!BatchMove控件就在DateAcess面板里!
    如果想知道他的用法,从Delphi所带的DEMO程序里有两个他的例子。看看就会明白了!
    祝好运!:)
      

  4.   

    copy是可以备份的,我以前这样做过,就是拷贝时将所有的表都关闭,而且要将你建的索引文件*.x01 .y01之类的(如果有的话)也一起拷贝