我用ACCESS建立了一个数据库,我把其中两张表里的数据清空了,但是数据库文件的大小为什么还是没变,还更以前一样?
解决方案 »
- 怎样释放放在bevel上的控件
- 怎么总是提示列名“张三”无效,怎么原因?请大家多多帮忙!!
- delphi中与sql server数据库连接的问题
- SQL语句问题,求救
- 那里有delphi常用函数手册
- 小弟分不多,但是还是请教各位大虾一个函数,郁闷了好久了,查了很多资料找不着
- 打印高手请进来看一下,有关Printer.Canvas.TextOut打印出错,不知道错在哪里?分不够我可以加!
- 音乐电视合成机系统软件涉及到哪些方面编程?
- 庆祝《Delphi 7项目开发实践》新书上市
- 请问如何判断该字符串为合法的文件路径?
- 如何将条形码打印出来,并通过条形码图像识别(在线等,UP有分)
- Dbchart的图例问题
在菜单栏中的工具/数据库实用工具/中的压缩和修复数据库运行一下即可,这是因为ACCESS并没有把已删文件的空间释放出来。
我想是ACCESS本身的限制吧,当然也是程序考虑不够周全,必尽其它数据库都有专门的程序来处理数据库,只有在自己的程序中添加一个压缩功能就行了
请教如何在程序里添加压缩ACCESS数据库容量的功能呢?
var
jt: TJetEngine;
begin
jt := TjetEngine.Create(nil);
try
jt.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DbPath + DbName + ';Jet OLEDB:DataBase PassWord=' + Password,
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DbPath + 'Dest.mdb;Jet OLEDB:DataBase PassWord=' + password);
DeleteFile(DbPath + DbName);
RenameFile(DbPath + 'Dest.mdb', DbPath + DbName);
finally
jt.Free;
end;
end;