数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
pb中压缩整理access数据库文件(mdb)

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

         其实实现方法别的语言已经很明确了,我这里只是用pb整理了一下,方便需要这个功能的同学。

       下面直接给出方法函数:

       1、申明外部函数,用来取系统的临时路径。 

FUNCTION ulong GetTempPath(ulong nBufferLength,ref string lpBuffer)

LIBRARY "kernel32.dll" ALIAS FOR "GetTempPathA"

      2、核心方法:

 

global type gf_CompactAndRepairAccessDB from function_object end type forward prototypes global function integer gf_compactandrepairaccessdb (string as_mdb) end prototypes global function integer gf_compactandrepairaccessdb (string as_mdb); //检查数据库文件是否存在 if not FIleExists(as_MDB) then return -1 //创建临时文件名 string ls_tmpFIle ls_tmpFIle =Space(255) GetTempPath(255,ls_tmpFIle) ls_tmpFIle+="temp.mdb" //创建DBEngine integer result oleobject ole_DBEngine ole_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,sNewMDB sOldMDB = sProvider + 'Data Source= ' + as_MDB sNewMDB = sProvider + 'Data Source= ' + ls_tmpFIle ole_DBEngine.CompactDatabase(sOldMDB, sNewMDB) destroy ole_DBEngine //拷贝刚刚压缩过临时数据库文件至原来位置 FIleCopy(ls_tmpFIle,as_MDB,true) //删除临时文件 FileDelete(ls_tmpFIle) return 0 end function

    3、调用方法 


gf_compactandrepairaccessdb("E:\eNo\collect.mdb")

       应注意的是,在压缩和修复数据库的过程中,不能有其它的操作打开该数据库,否则操作会失败,因此请先关闭掉该数据库的连接,否则执行会报错。

       此外这个函数经过修改后,可实现备份数据库的功能,相比较更简单一些,这里就不提供了。




相关文章

相关软件