数据库恢复后程序不能用,说连接失败或者表无效!

lhl123hk 2006-06-13 09:34:15
数据库还原后程序不能用,说连接失败或者表无效!
还原按钮的具体程序是这样的,希望大家给我解决一下,小弟十分感谢!
procedure TShujuku.SpeedButton2Click(Sender: TObject);

begin
Opendialog1.Title:='选择文件。';
if OPendialog1.Execute then

Edit2.Text:=opendialog1.FileName;

If Trim(opendialog1.FileName)<>'' then
begin
try
With Data.ADOQuery1 do
begin
Data.ADOQuery1.Close;
Data.ADOQuery1.SQL.Clear;
Data.ADOQuery1.SQL.Add('use master restore headeronly from disk='''+edit2.text+'''');
Data.ADOQuery1.Open;
end;
Data.ADOQuery1.Last;
Cou:=trim(Data.ADOQuery1.Fields.Fields[5].AsString);
While not Data.ADOQuery1.bof do
begin
Data.ADOQuery1.Prior;
end;
except
Application.MessageBox('错误!','提示',mb_ok);
end;
end;

if Edit2.Text = '' then
begin
Application.MessageBox('您已经取消数据库恢复!','提示',mb_ok);
exit;
end;
with Data.ADOConnection1 do
begin
try
ADOCommand1.CommandText:='use master';
ADOCommand1.Execute;
ADOCommand1.CommandText:=' alter database ZLManager set offline with rollback immediate';
ADOCommand1.Execute;
ADOCommand1.CommandText:='restore database ZLManager from disk= '''+edit2.Text+''' with recovery ';
ADOCommand1.Execute;
ADOCommand1.CommandText:=' alter database ZLManager set online with rollback immediate';
ADOCommand1.Execute;
Application.MessageBox('数据库恢复成功!','提示',mb_ok);

except
on e:exception do
begin
showmessage('数据库恢复失败,请重新恢复!'+e.Message);
end;

end;
end;
end;
...全文
213 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsmserver 2006-06-14
  • 打赏
  • 举报
回复
你把数据库的所有连接关闭后是不是没有重新打开?
cncharles 2006-06-14
  • 打赏
  • 举报
回复
可能要到服务器重新启动一下.
yyjzsl 2006-06-14
  • 打赏
  • 举报
回复
关注...

顶下
Rubi 2006-06-13
  • 打赏
  • 举报
回复
你连接数据提示什么信息?
你的报错信息是什么?

2,507

社区成员

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

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