用ADOQuery1取得了两个结构相同的表(t1,t2)的数据
ADOQuery1.sql.clear;
ADOQuery1.sql.add('select * from ((select * from t1) union (select * from t2)) as a')
要求在DBGrid中插入一条数据,根据输入日期决定插入到t1或t2,如何实现?(不使用SQL的update语句)有没有类似BDE的UpdateSQL控件??

解决方案 »

  1.   

    if data >= '2005-4-10' then
    begin
      ADOQuery1.sql.clear;
      ADOQuery1.close;
      ADOQuery1.sql.add('Insert t1 (字段) select 字段 where....')
      ADOQuery1.execsql;
    end
    else
    begin
      ADOQuery1.sql.clear;
      ADOQuery1.close;
      ADOQuery1.sql.add('Insert t2 (字段) select 字段 where....')
      ADOQuery1.execsql;
    end;
    这样不行?
      

  2.   

    不用SQL语句来完成,
    最好是在DBGrid里填写,或用ADOQuery1.append
      

  3.   

    在ADOQuery1的事件aftost的时候
    写ADOQuery1.UpdateRecord
    就保存,了不知道楼主为什么不用sql我晕。
      

  4.   

    如果你曾经用过BDE的UpdateSQL控件,就知道其中的好处的