connection有一个表示连接状态的属性,名字叫STAGE或是什么我记不清了,你查一下MSDN,它有几种状态,用这个判断比较快。

解决方案 »

  1.   

    写个aspx,再用Microsoft Application Center Test 比较不知道符合你的要求不
      

  2.   

    to ark_matrix(matrix):
       我是测试连接能够连上,又不是检查连接状态
    to  ylfzly:
       比较什么?我就知道这一种方法啊
    to tianjue0921(天珏) :
       VS里测试连接怎么那么快呢?
      

  3.   

    我做过的一个程序确实是这样的,如果有错误例如sqlserver不存在,捕获异常会很慢,通过判断连接时的状态确实是可以很快的到测试结果的
      

  4.   

    to ark_matrix(matrix):
        那我声明一个connection后赋予连接字符串后怎么做呢?open吗?能给点代码示例一下吗?
      

  5.   

    现在在家没有现成的代码,大概是这样的
    conn.open();
    if conn.State<>1 //连接不正常
    MessageBox.Show("连接不正常");
      

  6.   

    to ark_matrix(matrix)
       但是一旦open了一个不存在的连接不就会有异常抛出了吗?
      

  7.   

    正如你所遇到的,连接数据库时如果出错的话会花很长时间,在open之后是不会马上出现异常的,所以在open之后直接判断或延迟一段时间判断connection的状态是不会抛出异常的
      

  8.   

    to ark_matrix(matrix)
        那我试试看
      

  9.   

    to ark_matrix(matrix)
        那要怎样才能不让连接抛出异常呢?
      

  10.   

    那个连接状态是SqlConnection.ConnectState,枚举类型。但我觉得这个状态在这儿用处不明显。在配置好SqlConnection的ConnectString后,立即调用Open方法,如果无法连接的话,异常就已经被抛出了,此时你捕获异常和判断ConnectState效果是一样的吧。
      

  11.   

    to ShanShiMin
       可就是速度太慢了,VS里有个服务器资源管理器测试连接速度就挺快的