我有ADOQuery.sql.text := 'select * from A ' + ' select * from B'每次执行都只有A 表的数据在DBGrid中显示, 我如果有两个或3个DBGrid,怎么让他门分别显示A,B表的数据.
就是好象SQL Server 中的查询分析器的功能.
当你选择' select * from A  select * from B' 后 ,会给出两个Grid显示数据.
当你选择' select * from A where ID in (select ID from B ) ' 后 ,他也只会显示一个Grid.
而且 'Delete form A  select * from B ' 他也会先删A,再显示B .这些如何来用程序实现.
这里面是不是要对 即将执行的sql进行语法分析? 怎么做?

解决方案 »

  1.   

    ADOQuery会将你的查询结果作为一个RECORDSET返回,怎么将一个RECORDSET分成两个或多个,然后分给不同的DATASOURCE,在不同的DBGRID中显示,还是要请教高手了
      

  2.   

    为什么非要在一个adoquery 中实现呢
    是吧?多用两个 又简单是吧
    分别的和dbgrid相连只是在一个事件当中触发就可以了
      

  3.   

    angle097113(深思不解) :
    如果给你的str='select * from A  select * from B' ;
    你怎么知道是两个查询SQL? 怎么解析?