使用C#访问数据库资源需要如下几步:
SqlConnection con=new SqlConnection(str); try { con.Open(); //略 } catch(Exception ex) { throw ex; } finally { con.Close(); }
数据库通常属于有限资源管理器,因此要在使用完后立即关闭
这样的写法确保了即使有异常发生,连接也会被释放
除了使用try-catch-finally语句外,还可以使用using语句来释放资源
using的两个作用:
1.导入命名空间
2.释放对象占用的内存资源
语法:
using(SqlConnection con=new SqlConnection(str)) { //操作代码 }
当程序执行到using语句末尾处时,也就是将要出{}时,CLR立即通过调用对象的Dispose()方法释放对象
Dispose()方法:
那些对象才可以使用using回收?
必须实现了IDisposable 接口的类型才可以使用using回收
using回收的是托管还是非托管资源?
回收的是非托管资源