如何让程序超时断开连接

coderee 2013-11-07 03:09:06
delphi编制的erp程序,如何在客户端与服务器的数据库在5分钟内没有数据交互时,自动断开连接,数据交互包括查询、更改、删除。
...全文
245 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Frank6600 2013-11-11
  • 打赏
  • 举报
回复
> 你连接数据库保持5分钟之久?不论如何,没事就别连接,连接了就马上干完要干得时然后立即关闭连接。 是这样吗? 连接需要额外的时间, 所以,我通常连上去,基本上C/S框架上,直到关闭Client为止,都不会关闭连接。 现在B/S也一样,通常连上去,就一直用, Session结束了,只是把connection保留起来,不关闭连接, 直到下次有其他的Session再用。 你真的每次用几秒钟,不用就断开连接?
sololie 2013-11-10
  • 打赏
  • 举报
回复
你连接数据库保持5分钟之久?不论如何,没事就别连接,连接了就马上干完要干得时然后立即关闭连接。
cqs6616 2013-11-10
  • 打赏
  • 举报
回复
3层直接在服务端判断时间超时,直接清除session; 2层只能在客户端判断.
Frank6600 2013-11-07
  • 打赏
  • 举报
回复
1.继承 TADOConnection, TADOQuery 等控件,写自己的 TConnection 和 TQuery; 2.改写Exec, Open, Post 一切与数据库有交互的等方法,一但有交互事件,调用自订的TConnection的OnExchange事件; 3.TConnection.OnExchange事件处理器中纪录最后交互时间; 4.系统下有一Timer,1秒钟一次查询TConnection最后交互时间,若超过5分钟,则: 4.1用个画面阻止用户使用,除非输入用户名,密码; 4.2断掉TConnection; 5.用户输入用户名密码后: 5.1隐藏阻止画面; 5.2设置最后交互时间,重连TConnection, ok, 这样就行了。
虎子8 2013-11-07
  • 打赏
  • 举报
回复
每一个 数据库操作的地方 都作一个异常处理,这是原则 try except end

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧