var
ssql:string;
filename:string;
begin
if opendialog1.execute then
begin
filename:=opendialog1.filename;
showmessage(filename);
try
begin
ssql:='use master';
ssql:='alter database hunter set offline with roll immediate';
ssql:='restore database hunter from disk='''+filename+'''';
ssql:='alter database hunter set online with roll immediate'; adoquery5.Close;
adoquery5.SQL.Clear;
adoquery5.SQL.text:='ssql';
adoquery5.ExecSQL;
end;
showmessage('还原成功');
except
showmessage('还原失败');
end;
end;
end;
ssql:string;
filename:string;
begin
if opendialog1.execute then
begin
filename:=opendialog1.filename;
showmessage(filename);
try
begin
ssql:='use master';
ssql:='alter database hunter set offline with roll immediate';
ssql:='restore database hunter from disk='''+filename+'''';
ssql:='alter database hunter set online with roll immediate'; adoquery5.Close;
adoquery5.SQL.Clear;
adoquery5.SQL.text:='ssql';
adoquery5.ExecSQL;
end;
showmessage('还原成功');
except
showmessage('还原失败');
end;
end;
end;
不过我建议你用Query.sql.add('use databasename')
Query.add('');
Query.add('');这样的方式。
ssql:=ssql+' alter database hunter set offline with roll immediate';
ssql:=ssql+' restore database hunter from disk='''+filename+'''';
ssql:=ssql+' alter database hunter set online with roll immediate'; adoquery5.Close;
adoquery5.SQL.Clear;
adoquery5.SQL.text:=ssql;
adoquery5.ExecSQL;