在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
procedure TFrmMain.NSystBackupClick(Sender: TObject);
var strFile:string; begin // 数据库备份 SaveDlgData.Filter:='All files (*.*)|*.*'; SaveDlgData.FileName:='DataBack'+DateToStr(now); if SaveDlgData.Execute then
begin strFile:=SaveDlgData.FileName; StatusBar1.Panels[1].Text:='正在备份数据库...';
DataModuleMain.ADOQBack.Close; DataModuleMain.ADOQBack.SQL.Clear; DataModuleMain.ADOQBack.SQL.Add('backup database DangerWaste to disk='''+strFile+''' '); try DataModuleMain.ADOQBack.ExecSQL; Application.MessageBox(pchar('数据库已经备份到'+strFile+'!'),'提示',MB_OK+MB_ICONINFORMATION );
//write log DataModuleMain.AddLog(currentUser.Name,'备份数据库到'+strFile,DateTimeTostr(now)); StatusBar1.Panels[1].Text:=''; except Application.MessageBox('文件写入错误!','错误',MB_OK+MB_ICONERROR ); end; end;
end; procedure TFrmMain.NSysRestoreClick(Sender: TObject);
//数据库还原 var strFile:string; begin if OpenDlgRestore.Execute then begin strFile:=OpenDlgRestore.FileName; if messagedlg('是否确定还原',mtconfirmation,[mbyes,mbno],0)=mryes then begin StatusBar1.Panels[1].Text:='正在恢复数据库...';
try with DataModuleMain do begin ADOConnMain.Close; ADOConnectRestore.Open();//主义这个connection连接的是master数据库 ADOQRestore.Close; ADOQRestore.SQL.Clear; ADOQRestore.SQL.Add('ALTER DATABASE DangerWaste SET OFFLINE WITH ROLLBACK IMMEDIATE'); ADOQRestore.ExecSQL; ADOQRestore.Close; ADOQRestore.SQL.Clear; ADOQRestore.SQL.Add('restore database DangerWaste From disk='''+strFile+''' '); ADOQRestore.ExecSQL; ADOConnectRestore.Close; ADOConnMain.Connected:=true; end; Application.MessageBox(pchar('数据库恢复成功!'),'提示',MB_OK+MB_ICONINFORMATION );
DataModuleMain.AddLog(currentUser.Name,'还原数据库从'+strFile,DateTimeTostr(now));
StatusBar1.Panels[1].Text:=''; except Application.MessageBox('数据库联接错误','错误',MB_OK+MB_ICONERROR); end; end; end; end; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论