问题描述
|
如何强制关闭数据库连接?
我用来创建连接的示例代码是:
class Customer{
private readonly Database _db;
public Customer(){
_db = = DatabaseFactory.CreateDatabase(_userSettings.ConnstringName);
}
.. stuff to use this connection..
}
解决方法
将代码(使用此连接的东西)放在“ 1”块中,这将确保连接已关闭。例如:
using (DbCommand command = _db.GetStoredProcCommand(sprocName,parameters))
{
和:
using (IDataReader rdr = _db.ExecuteReader(command))
{
使用块是确保正确关闭资源的一种好方法:
using语句允许
程序员指定对象的时间
使用资源应释放
他们。
否则,您必须在连接对象上显式调用Close()
方法:
if (command.Connection.State == ConnectionState.Open)
command.Connection.Close();