with Reclist^.adocon do
begin
Reclist^.adocon.LoginPrompt := false;
ConnectionString :='......';
Reclist^.adocon.Connected := false;
Reclist^.adocon.ConnectionString := ConnectionString;
try
begin
Reclist^.adocon.Connected := true;
Result := true;
end;
except
showmessage('catch database fail');
Result := false;
end;
以上代码省略了ConnectionString。
在正常情况下可以连接上数据库,但在网络故障的情况下,除了跳出“catch database fail”对话框外,还会出现一个很讨厌的“Connection fail”或者“连接失败”的对话框。请问怎么把这个“连接失败”的框去掉?
begin
Reclist^.adocon.LoginPrompt := false;
ConnectionString :='......';
Reclist^.adocon.Connected := false;
Reclist^.adocon.ConnectionString := ConnectionString;
try
begin
Reclist^.adocon.Connected := true;
Result := true;
end;
except
showmessage('catch database fail');
Result := false;
end;
以上代码省略了ConnectionString。
在正常情况下可以连接上数据库,但在网络故障的情况下,除了跳出“catch database fail”对话框外,还会出现一个很讨厌的“Connection fail”或者“连接失败”的对话框。请问怎么把这个“连接失败”的框去掉?
"[DBNETLIB][Connectionopen(connect())].sql sever 不存或拒绝访问。"
这段代码就是用来重新建立connection的
begin
Reclist^.adocon.LoginPrompt := false;
ConnectionString :='......';
Reclist^.adocon.Connected := false;
Reclist^.adocon.ConnectionString := ConnectionString;
try
begin
Reclist^.adocon.Connected := true;
Result := true;
end;
except
on OLEException do
begin
showmessage('catch database fail');
Result := false;
end;
end;
需要捕获异常才能屏蔽掉系统的基类异常处理,另外连接失败的错误好象是OLEException类的,记得调试的时候错误信息里也是这个类的。但好象实际上捕获不到,这样就只能用exception了,把OLEException改成Exception是一定能捕获的,但oleexception不能保证,你自己看具体情况办好了。
用On EOleException do
和on Exception do
还是那样
Reclist^.adocon.LoginPrompt := false;
ConnectionString :='......';
Reclist^.adocon.Connected := false;
就已经出问题了。