读书人

ADOquery 的有关问题连接失败

发布时间: 2012-03-03 15:33:02 作者: rapoo

ADOquery 的问题,连接失败!
我第一次执行
adoquery1.open 成功,并且没有错误。
让程序用定时间自动每分钟查询一次,结果第二次它就出错了
出错提示为:
project update.exe raised exception class EOLeException with message '连接失败'. Process stopped.Use Step or Run to continue.

这是怎么回事?应该如何处理让它继续执行SQL查询?

[解决办法]
我的定时器是每1.5秒查询一次,每天都是大概4到5个小时之后报错的,也有"连接失败"的错误,估计会是连接池或缓存等等什么占用后的资源没释放的原因,快2个星期了还没解决.所以很关注你这个问题.
象你这样第2次就出错,看不出什么问题,将定时器里的代码贴出来看看.
[解决办法]
我第一次执行
adoquery1.open 成功,并且没有错误。
让程序用定时间自动每分钟查询一次,结果第二次它就出错了
出错提示为:
project update.exe raised exception class EOLeException with message '连接失败'. Process stopped.Use Step or Run to continue.
这是怎么回事?应该如何处理让它继续执行SQL查询?
-----------------
你说的可能是这样的情况:如果数据比较大的话,SQL语句还执行完,可能系统已经第二命令启动了,,,所以这里应该添加一个判断机制或其它东西判断一下,,
[解决办法]
你的Timer 里执行的代码可能还没执行完 1.5 秒太短了 放大点试一试 ~

还有 数据库连接最好是通过 TADOCOnnection 来连接 ! ADOConnection对连接有管理功能
[解决办法]
在Timer的里面先执行Enabled:=false;然后执行你的事件后再Enabled:=true;
[解决办法]

或是在定显示器事件里设一个断点,每1.5秒就是那停一下,再F9,要是没有出错了,那么就可能是时间太短

了,数据还没有处理完.
[解决办法]
或是在定定时器事件里设一个断点,每1.5秒就是那停一下,再F9,要是没有出错了,那么就可能是时间太短
了,数据还没有处理完.
[解决办法]
在Timer的里面先执行Enabled:=false;然后执行你的事件后再Enabled:=true;
在处理事件中,判断数据库是否联接正常,不正常重新联接数据库。
[解决办法]
或是在定定时器事件里设一个断点,每1.5秒就是那停一下,再F9,要是没有出错了,那么就可能是时间太短
了,数据还没有处理完.

====同意qkhhxkj102 观点

读书人网 >.NET

热点推荐