解决方案 »

  1.   

    取消重复项,SQL中用select disinct实现
      

  2.   

    DataSet缓存项目汇总项目
    //汇总依赖
    protected void Page_Load(object sender, EventArgs e)
        {
            if (Cache["Employees"] == null)//判断DataSet是否有缓存
            {
                if (aggDep != null)//判断汇总依赖项对象是否已初始化
                {
                    if (aggDep.HasChanged)//判断汇总依赖项是否改变
                    {
                        txtAggDep.Text = "汇总依赖项集合中有项目改变!";
                        if (filedep.HasChanged)//判断文件依赖项改变
                        {
                            txtAggDep.Text += "XML文件依赖项改变!";
                        }
                        if (keydep.HasChanged)//判断Key依赖项改变
                        {
                            txtAggDep.Text += "Key Dependency改变!";
                        }
                    }
                }
                AddDependency();    //建立汇总依赖项
            }
            else
            {
                txtMsg.Text = "";
                txtAggDep.Text = "";
            }//CodeGo.net/
            GridView1.DataSource = (DataSet)Cache["Employees"];
            GridView1.DataBind();
        }
    //建立DataSet缓存的汇总依赖项
     private void AddDependency()
        {
            //依赖项一,XML文件
            dsEmployee = new DataSet(); //建立DataSet
            //读取XML文件
            dsEmployee.ReadXml(Server.MapPath("~/App_Data/Employees.xml"));
            //建立文件依赖项
            filedep = new CacheDependency(Server.MapPath("~/App_Data/Employees.xml"));
            Cache["Company"] = "DotNet明日科技";//依赖项二,Key依赖项
            string[] keyDependencies = { "Company" };
            keydep = new CacheDependency(null, keyDependencies);
            aggDep = null;//将依赖项一和二加入汇总依赖项中
            aggDep = new AggregateCacheDependency();
            aggDep.Add(filedep); //加入文件依赖项
            aggDep.Add(keydep); //加入Key依赖项
            Cache.Insert("Employees", dsEmployee, aggDep);//缓存DataSet,并建立汇总的依赖项
            txtMsg.Text = "建立缓存汇总依赖项";
        }