wnk*_*nka 5 .net c# database sql-server
如果您需要在发出查询之前打开SqlConnection,您是否可以以相同的方式处理所有非Open ConnectionStates?例如:
if (connection.State != ConnectionState.Open)
{
connection.Open();
}
Run Code Online (Sandbox Code Playgroud)
我读到某个地方,对于ConnectionState.Broken,连接需要在重新打开之前关闭.有任何人对此有经验吗?谢谢-
这并没有直接回答您的问题,但最佳实践是为每次访问数据库打开和关闭连接。ADO.NET 连接池可确保其良好运行。在服务器应用程序(例如 ASP.NET)中执行此操作尤其重要,但即使在直接访问数据库的 WinForms 应用程序中我也会执行此操作。
例子:
using(SqlConnection connection = new SqlConnection(...))
{
connection.Open();
// ... do your stuff here
} // Connection is disposed and closed here, even if an exception is thrown
Run Code Online (Sandbox Code Playgroud)
这样,您在打开连接时就不需要检查连接状态。
http://msdn.microsoft.com/en-us/library/system.data.connectionstate.aspx
在符合继续使用条件之前,需要关闭并重新打开断开的连接状态.
编辑:不幸的是,关闭一个已关闭的连接也会不好意思.在对未知连接进行操作之前,您需要测试ConnectionState.也许一个简短的开关声明可以解决问题.
| 归档时间: |
|
| 查看次数: |
10713 次 |
| 最近记录: |