1现在我取出表A的数据到ClientDataSet1里面保存
如A表里面的数据为
id   name   password    memo           mail
001  张三        555      123           张三 @we.com
002  长城       444       123           长城@we.com
003  利斯       333     123             利斯 @we.com
004  王五       222      123           王五@we.com
在一个DBGRID里面显示出来 ClientDataSet1链接datasource1
dbgrid链接datasource1
数据库里面有表B
id   name   password    memo           mail
001  张三        123       123           [email protected]
002  长城       123       123           [email protected]
004  王五        123       123           [email protected]现在我想不通过访问数据库链接B,直接在ClientDataSet1中取得数据A
然后更新数据表B,得到B表的数据为
001  张三        555      123           张三 @we.com
002  长城       444       123           长城@we.com
003  利斯       333     123             利斯 @we.com
004  王五       222      123           王五@we.com既是数据表A已经取出来,即使经过修改,保存也是保存到B
但不能访问A了请教大侠,急
  

解决方案 »

  1.   

    先取表A中一行的数据,然后判断ID,有用UPDATE,没有INSERT
      

  2.   

    直接用 SQL 语句操作岂不是更简单! 一个SQL语句就搞定了!!! 呵呵
      

  3.   

    对了, 是SQL语句关于集合操作的部分  union  。   应该是用集合减法操作 直接得出 A中和B中没有的和不同的
      

  4.   

    你用的是什么数据库??以下是DB2 的实例:Example 6:  This example of EXCEPT produces all rows that are in T1 but not in T2.    (SELECT * FROM T1)
       EXCEPT ALL            --T1,T2 的减法操作
       (SELECT * FROM T2)If no NULL values are involved, this example returns the same results as    SELECT ALL *
          FROM T1
          WHERE NOT EXISTS (SELECT * FROM T2
                         WHERE T1.C1 = T2.C1 AND T1.C2 = T2.C2 AND...)
    Example 7:  This example of INTERSECT produces all rows that are in both tables T1 and T2, removing duplicates.    (SELECT * FROM T1)
       INTERSECT               --T1,T2 的∩操作
       (SELECT * FROM T2)If no NULL values are involved, this example returns the same result as    SELECT DISTINCT * FROM T1
          WHERE EXISTS (SELECT * FROM T2
                        WHERE T1.C1 = T2.C1 AND T1.C2 = T2.C2 AND...)