with ADOQuery1 do
begin
Close;
Sql.Clear;
sql.add('RESTORE FILELISTONLY ');
ss:=Format('FROM DISK=''%s''',[edit1.text]);
Sql.Add(ss);
Sql.Add('RESTORE DATABASE databasename');
ss:=Format('FROM DISK=''%s''',[openDialog1.FileName]);
sql.add(ss);
Sql.Add('WITH MOVE ''databasename_Data'' TO ''d:\mssql7\data\testdb.mdf'', ');
Sql.Add('MOVE ''databasename_Log'' TO ''d:\mssql7\data\testdb.ldf''');
execsql;
close;
begin
Close;
Sql.Clear;
sql.add('RESTORE FILELISTONLY ');
ss:=Format('FROM DISK=''%s''',[edit1.text]);
Sql.Add(ss);
Sql.Add('RESTORE DATABASE databasename');
ss:=Format('FROM DISK=''%s''',[openDialog1.FileName]);
sql.add(ss);
Sql.Add('WITH MOVE ''databasename_Data'' TO ''d:\mssql7\data\testdb.mdf'', ');
Sql.Add('MOVE ''databasename_Log'' TO ''d:\mssql7\data\testdb.ldf''');
execsql;
close;
FROM disk = 'c:\master.bak'
// begin
adoconnection1.Close ;
try
adoconnection1.Open;
except
on exception do
if ADOConnection1.InTransaction then
ADOConnection1.RollbackTrans;
end;
if adoconnection1.Connected then
begin pgbar.Max:=100;
pgbar.Min:=0;
pgbar.Step:=20;
try
ADOCommand1.CommandText:='use master ';
pgbar.StepIt;
adocommand1.Execute ;
adocommand1.CommandText:='RESTORE database docmanage FROM DISK = ''c:\ccc.bak'' with replace ,stats';
pgbar.StepIt;
pgbar.StepIt;
adocommand1.Execute ;
pgbar.StepIt;
pgbar.StepIt;
form1.Hide;
if messagedlg('c:\ccc.bak已成功还原到数据库docmanage!继续?',mtwarning,[mbok],0)=mrok then
begin
form2.close
end;
except
on exception do
if ADOConnection1.InTransaction then
ADOConnection1.RollbackTrans;
end;
end
else
begin
application.MessageBox('服务器连接断开,请与管理员联系!','系统提示');
form2.Close;
end