请教如何在delphi中对access数据库进行压缩,我使用的数据库驱动是ADO。
问题点数:20、回复次数:7Top
1 楼Hank(星星农场)回复于 2000-12-16 12:22:00 得分 0
哈哈,有一个OLE下的函数Compact()。管你用什么驱动程序,只要是Access数据库即可Top
2 楼Hank(星星农场)回复于 2000-12-16 12:29:00 得分 0
不好意思,写错了,应该是CompactDataBase()函数。Top
3 楼czzw(山水)回复于 2000-12-23 18:07:00 得分 0
可以给出较详细的用法吗?Top
4 楼WorldCreater(造化天尊)回复于 2000-12-24 20:04:00 得分 0
5 楼Hank(星星农场)回复于 2000-12-25 11:05:00 得分 10
告诉你源代码,具体的自己分析了
Function tmsaUtility.Compactmdb(mdbFileName:String): Boolean;
var db : OLEVariant;
tempFile : String;
begin
result := true;
try
screen.cursor := crSQLWait ;
db := GetDAO_Object ;
result := false;
try
tempFile := ExtractFilePath (mdbFilename) + '\msaTemp.mdb';
db.CompactDataBase(mdbFIleName,tempFile);
DeleteFile(mdbFileName);
RenameFile (tempFile,mdbFileName);
Result := true;
Except on EOLEexception do
Result := false;
end
finally
db := Unassigned ;
screen.cursor := crDefault ;
end;
end;
Top
6 楼supershan()回复于 2000-12-25 22:46:00 得分 10
上面的回答可以
procedure CompactDb;
var
Mydb:_DBEngine;
SourceFileName:String;
TargetFileName:String;
begin
SourceFileName:=G_Path+G_CurrentAccount+'.mdb';
TargetFileName:=G_Path+'compact.mdb';
try
Mydb:=CoDBEngine.Create;
Mydb.CompactDatabase(SourceFileName,TargetFileName,'',0,'');
Mydb.FreeLocks;
except
end;
DeleteFile(SourceFileName);
RenameFile(TargetFileName,SourceFileName);
end;
再写一个给你
Top
7 楼dana(dana)回复于 2001-06-09 08:35:00 得分 0
请问一下如果数据库加密码,如何压缩?Top




