当前位置:首页 > 个人杂谈 > 正文内容

delphi7压缩access数据库的代码

作者: 葛屹肃 | 日期: 2019-05-30 | 分类: 个人杂谈

众所周知,access数据库是Office基于关系数据库管理系统,平常我们开发window软件时,为了方便通常也会使用access数据库,access就是一个文件,凡是window系统都能使用,这样就不必安装第三方的数据库。不过,Access数据库在使用的过程中,随着时间的迁移已经数据的反复添加与删除,整个数据库软件就会变得越来越臃肿。这样,我们就需要在软件中自动处理压缩access,以便于节省硬盘空间。

delphi7压缩access数据库的代码

以下代码在delphi7环境下测试通过,需要引用ComObj单元:

//注:srcDbname是access文件,dstDbname是临时access文件名

function compressDB(srcDbname,dstDbname: string): Boolean;
var
DaoVar: OLEVariant;
begin
//如果数据模块中的数据库连接打开,请先关闭
if DataM.DataConn.Connected then DataM.DataConn.Connected := false;
try
try
DaoVar := CreateOleObject(‘DAO.DBEngine.36′);
//删除临时数据库文件
if FileExists(dstDbname) then SysUtils.DeleteFile(dstDbname);
//压缩
DaoVar.CompactDatabase(srcDbname, dstDbname);
//删除原文件
if DeleteFile(srcDbname) then
//压缩文件重命名为原文件
RenameFile(dstDbname, srcDbname);
Result := true;
except
Result := false;
end;
finally
//为了其它操作能够正常执行,还要打开数据库连接
DataM.DataConn.Connected := true;
end;
end;

调用方式:

compressDB(ExtractFilePath(ParamStr(0))+’db.mdb’,ExtractFilePath(ParamStr(0))+’test.mdb’);

好了,今天为大家分享了delphi7压缩access数据库的代码,以上代码在delphi7与win7环境下调用通过,如果大家在使用过程中发现有问题,欢迎给我留言!

版权声明:本文由〖葛屹肃〗发布,转载请注明出处!
文章链接:https://www.geyisu.com/794.html

  • 评论:(0)

已有 0 位网友发表了一针见血的评论,你还等什么?

◎欢迎大家参与讨论