最保险放心规范的方法:
query.close;
query.sql.clear;
query.sql.add('select * from A where aid in (select id from B where bname like :temp )');
query.parambyname('temp').asstring:='%'+trim(edit1.text)+'%';
query.open; 

解决方案 »

  1.   

    这样行不行:
    Select A.id,A.atype.... From A,B Where A.id = B.id And B.Bname Like ''%'+edit1.text+'%'' 
      

  2.   

    to cqiu2000:
     我试过了,还是同样的错误!
      ‘capability not supported'
      

  3.   

    sql.add('select * from A');
    sql.add('where id in ');
    sql.add('(select id from B where name like '+''''+'%'+edit1.text+'%'+''''+')');
      

  4.   

    上述办法均试过,还是不行!
      ’capability not suppored!'
      

  5.   

    Select A.id,A.atype.... From A,B Where A.id = B.id And B.Bname Like '''+'%'+edit1.text+'%'+'''点得太少了
     
      

  6.   

    可能是字段写错了Aid-->id  ,bname-->name
    query.close;
    query.sql.clear;
    query.sql.add('select * from A where id in (select id from B where name like :temp )');
    query.parambyname('temp').asstring:='%'+trim(edit1.text)+'%';
    query.open; 
      

  7.   

    编译不通过会是sql语句的错误?看看你程序吧?