Access DB压缩函数gf_compactandrepairaccessdb

//string as_mdb

//string as_pwd

//网上找到得一个是没有密码输入功能,我加入密码功能后,调试完成贴在这里。pb11.2 test

///

//检查数据库文件是否存在 
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 + ";Jet OLEDB:Database Password=" + as_pwd
sNewMDB = sProvider + 'Data Source= ' + ls_tmpFIle + ";Jet OLEDB:Database Password =" + as_pwd
ole_DBEngine.CompactDatabase(sOldMDB, sNewMDB)

destroy ole_DBEngine

 

//拷贝刚刚压缩过临时数据库文件至原来位置
FIleCopy(ls_tmpFIle,as_MDB,true)

 

//删除临时文件
FileDelete(ls_tmpFIle)

return 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值