有多个ClientDataSet数据集,结构相同,里面的数据不同,我想到根据条件到各个数据集中定位到相关记录,然后分别插入一个空的临时数据集当中供DBGrid显示用。
现在遇到几个问题:
1.空的数据集的结构如何动态去那些已有的数据集中取得?
2.如何复制一条记录?
谢谢。

解决方案 »

  1.   

    根据条件在CLIENTDATASET中选出数据,然后一条一条插入空的表中
      

  2.   

    我是打算这样做啊,关键是如何复制数据集的结构,因为是每次插临时数据集的时候源数据集的结构是相同的,但下一次有可能结构就变了,所以临时数据集的结构需要动态生成,我不知道如何去源数据集中复制。然后插数据的时候我也不知道怎么样把某一源数据集当前cousur指向的记录插到临时数据集当中。
      

  3.   

    能不能说的详细点,我接触delphi不久,对你说的没啥概念,呵呵
      

  4.   

    select 字段名 into 表名 from 原表名 where 条件
      

  5.   

    谢谢,类似方法我之前也想过了。
    之前是我没有说清楚,我的那些源数据集是通过多个不同的复杂查询语句得到的,每个语句都是根据不同条件组装出来的,且查询耗时较长,我要的数据是这些数据集中符合某个条件的一个子集,如果通过修改条件再查询的话,效率肯定很低下,用户会无法接受,应此想通过创建临时数据集的方式来处理,在源数据集中locate或者filter过滤到了相关数据,只要一条条往临时数据集插入就行了,所有操作都在内存中解决,不用走网络和数据库了。
    现在就是不知道如何到源数据集中剥结构过来,结构建好了以后怎么样把源数据集的当前记录插到临时数据集中。
    还望各位高手指点下,最好详细点,我以前做java和c的,数据处理方式还有点概念,但具体到delphi的编程细节就不行了。