科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件pb中压缩整理access数据库文件(mdb)

pb中压缩整理access数据库文件(mdb)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文给出了pb中压缩整理access数据库文件(mdb)的方法函数

作者:51cto.com整理 来源:51cto.com 2007年9月15日

关键字: PB 压缩 Access 文件 软件

  • 评论
  • 分享微博
  • 分享邮件

下面直接给出方法函数:

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")

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

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

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章