调用sql语句不就可以了。
//备份
AdoCommand.CommandText:='backup database dbname to disk='''+sFileName+''' with init';
//恢复
AdoCommand.CommandText:='restore database dbname from disk='''+sFileName+'''';
//备份
AdoCommand.CommandText:='backup database dbname to disk='''+sFileName+''' with init';
//恢复
AdoCommand.CommandText:='restore database dbname from disk='''+sFileName+'''';
procedure TForm_main.ac_db_backupExecute(Sender: TObject);
begin
if form_backup.showmodal= mrOK then begin
{----开始备份----}
with Database1 do begin
try
Close;
Execute('BACKUP DATABASE l_CLQC TO DISK = '''+dir1+'\'+ DateToStr(now)+ '.bak''');
sbar_main.SimpleText :='备份完毕';
MessageDlg('备份完毕!',mtInformation,[mbOK],0);
except
sbar_main.SimpleText :='备份失败';
MessageDlg('备份失败,请重试!',mtError,[mbOK],0);
end;
Open;
end;
end;
end;
//----------------------恢复----------------
//First connect to Database master,Omitted....注意with Replace参数
with Database1 do begin//[
Execute('use master');
Execute('RESTORE DATABASE l_clqc FROM DISK ='''+ s +''''+' with Replace ');
end;