在打开SqlConnection之前处理不同的ConnectionStates如果你需要在发出查询之前打开一个SqlConnection,你能以同样的方式处理所有未打开的ConnectionStates吗?例如:if(connection.State!=ConnectionState.Open){connection.Open();我在某处读到,对于ConnectionState.Broken,连接需要关闭才能重新打开。有人对此有经验吗?谢谢-http://msdn.microsoft.com/en-us/library/system.data.connectionstate.aspx中断的连接状态需要关闭并重新打开才能继续使用。编辑:不幸的是,关闭关闭的连接也可能是错误的。在对未知连接进行操作之前,您需要测试ConnectionState。也许一个简短的转换语句就可以解决问题。这并不能直接回答您的问题,但最佳做法是为每次访问数据库打开和关闭连接。ADO.NET连接池确保了这一点。在ASP.NET等服务器应用程序中执行此操作尤为重要,但我什至会在直接访问数据库的WinForms应用程序中执行此操作。例子:using(SqlConnectionconnection=newSqlConnection(...)){connection.Open();//...doyourstuffhere}//连接在这里被释放和关闭,即使通过这种方式抛出异常,打开连接时也不需要检查连接状态。你可以用同样的方式处理它。使用IE9时,我遇到了许多连接状态==中断。IE9从根本上来说是错误的,因为没有其他浏览器在数据库表更新5或6次后出现这种断开连接状态的问题。所以我使用对象上下文。所以基本上只是关闭它并重新打开它。在我的businss逻辑层的所有读取和更新之前,我有这段代码:以上是C#学习教程:在打开SqlConnection之前处理不同ConnectionStates的全部内容,如果对大家有用需要了解更多关于C#学习教程,希望大家多多关注——if(context.Connection.State==System.Data.ConnectionState.Broken){context.Connection.Close();context.Connection.Open();}本文收集自网络。不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
