这个方法 有没有把所有资源释放了。谢谢。没有的话,如何释放所有资源。
        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;
            }
        }

解决方案 »

  1.   

    using()
                {            }
    会在打括号执行完释放资源
      

  2.   

    OleDbConnection 被释放资源 OleDbDataAdapter 没有
      

  3.   

    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();
    }
      

  4.   

    OleDbDataAdapter  没有  该怎么释放呢?谢谢。
      

  5.   

    using()方法使用相当与在主程序运行后执行Dispose方法,进行资源释放
      

  6.   

    那我的程序是不是要再调用da.Dispose()才 完全释放调用到的资源呢,谢谢?还有用using()..方法和用try{}catch{}finally{}的方法释放那个比较好了。谢谢
    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
                   da.Dispose()//再释放OleDbDataAdapter
                    return ds;
                }