还原数据库文件代码

jingtuzhong 2011-04-12 08:37:11
求还原数据库文件代码
...全文
158 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kye_jufei 2011-04-14
  • 打赏
  • 举报
回复
procedure Tsys_datamodule.DataBaseBack;
var
FileName:string;
ADOQ:TADOQuery;
begin
ADOQ:=TADOQuery.Create(nil);
ADOQ.Connection:=sys_datamodule.con1;
if MessageDlg('你確定要備份數據庫嗎?',mtInformation,[mbYes,mbNo],0)=idyes then
begin
try
if SaveDialog1.Execute then
begin
FileName:=SaveDialog1.FileName;
if (Copy(FileName,Length(FileName)-3,4)<>'.BAK') or (Copy(FileName,Length(FileName)-3,4)<>'.bak') then
FileName:=FileName+'.BAK';
ADOQ.SQL.Text:='Use Master Backup Database MES to Disk='''+ FileName+''' Use MES';
ADOQ.ExecSQL;
MessageDlg('數據庫備份成功!',mtInformation,[mbOK],0);
end;
except
MessageDlg('數據庫備份失敗!',mtInformation,[mbOK],0);
Exit;
end;
end;
end;

procedure Tsys_datamodule.RestoreBaseBack;
var
StrFile:string;
ADOQ:TADOQuery;
begin
ADOQ:=TADOQuery.Create(nil);
ADOQ.Connection:=sys_datamodule.con1;
if MessageDlg('你確定要還原數據庫嗎?',mtInformation,[mbYes,mbNo],0)=idyes then
begin
try
if OpenDialog1.Execute then
begin
StrFile:=OpenDialog1.FileName;
ADOQ.SQL.Text:='Use Master Restore Database MES From Disk='''+ StrFile+''' Use MES';
ADOQ.ExecSQL;
MessageDlg('數據庫還原成功!',mtInformation,[mbOK],0);
end;
except
MessageDlg('數據庫還原失敗!',mtInformation,[mbOK],0);
Exit;
end;
end;
end;
newfang 2011-04-13
  • 打赏
  • 举报
回复
ADOC:=TADOConnection.Create(Self);
ADOC.LoginPrompt:=False;
ADOC.ConnectionString:=Format(sConnectionStr,['master',sServerName]);
try
try
ADOC.Open;
ExeComm:=TADOCommand.Create(Self);
ExeComm.Connection:=ADOC;
ExeComm.CommandText:='use master';
try
ExeComm.Execute;
ExeComm.CommandText:='ALTER DATABASE ' + sDBName +
' SET OFFLINE WITH ROLLBACK IMMEDIATE';
ExeComm.Execute;
ExeComm.CommandText:='Restore DataBase ' + sDBName +
' from Disk = ''' + sFileName + ''' With Replace';
ExeComm.Execute;
ExeComm.CommandText:='ALTER DATABASE ' + sDBName +
' SET ONLINE WITH ROLLBACK IMMEDIATE';
ExeComm.Execute;
MessageBox(Handle,'数据库恢复成功!','提示:',
Mb_OK + Mb_IconInformation);
except
on e: Exception do begin
MessageBox(Handle,PChar('恢复数据库失败:' + #13 +
e.Message),'提示:',Mb_OK + Mb_IconError);
ExeComm.Free;
end;
end;
except
on e: Exception do
MessageBox(Handle,PChar('数据库连接失败: ' + #13 + e.Message),
'提示:',Mb_OK + Mb_IconError);
end;
finally
ADOC.Free;
end;
浩南_哥 2011-04-12
  • 打赏
  • 举报
回复
什么数据库?
sql sever
http://topic.csdn.net/t/20050309/21/3838323.html
access
http://waphi.baidu.com/othershore/blog/item/1adc0d1e97abc711413417ba.html?from=pc

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧