代码实现delphi与sqlserver的连接 50

由于网络的原因,delphi与sqlserver的连接会中断,要求不重新启动程序的情况下,程序检测到连接中断,则重新连接。这里用代码实现重新连接怎么写?程序中AdoCon... 由于网络的原因,delphi与sqlserver的连接会中断,要求不重新启动程序的情况下,程序检测到连接中断,则重新连接。
这里用代码实现重新连接怎么写?
程序中AdoConnection控件的属性ConnectionString已经设置好了,也用过connection.Close;
connection.Open;的方法。都不奏效。
现在重点是程序运行一段时间后会因为ip冲突而断了连接,想要内部自行连接。
展开
 我来答
fw8215612
2011-02-17
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
在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是否连接,断开了就自动连上.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jcabo
2011-02-25
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
首先要设定AdoConnection属性KeepConnection 为False。
这样可以保证每次SQL连接取数后,connection都会为False。但此种设置会导致系统效率下降。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdszyc927
2011-02-18 · 超过18用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:40.3万
展开全部
在程序中调用ping,检查ping的返回值,当返回为超时的时候主动断开数据库连接连接,当返回值为连通时连接数据库(需加一个数据库是否已经连接的判断)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
conan415
2011-02-18 · TA获得超过138个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:206万
展开全部
if not AdoConnection.connected then
begin
AdoConnection.connect := true;
end;
然后 on object inspector,
set loginprompt = false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mit1208
2011-02-17 · TA获得超过2347个赞
知道大有可为答主
回答量:2743
采纳率:0%
帮助的人:1833万
展开全部
在timer组件中加入个判断
if not ado.connected then
begin
重新连接的代码
end;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式