我用的是clientdataset 请参考.procedure TForm1.ToolButton2Click(Sender: TObject);
begin
  cd.Close;
  cd.CommandText :='select * from t_gzdwb order by 序号';
  cd.Open;
  if cd.RecordCount > 0 then
  begin
    if FileExists('c:\hhh\h.bak') then
    showmessage('此文件已存在')
    else
    begin
      cd.SaveToFile('c:\hh\h.bak');
      showmessage('备份完成');
    end;
  end;
end;procedure TForm1.ToolButton3Click(Sender: TObject);
var j :integer;
begin
cd.Close;
cd.CommandText:='delete from t_b';
cd.Execute;
cd.Close;
cd.CommandText := 'select * from t_b ';
cd.Open;
cd2.LoadFromFile('c:\hh\h.bak');
while not cd2.Eof do
begin
 cd.Insert;
 for j:=1 to cd2.Fields.Count-1 do
 begin
   cd.Fields.Fields[j].value:=cd2.Fields.Fields[j].value;
 end;
 cd.edit;
 cd.ApplyUpdates(0);
 cd2.Next;
end;
showmessage('恢复成功');
end;