在程序运行中,如何得知sqlsrever服务器已经异常断开,手工连接好网络后,如何让程序不重新运行而得知连接已正常,不再继续报‘无法连接网络’的错误。(200分

  • 主题发起人 主题发起人 shangshang
  • 开始时间 开始时间
路过的各位,想知道答案的帮忙up一下哦。
 
如果客户端断了,就弹出对话框提示是否重试,close,open后还是不通就再弹出对话框
……这样把主动权给客户……
 
这是常见的问题,但是必须考虑服务器网线断或Sql Server服务器已死掉是比较少的一种情况,
所以我们可以在Post时捕捉post错误,如果是由于服务器的问题,而不是数据库约束问题的话,
可以提供一个菜单,让他重新连接数据库,以此操作,可能会好一点
 
每次post进行连接测试。
或是截断错误消息。
 
不可能在onposterror中都执行adoconnection.close; open;啊,
因为绝大部分出错并不是连接出错引起的啊。
 
不可能在onposterror中每次断开再连adoconnection啊。
因为绝大部分错误并不是连接中断引起的啊
 
为什么我‘发出’的时候老是报错, 要我到microsoft网站上寻求技术支持。
 
怎么没信了?
我踢!
 
我觉得pmlpml并不只是在活跃气氛!
人总不能因为吃饭能咽着,就需要不停的检测!哈哈
网线也不可能经常断开,所以出错就重新启动,有何不可。
 
網絡斷開的的可能性總是很小的吧﹐我認為重程序的好﹗﹗搞軟件﹐硬件總要跟上去啊﹗要不
再好的軟件也白搞﹗
 
用异常捕捉,如果出错就重试。
要不然,屏幕黑了、键盘鼠标坏了、人跑了咋办。
程序是要修栏杆,但不可能修成防弹墙,太完美是不可能的,
只要不要让用户摔得鼻青脸肿就行。
 
网络是否联通可以编一下钩子程序,如果发现网络不通可以报错。
 
关注一下,因为我也曾想过此问题。
网络断开的可能性很小,这句话有问题,这要看你的系统运行在什么环境下,我曾开发的一个系统就运行在33.6的复杂条件下,很易断线。
 
多谢大家,欢迎继续研究
 
我觉得 斗士 说得可以啊?
你把 POST 的那部分写到一个函数里,比如 post();
这样来做不就可以减少了:

try
post;
except
try
ado.connect;
post;
except
// 报错。。
end;
end;
 
在楼上的基础上修:
try
post;
except
try
if not ado.connected then
ado.connect
else
begin
ado.close;
ado.open;
end;
post;
except
// 报错。。
end;
end;
 
后退
顶部