1.利用try***catch***finally语句块
确保在Finally块中关闭任何已经打开的连接。如下:
try
{
//打开数据库连接
conn.Open();
//对数据进行处理
}
catch(Exception ex)
{
//处理异常
}
finally
{
//确保关闭数据库连接
conn.Close();
}
2.第二种方式,使用using 语句块
string source="server=(local);"+
"integrated security=SSPI;"+
"database=Northwind";
using(SqlConnection conn=new SqlConnection(source))
{
//打开数据库连接
conn.Open();
//处理数据
}
在第二种方式,无论块是如何退出的,using 子句都会确保关闭数据库连接。
3.推荐的方法:组合使用前两种方法。
try
{
using(SqlConnection conn=new SqlConnection(source))
{
//打开连接
conn.Open();
//处理数据
//手动关闭连接
conn.Close();
}
}
catch(Exception ex)
{
//处理异常
}