关于access数据库的问题,高手请进

henryzc 2003-08-18 04:06:41
在对access数据库进行编程时,数据库一直在膨大。本以为是不是数据量太大了,可以将所有的数据表删除后,发现数据库却更大了,一直不得其解。后来在"工具"->"数据库实用工具"->"压缩和修复数据库"后,终于将数据库恢复正常大小。如何通过ADO直接变成实现这个功能呢?
...全文
50 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
henryzc 2003-08-21
  • 打赏
  • 举报
回复
感谢jnxulei(石头)、FAICHEN(CC) 、r3000() 、qiuxiangyong(qxy)、canoe_eyes(阿里),马上结分
康斯坦汀 2003-08-20
  • 打赏
  • 举报
回复
头文件加:

#import "C:\PROGRAM FILES\COMMON FILES\System\ado\MSJRO.DLL" no_namespace

.CPP:

...
try
{
IJetEnginePtr jet(__uuidof(JetEngine));
jet->CompactDatabase(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\nwind2.mdb",
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\abbc.mdb;" \
"Jet OLEDB:Engine Type=4");
}
catch(_com_error &e)
{
::MessageBox(NULL, (LPCTSTR)e.Description( ), "", MB_OK) ;
}

注:
Jet OLEDB:Engine Type / Jet x.x Format MDB Files
1 JET10
2 JET11
3 JET2X
4 JET3X
5 JET4X


henryzc 2003-08-19
  • 打赏
  • 举报
回复
昨天试了试,不好用啊。怎样才能将不必要的内容删除掉呢?
henryzc 2003-08-18
  • 打赏
  • 举报
回复
非常感谢jnxulei(石头),听君一席话,胜读十年书。直接对数据库进行操作后果然被压缩了,晚上准备通过ADO试试,好用了马上结贴放分。大家都有份
FAICHEN 2003-08-18
  • 打赏
  • 举报
回复
看来删除就是一种标记,只有整理压缩才真正删除带标记得了
丁淇石头 2003-08-18
  • 打赏
  • 举报
回复
你将“工具”--“选项”中“常规”下的“关闭时压缩”选中试试
忠向 2003-08-18
  • 打赏
  • 举报
回复
个人推测:类似foxpro的pack命令,虽然从逻辑上删除了,可是没有作物理删除!
用ADO,看来你得翻翻ACEESS的type lib了!
丁淇石头 2003-08-18
  • 打赏
  • 举报
回复
这个问题我也一直没弄明白,为什么数据删除了而空间没有释放?UP
canoe_eyes 2003-08-18
  • 打赏
  • 举报
回复
gz!

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧