2种方式确保数据库连接资源在使用后立即释放
1.使用try...catch...finally语句块
确保释放资源的第一种方式是利用try...catch...finally块,确保在finally块中关闭任何已打开的连接。比如:
try
{
conn.Open();
.....//使用连接资源,做一些你想做的事情
}
catch(Exception E)
{
//处理异常
}
finally
{
//确保此时不再需要使用连接资源,关闭它。
conn.Close();
}
2. 使用Using 语句块
例如:
string strconn=ConfigurationSettings.AppSettings["connstr"];
using(SqlConnection conn=new SqlConnection(strconn))
{
conn.Open();
.....
}
3.大多数情况推荐一起使用:
string strconn=ConfigurationSettings.AppSettings["connstr"];
try
{
using(SqlConnection conn=new SqlConnection(strconn))
{
conn.Open();
.....//使用连接资源,做一些你想做的事情
conn.Close(); /*能够确定不使用就要立即关闭它!虽然using子句会实现IDisposable 接口,释放资源。*/
}
}
catch(Exception E)
{
//处理异常
}
在C#高级编程第三版对这个问题说的非常的细致,有兴趣的人可以买来看一下。