pb中压缩整理access数据库文件(mdb)
时间:2008-11-24 13:44 来源:www.netjc.com.cn 作者:佚名 阅读:次
其实实现方法别的语言已经很明确了,我这里只是用pb整理了一下,方便需要这个功能的同学。
下面直接给出方法函数:
1、申明外部函数,用来取系统的临时路径。
FUNCTION ulong GetTempPath(ulong nBufferLength,ref string lpBuffer)
LIBRARY "kernel32.dll" ALIAS FOR "GetTempPathA"
2、核心方法:
global type gf_CompactAndRepairAccessDB from function_objectend type forward prototypesglobal function integer gf_compactandrepairaccessdb (string as_mdb)end prototypesglobal function integer gf_compactandrepairaccessdb (string as_mdb);//检查数据库文件是否存在 if not FIleExists(as_MDB) then return -1//创建临时文件名string ls_tmpFIlels_tmpFIle =Space(255)GetTempPath(255,ls_tmpFIle)ls_tmpFIle+="temp.mdb"//创建DBEngineinteger resultoleobject ole_DBEngineole_DBEngine = create oleobject result =ole_DBEngine.connecttonewobject("JRO.JetEngine") //创建失败if result<>0 then return result//通过DBEngine 压缩数据库文件 string sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;' string sOldMDB,sNewMDBsOldMDB = sProvider + 'Data Source= ' + as_MDBsNewMDB = sProvider + 'Data Source= ' + ls_tmpFIleole_DBEngine.CompactDatabase(sOldMDB, sNewMDB)destroy ole_DBEngine//拷贝刚刚压缩过临时数据库文件至原来位置 FIleCopy(ls_tmpFIle,as_MDB,true)//删除临时文件FileDelete(ls_tmpFIle)return 0end function
下面直接给出方法函数:
1、申明外部函数,用来取系统的临时路径。
FUNCTION ulong GetTempPath(ulong nBufferLength,ref string lpBuffer)
LIBRARY "kernel32.dll" ALIAS FOR "GetTempPathA"
2、核心方法:
global type gf_CompactAndRepairAccessDB from function_objectend type forward prototypesglobal function integer gf_compactandrepairaccessdb (string as_mdb)end prototypesglobal function integer gf_compactandrepairaccessdb (string as_mdb);//检查数据库文件是否存在 if not FIleExists(as_MDB) then return -1//创建临时文件名string ls_tmpFIlels_tmpFIle =Space(255)GetTempPath(255,ls_tmpFIle)ls_tmpFIle+="temp.mdb"//创建DBEngineinteger resultoleobject ole_DBEngineole_DBEngine = create oleobject result =ole_DBEngine.connecttonewobject("JRO.JetEngine") //创建失败if result<>0 then return result//通过DBEngine 压缩数据库文件 string sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;' string sOldMDB,sNewMDBsOldMDB = sProvider + 'Data Source= ' + as_MDBsNewMDB = sProvider + 'Data Source= ' + ls_tmpFIleole_DBEngine.CompactDatabase(sOldMDB, sNewMDB)destroy ole_DBEngine//拷贝刚刚压缩过临时数据库文件至原来位置 FIleCopy(ls_tmpFIle,as_MDB,true)//删除临时文件FileDelete(ls_tmpFIle)return 0end function
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
相关内容
- ·两个未公开的ACCESS方法的使用技巧
- ·如何拆分复制的Access 97数据库
- ·两个未公开的ACCESS方法的使用技巧
- ·用Access 2000有效地组织班级管理
- ·数据在Access与Office组件间自由流动
- ·Access"智库"培训--高效设计 敏捷开
- ·Access查询的基本知识(二)(Office免费
- ·Access设置宏的安全等级
- ·Access查询的基本知识(Office免费公开
- ·四种用代码打开外部Access(MDB)的方法
- ·access操作或事件已被禁用模式阻止的解
- ·简述vba字符串,函数,表达式等基础术
- ·Access VBA 开发公开课讲座
- ·Access设置信任位置
- ·Access应用程序应注意的几个问题
- ·简析能判断Access版本的窗体
最新内容
推荐内容