在一个erp系统中:
局域网中一客户端,一个adoquery通过adoconnection连接到sql server
一个按狃中写到:
begin
try
adoquery1.close; adoquery1.sql.clear;
adoquery1.sql.add('select * from t_1');
adoquery1.open;
showmessage('Succeed');
except
showmessage('Error');
end;
end;程序运行,我点击按钮。程序正常执行。
这时候 我把网线拔掉。再点按钮,提示错误。
到这里,都正常。但是,此时 我把网线接上去,再点击按钮, 还是提示 错误???要怎么判断 连接到sql server是否正常?????
局域网中一客户端,一个adoquery通过adoconnection连接到sql server
一个按狃中写到:
begin
try
adoquery1.close; adoquery1.sql.clear;
adoquery1.sql.add('select * from t_1');
adoquery1.open;
showmessage('Succeed');
except
showmessage('Error');
end;
end;程序运行,我点击按钮。程序正常执行。
这时候 我把网线拔掉。再点按钮,提示错误。
到这里,都正常。但是,此时 我把网线接上去,再点击按钮, 还是提示 错误???要怎么判断 连接到sql server是否正常?????
begin
try
if not adoconnection.connected then adoconnected.connected := true;
adoquery1.close; adoquery1.sql.clear;
adoquery1.sql.add('select * from t_1');
adoquery1.open;
showmessage('Succeed');
except
adoconnection.connected := false;
showmessage('Error');
end;
end;
执行 adoquery1.open
报错我把网线接上 执行adoquery1.open还是报错问题是:我把网线接上后,怎么才能正确执行adoquery1.open??????我把adoconnection里面的connectionstring在程序中重新赋值 也不行呀.
adoquery1...
..正常情况下你要执行的操作或一个测试连接查询
比如查下系统时间之类
except
try
adoconnection1.close;
adoconnection.connected:=true;
..你要执行的操作
except
messagebox(handle,'网络已断开','连接失败',mb_ob+mb_iconerror);
end;
end;
ping通的情况下 在执行一个语句
执行之前要把adoconnection.connected:=false
在true一下