我用ado连接远程oracle数据库,如果远程数据库异常或网线等原因无法打开表,用下面代码为什么不会立即显示"无法打开数据库表!"?而是程序处于"死机"状态.请问用什么方法能立即测试出是否连接成功.谢谢!
with adoquery1 do
begin
try
close;
sql.Clear;
sql.Add('select * );
sql.Add('from table1 where u_id=:myid');
Parameters.ParamByName('myid').Value:=Edit1.text;
open;
except
showmessage('无法打开数据库表!');
end;
end;
with adoquery1 do
begin
try
close;
sql.Clear;
sql.Add('select * );
sql.Add('from table1 where u_id=:myid');
Parameters.ParamByName('myid').Value:=Edit1.text;
open;
except
showmessage('无法打开数据库表!');
end;
end;
try
if ADOConnection1= False then
ADOConnection1.open;
except
showmessage('数据库连接失败');
ADOConnection1.Free;
Exit;
end;试试可不可以
open后就死了吗?那说明他在拼命的尝试连接,把超时(ConnectionTimeOut)设置一下应该可以解决。
不过在设计时要把ADOConnection1.Active设为False