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) { //处理异常 }