使用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回收的是托管还是非托管资源?
回收的是非托管资源