进行操作前先判断一下cn.state的值,为0表示cn没有正常打开……

解决方案 »

  1.   

    cn.state 时间很长么 为0后在CN.OPEN么?
      

  2.   

    好象没有其他的好办法只有每次timer的时候连接依次判断cn.state的状态,假如不连接就判断得不到正确的结果,因为第一次连接成功后你不进行第二次连接cn.state的值不会改变
      

  3.   

    用on error 处理,
    若出错在error里再判断cn.state,若cn.state=0, 则再进行连接否则就是其它错误了
      

  4.   

    cn.state是一个状态标志,读起来几乎不费时间的,如果cn.state为零,那么你要进行数据库操作之前肯定要先重新做cn.open,如果cn.state总是为零的话,建议你检查一下在做cn.open时的设置是不是正确(也就是数据库的连接字符串是否正确……)
      

  5.   

    if cn.state=adstateclosed then cn.open
      

  6.   

    除了判断cn.state 没有别的方法了么?还有事不是在 on error 是判断谢谢
      

  7.   

    On Error GoTo Err:
    '这里使用On Error Resume Next也可以,不过本人不推荐;
    If cn.state=adstateclosed Then 
      '执行打开等操作
    Else
      '已经联结
    End If
    Exit Sub
    Err:
    出错处理。