请问如何实现Access数据库 的 压缩与 修复??
解决方案 »
- indy控件 客户端如何获得与服务器端的连接状态
- 如何将一个记录类型指针所指的值复制给另一个指针?
- 用QUICKREPORT如何时间这样的打印,SQL语言能实现吗?急等
- 救命啦!求各位高台贵手救救我吧!
- 为什么我把服务器端的 DataSetProvider1.ResolveToDataSet 设为True时,客户端不能更新数据
- 到底现在学习技术,研究操作系统,api哪个最有发展前途啊??
- !!!关于TQUERY,帮我看看
- 怎么出现这样的情况,想了好久都不明白。
- 如何在QR中把一个字段的内容分行显示?
- 请问“键列信息不足或不正确,更新影响到过多的行”是什么意识?
- 如何解决
- 主从表结构中,主表和从表通过一id号关联,如果主表改变了原来已有记录的id号,那么从表的id号如何才能合理地更新为新的id号?
password: boolean): Boolean;
const
sProvider='Provider=Microsoft.Jet.OLEDB.4.0;';
var
oJetEng:JetEngine;
begin
if password then
sOldMDB:=sProvider+'Data Source='+sOldMDB+';jet oledb:database password="'+psw+'"'
else
sOldMDB:=sProvider+'Data Source='+sOldMDB; if password then
sNewMDB:=sProvider+'Data Source='+sNewMDB+';jet oledb:database password="'+psw+'"'
else
sNewMDB:=sProvider+'Data Source='+sNewMDB;
try
oJetEng:=CoJetEngine.Create;
oJetEng.CompactDatabase(sOldMDB, sNewMDB);
oJetEng:=Nil;
Result:=True;
except
oJetEng:=Nil;
Result:=False;
end;end;
==================
另外,你在这搜索一下,会有很多解答的
// C:\Program Files\Common Files\System\ADO\msjro.dll
编译通不过, 求解!!!
const
sProvider='Provider=Microsoft.Jet.OLEDB.4.0;';
var
oJetEng:JetEngine;
begin
if password then
sOldMDB:=sProvider+'Data Source='+sOldMDB+';jet oledb:database password="'+psw+'"'
else
sOldMDB:=sProvider+'Data Source='+sOldMDB;
if password then
sNewMDB:=sProvider+'Data Source='+sNewMDB+';jet oledb:database password="'+psw+'"'
else
sNewMDB:=sProvider+'Data Source='+sNewMDB;
try
oJetEng:=CoJetEngine.Create;
oJetEng.CompactDatabase(sOldMDB, sNewMDB);
oJetEng:=Nil;
Result:=True;
except
oJetEng:=Nil;
Result:=False;
end;
end; {10.CompactAndRepair(压缩Access数据库,用到JRO_TLB单元,可按下面方法加入) }
{ a) 在Delphi IDE中选择Project - Import Type Library. }
{ b) 往下翻直到你找到“Microsoft Jet and Replication Objects 2.1 Library”.}
{ a) 在Delphi IDE中选择Project - Import Type Library. }
{ b) 往下翻直到你找到“Microsoft Jet and Replication Objects 2.1 Library”.}