ACCESS数据库,DELPHI开发,在系统退出时进行MDB数据库的压缩,但是总是会出现“%S无效或者不匹配”,然后死循环,请教是什么原因
ACCESS数据库,DELPHI开发,在系统退出时进行MDB数据库的压缩,但是总是会出现“%S无效或者不匹配”,然后死循环,请问是什么原因?
代码是这样的:
constring:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s; '+ 'Jet OLEDB:Database Password=%s ';
try
vJE:= CreateOleObject( 'JRO.JetEngine ');
vJE.CompactDatabase(format(constring,[AFileName,APassWord]),format(constring,[STempFileName,APassWord]));
------解决方案--------------------
var
constring:String;
//vje:TComObject;
vje:Variant;
AFileName,APassWord ,STempFileName:String;
begin
constring:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s; '+ 'Jet OLEDB:Database Password=%s ';
AFileName := 'D:\pciosr\kqreal\outp\kq.mdb ';
STempFileName:= 'D:\pciosr\kqreal\outp\kq_1.mdb ';
APassWord := ' ';
try
vJE:= CreateOleObject( 'JRO.JetEngine ');
vJE.CompactDatabase(format(constring,[AFileName,APassWord]),format(constring,[STempFileName,APassWord]));
except
end;
end;
测了一下没有问题啊
是不是其他地方错了,跟踪一下
代码是这样的:
constring:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s; '+ 'Jet OLEDB:Database Password=%s ';
try
vJE:= CreateOleObject( 'JRO.JetEngine ');
vJE.CompactDatabase(format(constring,[AFileName,APassWord]),format(constring,[STempFileName,APassWord]));
------解决方案--------------------
var
constring:String;
//vje:TComObject;
vje:Variant;
AFileName,APassWord ,STempFileName:String;
begin
constring:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s; '+ 'Jet OLEDB:Database Password=%s ';
AFileName := 'D:\pciosr\kqreal\outp\kq.mdb ';
STempFileName:= 'D:\pciosr\kqreal\outp\kq_1.mdb ';
APassWord := ' ';
try
vJE:= CreateOleObject( 'JRO.JetEngine ');
vJE.CompactDatabase(format(constring,[AFileName,APassWord]),format(constring,[STempFileName,APassWord]));
except
end;
end;
测了一下没有问题啊
是不是其他地方错了,跟踪一下