如果我在一个Using中包装一个SQLConnection,我应该关闭它还是使用句柄来结束它?
using cn as new system.data.sqlclient.sqlconnection()
cn.open
'{do a bunch of other stuff with commands and datareaders here}
cn.close 'Do I need this?
end using
Run Code Online (Sandbox Code Playgroud) 这可能是我的误解,但我确实有很大的问题.请考虑以下代码:
static void Main(string[] args)
{
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
int i = 10;
con.Close();
con.Dispose();
}
int y = 10;
}
Run Code Online (Sandbox Code Playgroud)
在线int y = 10,放置一个断点.
现在,转到SQL Server并右键单击与connectionString上面代码相同的SQl Connection ,然后选择"Activity Monitor".运行上面的代码并检查SQL Server活动监视器.当con.Open()被执行时,活动监视器显示,连接已经完成.到现在为止还挺好!但是当光标到达指示的行时int y = 10;,活动监视器仍会显示不应存在的连接!因为我关闭它,我处理了它,甚至我也通过了使用声明.
有谁知道如何关闭连接?