if OpenDialog1.Execute then
begin
//DataBase1.Close;
DataBase1.Connected := False;
DataBase1.Params.Clear;
DataBase1.AliasName := 'master';
DataBase1.DatabaseName := 'master';
DataBase1.Params.Add('User Name=sa');
DataBase1.Connected := True;
Query1.DatabaseName := 'master';
try
with Query1 do
begin
Close;
UnPrePare;
SQL.Clear;
SQL.Add('Restore DataBase tsg from disk = :disk');
Params[0].AsString := OpenDialog1.FileName;
PrePare;
ExecSQL;
end;
except
ShowMessage('恢复失败');
Exit;
end;
end;
Application.MessageBox('恭喜您,数据恢复成功','提示',MB_OK + MB_ICONINFORMATION);
end;
你将BDE换成ADO就可以了;
begin
//DataBase1.Close;
DataBase1.Connected := False;
DataBase1.Params.Clear;
DataBase1.AliasName := 'master';
DataBase1.DatabaseName := 'master';
DataBase1.Params.Add('User Name=sa');
DataBase1.Connected := True;
Query1.DatabaseName := 'master';
try
with Query1 do
begin
Close;
UnPrePare;
SQL.Clear;
SQL.Add('Restore DataBase tsg from disk = :disk');
Params[0].AsString := OpenDialog1.FileName;
PrePare;
ExecSQL;
end;
except
ShowMessage('恢复失败');
Exit;
end;
end;
Application.MessageBox('恭喜您,数据恢复成功','提示',MB_OK + MB_ICONINFORMATION);
end;
你将BDE换成ADO就可以了;
解决方案 »
- 这样还是有错?
- 一次打印多个表格(实在是没分了,有分再加)
- 用adoquery在Microsoft Access中查询时出的怪问题!!!
- 关于2000server下的DCOM配置: TO kuki84(天道酬勤)
- 一个只能下载文件的web服务器
- 数据备份问题-急!!!!!!!
- 为什么有记录却找不到?SQL语句的关键部分是:WHERE (时间 = #5/13/2003 15:13:13# )
- adodataset中数据类型:无法取得int类型的值,冲突:expecting:integer;actual : BCD
- 只能给这么多分,急死我了。
- 奇怪的代码,高手请指点
- ====问一个简单的有关数据库与Word的问题=====
- 可以在delphi程序中把sqlserver的数据库转换为foxpro或者paradox的数据库吗?不想用sqlserver的工具。
if RestorDialog.Execute then
begin
with TAdoQuery.Create(nil) do
try
close;
sql.Clear ;
FrmSystemDM.ADOConnection1.Connected := False;
Connection :=FrmSystemDM.ADOConnection2;
FrmSystemDM.ADOConnection2.Connected := True;
SQL.add(Format('Restore DATABASE DHPrint From DISK=''%s'' with Replace', [RestorDialog.FileName]));
ExecSQL ;
finally
FrmSystemDM.ADOConnection1.Connected := True;
FrmSystemDM.ADOConnection2.Connected := False;
free;
end;
end;
end;
---最后发现问题所在:---
备份完后只要重新打开数据源,恢复就不能进行了。(数据库已被使用)
一般重新运行程序就好了。
但如果在运行期database备份完毕后不打开的话就可以恢复了。
实在不行把恢复单独做出来吧(一个单独的程序);
TDataBase 有 CloseDataSEt 的用法,如果AdoConnection也有的话,就可以在恢复前调用