最近做的一个数据库管理系统  由于数据量过大 现在出现了System.OutOfMemoryException的问题请问如何处理
源代码:if (Session["Power"].ToString() == "管理员")
        {
            Response.Write("<script> alert('您没有去重权限')</script>");
        }
        else
        {
            int rows = 0;
            BLL.CustomInfor bll = new BLL.CustomInfor();
            DataSet ds1 = bll.SelectForDelete("业主");
            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
            {
                DataSet ds2 = bll.SelectByID("业主", Convert.ToInt32(ds1.Tables[0].Rows[i]["C_id"].ToString()));
                for (int j = 0; j < ds2.Tables[0].Rows.Count; j++)
                {
                    if (ds1.Tables[0].Rows[i]["C_Phone"].ToString() == ds2.Tables[0].Rows[j]["C_Phone"].ToString())
                    {
                        rows = rows + bll.DeleteCus(Convert.ToInt32(ds2.Tables[0].Rows[j]["C_id"].ToString()));
                    }
                }
            }
            Response.Write("<script> alert('共删除了" + rows + "条数据')</script>");
        }
        Bind();

解决方案 »

  1.   

    你用這個最快的表格來加載你的數據,肯定比其它表格快10倍以上http://www.dapfor.com/en
    我博客有xx版本這裡
      

  2.   


    每次查询只查一页不就行了吗  为什么要都放进去呢  如果你硬要都放进去  估计你那代码再怎么调整也没用因为它是要占用大量内存的  再者说加载的时间也不是一般人能接受的 System.OutOfMemoryException  已经提示你内存溢出了嘛
      

  3.   

    是用Sql 语句写分页吗?gridview的自带分页不行吗?
      

  4.   

    那去重怎么处理呢?你需要提出每一条数据然后跟数据库的比对  这个也用sql语句写分页实现吗?
      

  5.   

    直接通过sql语句在数据库删除重复数据,不要读取出来用程序判断是否重复