在con1的AfterDisconnect事件中,添加代码
con1.Connected :=false;
con1.ConnectionString :='Provider=SQLOLEDB.1;Password=backspace123;Persist Security Info=True;User ID=sa;Initial Catalog=bacd;Data Source='+s1;
con1.Connected :=true;
再打开需要用到的表就可以了.如果网断的时间比较长就只能加入timer,定时检测con1是否连接,断开了就自动连上.
首先要设定AdoConnection属性KeepConnection 为False。
这样可以保证每次SQL连接取数后,connection都会为False。但此种设置会导致系统效率下降。
在程序中调用ping,检查ping的返回值,当返回为超时的时候主动断开数据库连接连接,当返回值为连通时连接数据库(需加一个数据库是否已经连接的判断)
if not AdoConnection.connected then
begin
AdoConnection.connect := true;
end;
然后 on object inspector,
set loginprompt = false
在timer组件中加入个判断
if not ado.connected then
begin
重新连接的代码
end;