经常看到大家在数据连接当中使用using,我查了一下using的使用会释放数据库连接的物理链接,不再把连接放回到接连池。例子如下:
public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
}
}
我个人认为这样写会更好点,connection.Close();关闭后还会放回到连接池当中:例子如下,大家有什么意见,讨论一下。
public static int ExecuteSql2(string SQLString)
{
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand(SQLString, connection);
connection.Open();
int rows = cmd.ExecuteNonQuery();
connection.Close();
return rows;
}
connection.Close();关闭后还会放回到连接池当中 本来就是这个样子
using(...){}
在{}结束后,会收回()声明的对象,这样有利于优化内存管理器。
用using,但是也可以在{}里直接 con.Dispose() cmd.Dispose(),