使用access数据库*.mdb,ado访问,程序中需要对记录多次删除和添加,运行多次后,*.mdb体积越来越大,即使
删除所有记录体积也只增不减少。如何整理数据库,使其体积恢复正常。记得在dbase里,运行delete 后需要pack 来清理记录,delphi中也这样吗?
删除所有记录体积也只增不减少。如何整理数据库,使其体积恢复正常。记得在dbase里,运行delete 后需要pack 来清理记录,delphi中也这样吗?
解决方案 »
- winsock到winsock2的严重问题
- 谁能告诉我modalresult属性的用法,请尽量详细些,有例子最好。
- 关于ExpressQunantumGrid的一个小问题
- delphi中的时间怎么做加减呀?
- popupmenu菜单焦点问题?
- delphi 连接 MDB
- 如何在报表预览时(或别的时候)动态调整报表段的宽度?高分100,嫌少,可加。
- 一个查询问题,up有分,答完就揭贴!!
- 关心或在研究或已经在使用soap web service的人进来
- Delphi6中SQLConnection组件可以连接SQl Server吗?
- 问一个关於内存释放的小问题!
- 在Access数据库中,在设计表时,如何更改默认的字段属性?
// Procedure: CompactDatabase
// Author : ysai
// Date : 2003-01-27
// Arguments: AFileName,APassWord:string
// Result : boolean
//=============================================================================
function CompactDatabase(AFileName,APassWord:string):boolean;
//压缩与修复数据库,覆盖源文件
var
STempFileName:string;
vJE:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vJE:=CreateOleObject('JRO.JetEngine');
vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
format(SConnectionString,[STempFileName,APassWord]));
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
DeleteFile(STempFileName);
except
result:=false;
end;
end;