有表XX(字段X1,X2),表YY(字段Y1,Y2)adoquery中:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select a.* from XX a,YY b from a.X1=b.Y1 and a.X2=b.Y2');
adoquery1.open;这样写报错,请问 如何改???

解决方案 »

  1.   

    select a.* from XX a,YY b from a.X1=b.Y1 and a.X2=b.Y2'当然错了。
    select a.* from XX a,YY b Where a.X1=b.Y1 and a.X2=b.Y2'??
      

  2.   

    select a.* from XX a,YY,b where (a.X1=b.Y1) and (a.X2=b.Y2)
      

  3.   

    var
        sSql: String;
        sSql := 'select * from Table';
        with FGasQuery do
        begin
          Close;
          SQL.Text := sSql;
          Open;
        end;这样写吧,到时出错了也可以把SQL语句给调试时取出 看错在什么地方
    这样可以设置断点方便调试
      

  4.   

    adoquery1.sql.add('select a.* from XX a,YY b WHERE a.X1=b.Y1 and a.X2=b.Y2'); 
      

  5.   

    刚打错 我是'select a.* from XX a,YY b where a.X1=b.Y1 and a.X2=b.Y2'在查询分析中 无错 d中报错这样(a.X1=b.Y1) and (a.X2=b.Y2)也报错
      

  6.   

    你用ShowMessage(adoquery1.sql.Text);
    先看看你的语句写得有没有问题啊?
    如果有问题 根据问题再改改
    这样效率就提高了
      

  7.   


    show出来 就这个 'select a.* from XX a,YY b where (a.X1=b.Y1) and (a.X2=b.Y2)' 
      

  8.   


    在 Active设为true时  报:Access violation as adress 005297B3 in Module '123.exe'.read of address 00000000
      

  9.   

    1、如果你的Query是自己定义的,那是不是Query还没有创建哦!
    2、如果Query不是自己创建的 那么试下面这个SQL呢
    select a.x from XX as a,YY as b where a.X1=b.Y1 and a.X2=b.Y2
      

  10.   

    应该不是SQL的问题了 检查一下你的adoquery1连接数据库的状态吧
      

  11.   

    我现在这个adoquery处于一个继承来的form里,
    这个form同时继承 父form中的一个adotable ,
    在父form中adotable是Active=true的,
    我把这个 子form中的继承来的adotable的Active=FALSE时,
    当adoquery。active:=true(adoquery只在 子form中,父form中无adoquery)时就报错了;当我把 子form中的adotable.Active:=true时,adoquery就正常使用了,不知道为何????查了好久,居然是这个原因......搞不懂ing......有谁给解释下不?
      

  12.   

    按道理来说你那个Form上的adoquery 与 adotable 是没有关系的啊,检查一下 adoquery 的连接呢
      

  13.   


    我也是这么想的 但是 就是报错。没办法,全部注释掉,再一点一点的取消注释,就发现了这个情况,然后再把别的注释掉,就留adotable.active:=true它就正常,false就报错,郁闷了ps:adoquery 的连接 是对的
      

  14.   

    又去 试了下 adotable.active:=false时 也正常了 ,搞不懂,也不知道是不是改了别的地方(不记得了),见鬼。