各位,我用OdbcConnection连接MySQL,在程序运行的过程中,MySQL关闭了,但是OdbcConnection的State依然是ConnectionState.Open,郁闷!我研究了一下,好像OdbcConnection.State它不会自动修改自己的值.那位高手能帮帮忙?

解决方案 »

  1.   

    MySql服务器关闭了,不会通知你的OdbcConnection对象啊,ConnectionState.Open只是代表你的连接对象处于打开状态.
      

  2.   

    to lxhvc,那我怎么做知道连接断了呢?
      

  3.   

    要么运行一个线程监控服务器是否在线,要么根本不管服务器是否正常,在运行SQL的时候加上
    try...catch进行错误处理。
    其实第二种是我最常用的。
      

  4.   

    就不停的
    try
    {
    conn.open();
    conn.close();
    }
    catch
    {
    //这里就知道断了
    }
    轮询的办法. 能不能在数据库那里想想办法.......
      

  5.   

    应该是先conn.close(),然后再conn.open()吧  :)
      

  6.   

    一般来说根本不需要判断服务器是否断线。因为不管是不是用轮询,SQL语句周围的try语句是不可避免要写的,必竟更多的错误还是出在数据上。比如SQL参数写错了,表不存在了或其他各种原因。而服务器断线机率是很小的。