对access数据库维护
点击次数:39 次 发布日期:2008-11-09 08:41:48 作者:源代码网
|
源代码网推荐 * 源代码网推荐 * Unit Name: unAccessTools 源代码网推荐 * Purpose : Provide tools to compact and repair Access database. 源代码网推荐 * 源代码网推荐 ****************************************************************} 源代码网推荐 源代码网推荐 unit unAccessTools; 源代码网推荐 源代码网推荐 interface 源代码网推荐 源代码网推荐 uses Sysutils,ComObj,Dialogs; 源代码网推荐 源代码网推荐 function DaoActive(var DaoObject:OleVariant):Boolean; 源代码网推荐 function DaoCompactDB(const FileName:string):Boolean; 源代码网推荐 function DaoRepairDB(const FileName:string):Boolean; 源代码网推荐 源代码网推荐 implementation 源代码网推荐 源代码网推荐 function DaoActive(var DaoObject:OleVariant):Boolean; 源代码网推荐 begin 源代码网推荐 Result:=False; 源代码网推荐 try 源代码网推荐 DaoObject:=GetActiveOleObject("DAO.DBEngine.36"); 源代码网推荐 Result:=True; 源代码网推荐 except 源代码网推荐 try 源代码网推荐 DaoObject:=CreateOleObject("DAO.DBEngine.36"); 源代码网推荐 Result:=True; 源代码网推荐 except 源代码网推荐 DaoObject:=Null; 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 源代码网推荐 //压缩Access数据库 源代码网推荐 function DaoCompactDB(const FileName:string):Boolean; 源代码网推荐 var 源代码网推荐 db:OleVariant; 源代码网推荐 TempFile:string; 源代码网推荐 begin 源代码网推荐 Result:=False; 源代码网推荐 try 源代码网推荐 if not DaoActive(db) then 源代码网推荐 Exit; 源代码网推荐 try 源代码网推荐 TempFile:=ExtractFilePath(FileName) "msaTemp.mdb"; 源代码网推荐 db.CompactDatabase(FileName,TempFile); 源代码网推荐 DeleteFile(FileName); 源代码网推荐 RenameFile(TempFile,FileName); 源代码网推荐 Result:=True; 源代码网推荐 except 源代码网推荐 on E:EOleException do 源代码网推荐 ShowMessage(E.Message); 源代码网推荐 end 源代码网推荐 finally 源代码网推荐 db:=Unassigned; 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 源代码网推荐 //修复Access数据库 源代码网推荐 function DaoRepairDB(const FileName:string):Boolean; 源代码网推荐 var 源代码网推荐 db:OleVariant; 源代码网推荐 begin 源代码网推荐 Result:=False; 源代码网推荐 try 源代码网推荐 if not DaoActive(db) then 源代码网推荐 Exit; 源代码网推荐 try 源代码网推荐 db.RepairDatabase(FileName); 源代码网推荐 Result:=True; 源代码网推荐 except 源代码网推荐 on E:EOleException do 源代码网推荐 ShowMessage(E.Message); 源代码网推荐 end 源代码网推荐 finally 源代码网推荐 db:=Unassigned; 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 源代码网推荐 end. 源代码网推荐 源代码网供稿. |
