有哪位高手能告诉我。。。。(100分)

  • 主题发起人 主题发起人 云孤天
  • 开始时间 开始时间

云孤天

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是DELPHI6+ACCESS数据库,在数据库经过不停的增删记录会不停的膨胀,有谁能帮我
解决这个问题?
 
我听朋友说,access有个自压缩工具能将删除的记录压缩出数据库,但是我现在还没有找到?
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=424637
 
access自身就是压缩。或者在本站内搜索一下,有压缩代码。
 
转的。详情可见 402859 贴
use ComObj;
procedure Tmainform.Button1Click(Sender: TObject);
var dao:OLEVariant;
begin
adoconnection1.Close;//压缩是以独占方式进行的;压缩前要关闭数据库连接。
screen.Cursor:=crHourGlass;
dao:=CreateOleObject('DAO.DBEngine.35');//'DAO.DBEngine.36'也可以,不知道是不是access2000要用dao3.6,我在access97上用35和36都可以
dao.CompactDatabase('原来的数据库.mdb','临时数据库.mdb');
DeleteFile('原来的数据库.mdb');
RenameFile('临时数据库.mdb','原来的数据库.mdb');
adoconnection1.Open;
adotable1.Active:=true;
screen.Cursor:=crDefault;
end;

 
压缩Access数据库。不过你最好在一定大小时就压缩。
大概是Table.Compress
时间太长了,没记清。
 
为什么不使用SQL2000或者Oracle数据库呢?我是用SQL2000,些个触发器就行了!!简单!
 
先谢谢各位了

我知道可以压缩,能不能不用压缩就能实现的方法?
 
沉的太快了。。。。up
 
多人接受答案了。
 
我告诉你对于数据量比较大的数据库最好用database
他能解决这个问题,并且比较简单
 
后退
顶部