代码之家  ›  专栏  ›  技术社区  ›  David B

在打开SqlConnection之前处理不同的ConnectionState

  •  5
  • David B  · 技术社区  · 17 年前

        if (connection.State != ConnectionState.Open)
        {
            connection.Open();
        }
    

    我在某个地方读到连接状态。断开的连接需要在重新打开之前关闭。有人有这方面的经验吗?谢谢-

    3 回复  |  直到 17 年前
        1
  •  6
  •   ddc0660    17 年前

    http://msdn.microsoft.com/en-us/library/system.data.connectionstate.aspx

    断开的连接状态确实需要关闭并重新打开才能继续使用。

    编辑:不幸的是,关闭一个关闭的连接也会受阻。在对未知连接执行操作之前,需要测试ConnectionState。也许一个简短的switch语句就可以做到这一点。

        2
  •  4
  •   to StackOverflow    17 年前

    例子:

    using(SqlConnection connection = new SqlConnection(...))
    {
       connection.Open();
       // ... do your stuff here
    
    }  // Connection is disposed and closed here, even if an exception is thrown
    

        3
  •  3
  •   Pang Ajmal PraveeN    5 年前

    在业务逻辑层的所有读取和更新之前,我有以下代码:

    if (context.Connection.State == System.Data.ConnectionState.Broken)
    {
        context.Connection.Close();
        context.Connection.Open();
    }
    
    推荐文章