数据库为什么自动变大?? 因为一般的数据库系统在修改记录的时候,并不是真正的去修改,而是新增一条记录同时把原有记录加上删除标记,同样的删除的时候也是只对待删记录作删除标记而不真正删除,这样在运行中数据库就不断变大。access提供有压缩数据库的功能,可以去掉这些冗余记录。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 所有的数据库在update或delete时,并不真正删除修改数据,而是做删除标记,添加新纪录,当然,他们也都提供手动或自动的维护功能,真正删除做标记的数据 access本身提供压缩数据库的功能。工具-数据库实用工具-压缩和修复数据库,可以去掉以前对数据库操作留下的删除标记 “程序运行时,access库却不断变大”?怎么可怕,你的程序对Access做了什么操作?是不是不停地添加、删除? 我的方法是定期执行压缩,如果每次都对数据库进行大量的修改操作,可以每次启动或关闭程序时自动执行。 CFile file; IJetEnginePtr jet(__uuidof(JetEngine)); jet->CompactDatabase("Data Source=mydb.mdb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydbtemp.mdb"); file.Remove("mydb.mdb");file.Rename("mydbtemp.mdb","mydb.mdb"); VC 得到字符串 怎么让对话框永远不能取得焦点? 关于Active控件使用的一个特殊问题,求VC高人 请推荐几本关于 OLE 和 COM 编程技术的好书? 很弱的问题,在一个ListView中点击一列中的一项,显示一个ComBobox后,再点击别的项,原来那个combobox消失了,这是怎么处理的? 回调到底啥意思 UP者有分:想学VC网络方面的编程,要从那里入手??? 创建文件夹? VC调试过程遇到很奇怪的问题! 急急 ,对话框阴影的实现! 有关属性页,重载OnOk函数出现的问题 CORBA和COM有哪些区别?只在OS上吗?
怎么可怕,你的程序对Access做了什么操作?
是不是不停地添加、删除?
CFile file;
IJetEnginePtr jet(__uuidof(JetEngine));
jet->CompactDatabase("Data Source=mydb.mdb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydbtemp.mdb");
file.Remove("mydb.mdb");
file.Rename("mydbtemp.mdb","mydb.mdb");