Kar*_*nth 1 c# sql-server asp.net
我需要在SqlConnection.Open()
里面使用:
using (SqlConnection var = new SqlConnection())
{
//my operations
}
Run Code Online (Sandbox Code Playgroud)
?
如果我不通过SqlConnection.Close()
功能处理此连接会发生什么?
该using
语句只是语法糖,它确保无论如何Dispose
都会在实例上调用,因此在您的情况下大致相当于(根据 MSDN):IDisposable
using (SqlConnection connection = new SqlConnection())
SqlConnection connection = new SqlConnection();
try
{
// Operations.
}
finally
{
if (connection != null)
{
connection.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
SqlConnection
Dispose
在和的情况下,Close
调用实际上是等效的,因此对 的调用Close
在块内是多余的using (SqlConnection)
。
Open
另一方面,在许多情况下调用仍然是必要的(例如,在调用 , , 之前ExecuteReader
)ExecuteScalar
。ExecuteNonQuery
该using
语句对您是否需要显式打开连接没有影响 - 仅对您是否需要显式关闭它有影响。
归档时间: |
|
查看次数: |
805 次 |
最近记录: |