晕: Acess压缩修复函数蹦出个"无效的类别字符串"(50分)

  • 主题发起人 主题发起人 gxw
  • 开始时间 开始时间
G

gxw

Unregistered / Unconfirmed
GUEST, unregistred user!
uses ComObj;
.......
.......
function CompactDatFile(FN,PW: string): boolean; //压缩修复access库
var
Temp: string;
vJE: OleVariant;
begin
Temp:='Temp.dat';
try
vJE:=CreateOleObject('JRO.JetEngine'); //此处报错:"[red]无效的类别字符串[/red]"
vJE.CompactDatabase(format(ConnStrFormat,[FN,PW]),format(ConnStrFormat,[Temp,PW]));
result:=CopyFile(PChar(Temp), PChar(FN), false);
DeleteFile(Temp);
except
result:=false;
end;
end;

以前用此函数均正常.莫名其妙中~~[:(][:(]
 
不明白,我是这样压缩的,你试试。
function CompactAndRepair(sOldMDB,snewMDB:string):boolean;
const
sProvider='Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="zywcd13508046766";';//你自己的连接串
var
oJetEng:JetEngine;
sNewMDB1,soldMDB1:string;
begin
soldMDB1:=sProvider+'Data Source='+sOldMDB+';';
sNewMDB1:=sProvider+'Data Source='+snewMDB+';';
datam.DataM1.ADOConnection1.Close;//关闭连接
try
oJetEng:=CoJetEngine.Create;
oJetEng.CompactDatabase(soldMDB1,sNewMDB1);
oJetEng:=nil;
result:=true;
DeleteFile(sOldMDB);
RenameFile(snewMDB,sOldMDB);
except
oJetEng:=nil;
result:=false;
end;
datam.DataM1.ADOConnection1.Connected:=true;//重新打开连接
end;
 
to zywcd:
一样报错,2天后发现是机子中毒,被杀毒软件自动干掉了一个不知道什么系统文件,重装后解决了~~

散分,感谢关注[:D]
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
829
import
I
后退
顶部