如果清理ACCESS数据库?(50分)

  • 主题发起人 主题发起人 it_boy69
  • 开始时间 开始时间
I

it_boy69

Unregistered / Unconfirmed
GUEST, unregistred user!
我们知道用 asp+access 制作网页时
可以删除ACCESS的一些记录
但删除后ACCESS不会自动减少文件大小
如何才能让ACCESS将删除的记录的空间释放?
 
压缩一下数据库
{ 压缩Access数据库 }
function DaoCompactDB(const FileName:string):Boolean;
var
db:OleVariant;
TempFile:string;
begin
Result:=False;
try
db := CreateOleObject('DAO.DBEngine.36');
try
TempFile:=ExtractFilePath(FileName)+'msaTemp.mdb';
db.CompactDatabase(FileName,TempFile);
DeleteFile(FileName);
RenameFile(TempFile,FileName);
Result:=True;
except
on E:EOleExceptiondo
ShowMessage(E.Message);
end
finally
db:= nil;
end;
end;
 
对不起我没有说清楚
我想要的是ASP编程而不是DELPHI
那位能帮忙???
 
Same。Create a ASP Object using delphi, then
call from ASP.
 
Asp中有CreateObject
 
没有说明白啊
请提供ASP源程序
不要和沾边
 
其实大家已经讲得很明白了,呵呵。
下面是具体的代码,不是我写,但是是正确,试试看,应该没有问题了。
'===========压缩Access数据库
Set Engine = CreateObject("JRO.JetEngine")
dbPath=server.MapPath(connpath)
strDBPath = left(DBPath,instrrev(DBPath,"/"))
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
DBPath, _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
strDBPath &
"temp.mdb"
Set Engine = nothing
'==============压缩结束
最后,您还要将压缩后的临时文件覆盖到原来的文件就可以。
祝你好运。
 
后退
顶部