如果数据库开始都完全正常,突然网络断掉,那么所有对数据集的操作,如movenext,rs.eof等判断完全失效,可能会产生死循环,而判断数据库连接的状态又是1,打开的,怎么办,实际上数据库连接已经断掉了。

解决方案 »

  1.   

    這種可能性好小,因為每執行一句,一般用不了1秒,如果真有這種情況,可以用
    on error resume next .
      

  2.   

    这样:
    while not rs.eof
         ...
         rs.movenext
    如果...号部分的时候刚好网络断掉,那么以后的所有判断出的数据库操作都是错的,比如:MOvenext会返回"连接失败",之后的eof就成了一个死循环。而这时看数据库连接状态都是1,打开状态。数据库的状态为什么不能实时反映呢?
      

  3.   

    那是你用了ON ERROR RESUME NEXT  你应该用on error goto err 更好点
      

  4.   

    错误陷阱或ON ERROR RESUME NEXT .
      

  5.   

    用On Error Go To mErr处理错误不就行了吗?不明不白为什么还要知道数据库连接的正确状态?
      

  6.   

    有错误捕获机制,但数据库的state为什么不能正确反映当时的情况呢?
    to “RUKYO(SpeakFool - 蠢蠢的男子汉) ”,如果所有的东西都用goto ...解决,那么有可能你会被一个错误阻塞住,什么都做不了。
      

  7.   

    这样啦
    你用个定时器,定时执行"select getdate()"出错就说明断开了连接,其他就不要管了吧!