问下大家怎么样备份和加载数据库(access )的最好给我代码,谢谢!!
解决方案 »
- 我用IdAntiFreeze来防止程序没有响应,为什么不行?
- 请各位帮帮忙,顶一下,谢谢
- textout()函数怎么控制行间距
- 请各位大侠帮忙:可能是数据库的死锁问题,急!谢谢!!
- 用BDE的程序怎样在没有delphi的机器上运行?
- 请问怎样使用鼠标指到菜单栏会使其变颜色????
- 在ADOQUERY控件中的OnPostError事件中如何得到出错的信息,得到出错的信息是一个什么值,是数值还是字符串啊?
- 哪位能给个简单的dll例子吗?我不知怎样写。
- 如何解决DELPHI程序一则运行错误?急!!!
- 获取打印机的参数?
- 我要散分
- 我想固定字符串格式,如长度为10,我把'hyd'传给这个变量后会在后补足空格,我应该声明什么类型的变量
:)
备份:
procedure TForm1.Button1Click(Sender: TObject);
begin
AdoQuery1.SQL.Text := 'backup database aa to disk = ' + '''' + 'e:\backup.dat' + '''';
AdoQuery1.ExecSQL;
end;
恢复:
procedure TForm1.Button2Click(Sender: TObject);
begin
AdoQuery1.SQL.Text := 'restore database aa from disk =' + '''' + 'e:\backup.dat' + '''';
AdoQuery1.ExecSQL;
end;
var
dao: OLEVariant;
sourcefile:string;
if savedialog1.Execute then
try
sourcefile:=Getexepath+'file\db.mdb';//数据库路径
Maindatamodule.acConnect.Close;
dao := CreateOleObject('DAO.DBEngine.36');
dao.CompactDatabase(sourcefile,savedialog1.filename);
except
Messagedlg('主数据库正在被他人或应用程序使用,请稍后再试!',mtwarning,[mbok],0);
end;出现错误:数据库正被delphi2上的用户admin以排它的方式打开。
我不是已经把Maindatamodule.acConnect.Close了吗?
希望得到帮助。
你可以这样做恢复:
AdoQuery1.SQL.Text:='USE master EXEC sp_dboption huststudio restore database aa from disk='''+e:\backup.dat+''' with REPLACE');