《利用ADO压缩和修复MSAccess2000数据库》由会员分享,可在线阅读,更多相关《利用ADO压缩和修复MSAccess2000数据库(2页珍藏版)》请在金锄头文库上搜索。
1、利用ADO压缩和修复MSAccess2000数据库上次发表了一篇关于压缩和修复MS Access 2000文件的文章,得到网友的好评,在此深表 感谢。下面再奉献一篇利用ADO压缩和修复MS Access 2000文件的文章,希望能对您有所帮 助。首先定义一个函数:func tionTFpressdatabase:boolea n;constsProvider =卩 rovider=Microsoft.Jet.OLEDB.4.0;varsOldMDB,sNewMDB:string;MyObj:varia nt;beginresult:=false;OldFileName:=Delphi 资料库.
2、mdb;NewFileName:=Delphi 资料库.mdb1; sOldMDB := sProvider + Data Source + OldFileName; sNewMDB := sProvider + Data Source+ NewFileName;MyObj:=createoleobject(jro.jete ngin e.2.1);trytryMyObj.CompactDatabase(sOldMDB, sNewMDB); result:=true;exceptresult:=false;MyObj:=null;end;finallyMyObj:=null;end;end;调
3、用示例:VaroidFiieName, NewFileName:string;/全局变量procedure TForm1.FormClose(Se nder: TObject; var Acti on: TCIoseActi on); beginADOConnection1.Connected :=false;力调用之前必须先关闭数据库连接if not n1.Checked then exit; 假若“关闭时压缩数据库”为假,则退岀 tryif not CompressDatabase then beginShowMessage(压缩数据库失败!);exitelse ShowMessage(
4、压缩数据库成功!);if DeleteFile(OldFileName) thenRen ameFile(NewFileName,OldFileName);else ShowMessage(不能重命名文件);finally/OldFileName:=“;/NewFileName:=;end;end;1- 在你的uses语句中必须加入ComCtrls单元。2- 在压缩的过程中,其它人不能打开或使用数据库。3- 修复压缩数据库时,若出现“类字符串无效”原因是:用户计算机中没有或者未注册“MSJRO.DLL”文件。解决办法:若$(system)目录中没有上述文件,则复制该文件到$(system)目录下;若$(system) 目录有上述文件,那么在$脚3上65)目录下执行下列命令:regsvr32 MSJRO.dll若还出现“类字符串无效”请尝试将 “MyObj:=createoleobject(jro.jetengine.2.1);” 一句 改为:MyObj:=createoleobject(jro.jete ngin e);注:$(system)目录,即为用户计算机中操作系统的系统目录。如:“C:WindowsSystem”。