下面内容中的SqlConnection连接对象为什么可以不用关闭?

如方法:
public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();

using(SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd, conn, cmdType, cmdText, commandParameters);
//方法 PrepareCommand()中有开启SqlConnection,而执行完毕后为什么可以不用关闭?
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
}
这里的SqlConnection连接对象为什么可以不用关闭?以及using放在这里使用的作用是什么?

慕村225694
浏览 406回答 2
2回答

炎炎设计

这个用处大了去了,在using ()中新建的对象,比如你这里的conn,会在{}结束的时候自动关闭和释放,不需要你手动进行。

一只甜甜圈

using 相当于引用。如果你那样用using的话,只要引用结束的话,就会直接销毁。所以就不用再去关闭了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server