zoukankan      html  css  js  c++  java
  • 2个DataSet中的数据传递问题,请高手们多多指教。

    大家好,有个问题希望和大家一起讨论一下,希望高手们能多多指教;

    我在一个项目中为了提高系统的效率,把几个访问频繁的DataSet保存在缓存中了,
    后来又想根据需要提取缓存的DataSet中的部分数据来做成一个新的DataSet,于是
    我先把缓存的DataSet的所有数据都赋值给一个新的DataSet,然后删除新的DataSet中
    的部分数据来满足新的需要,结果当我再次调用缓存的DataSet时,发现缓存的DataSet
    中的数据也被删除了,

       DataSet My_CSCache = _cache.Get(key) as DataSet;

       if (My_CSCache==null)
       {
        Insert(key,Get_DataSet(Sql),null,Seconds);
       }

       DataSet dts1 = new DataSet();
       dts1 = _cache.Get(key) as DataSet;
       
       for(int i = 0;i < (dts1.Tables[0].Rows.Count/2); i++)
        {
          dts1.Tables[0].Rows[i].Delete();
        }

        
     于是只好在每次访问缓存的DataSet时加上下面的程序来取消删除操作
     
       DataSet My_CSCache = _cache.Get(key) as DataSet;

       if (My_CSCache==null)
       {
        Insert(key,Get_DataSet(Sql),null,Seconds);
       }

       DataSet dts1 = new DataSet();
       dts1 = _cache.Get(key) as DataSet;
       dts1.RejectChanges();


    虽然这样能够实现我要的功能,但我不知道大家有没有更好的办法。如何做
    可以消除2个DataSet中的数据修改会同步修改的问题。

  • 相关阅读:
    待学习资料
    Hive之数据类型
    Hive 之元数据库的三种模式
    Hive之数据模型
    311 jvm类加载以及对象回收相关
    221 netty模型相关
    J101
    213 NIO编程
    XXLJOB终止定时任务的犯二小故事
    XXL-JOB源码研究(1)---version 2.1.2
  • 原文地址:https://www.cnblogs.com/sundy/p/263268.html
Copyright © 2011-2022 走看看