日期:2014-05-19  浏览次数:20385 次

这个方法 有没有释放资源了。谢谢。
这个方法   有没有把所有资源释放了。谢谢。没有的话,如何释放所有资源。
                public   static   DataSet   PageList(string   sql,   ref   AspNetPager   pager)
                {
                        //创建一个OleDbCommand对象,并对其进行初始化
                        using(OleDbConnection   conn   =   new   OleDbConnection(Cwg.DAL.AccessHelper.CONN_STRING))
                        {
                                conn.Open();
                                //创建OleDbDataAdapter对象以及DataSet
                                OleDbDataAdapter   da   =   new   OleDbDataAdapter(sql,conn);
                                DataSet   ds   =   new   DataSet();

                                //填充ds
                                da.Fill(ds,   pager.PageSize   *   (pager.CurrentPageIndex   -   1),   pager.PageSize,   "pager ");
                                //返回ds
                                return   ds;
                        }
                }

------解决方案--------------------
using()
{

}
会在打括号执行完释放资源

------解决方案--------------------
嗯,会的
------解决方案--------------------
OleDbConnection 被释放资源 OleDbDataAdapter 没有
------解决方案--------------------
using(OleDbConnection conn = new OleDbConnection(Cwg.DAL.AccessHelper.CONN_STRING))
{
conn.Open();
//创建OleDbDataAdapter对象以及DataSet
OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);
DataSet ds = new DataSet();

//填充ds
da.Fill(ds, pager.PageSize * (pager.CurrentPageIndex - 1), pager.PageSize, "pager ");
//返回ds
return ds;
}
相当于

try
{
OleDbConnection conn = new OleDbConnection(Cwg.DAL.AccessHelper.CONN_STRING))

conn.Open();
//创建OleDbDataAdapter对象以及DataSet
OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);
DataSet ds = new DataSet();

//填充ds
da.Fill(ds, pager.PageSize * (pager.CurrentPageIndex - 1), pager.PageSize, "pager ");
//返回ds
return ds;
}
catch ()
{
//--
}
finally
{
conn.Close();
}