ExecuteScalar会自动关闭连接吗?
答案 0 :(得分:6)
不,您需要在使用ExecuteScalar()时显式打开和关闭连接。
答案 1 :(得分:5)
您可以使用扩展方法创建重载,但我不确定这是不是一个好主意。
public static object ExecuteScalar(this IDbCommand Command, bool CloseConnetion)
{
(if Command == null)
throw new NullReferenceException();
object obj = null;
try
{
obj = Command.ExecuteScalar();
}
finally
{
if(CloseConnection && Command.Connection.State != ConnectionState.Closed)
Command.Connection.Close();
}
return obj;
}
答案 2 :(得分:3)
这取决于
可以编写IDbCommand
的实现来关闭连接
但据我所知,提供的实现不会关闭连接。