...
query1.sql.add('select * from 表名 where cdno like ''abc%abc%''')
...

解决方案 »

  1.   

    'Where cdno like '+''''+'%'+Trim(edit2.Text)+'%'+''''
      

  2.   

    query1.sql.add(select * from 表名 where cdno like '"+abc%abc%+"');
      

  3.   

    检查一下你的查询中的sql语句中的表 在不在 Tquery所对应的Database中
      

  4.   

    select * from 表名 where cdno like "abc%abc%"和select * from 表名 where cdno like "abc%"有什么区别?
      

  5.   

    写成这样
    query1.sql.add('select * from 表名 where cdno like :xxx');
    query1.ParamByName('xxx').AsString:='abc'+'%'+'abc%';
      

  6.   

    我的原句: ... like 'abc%abc%'。
    我试过,放在Query.Filter里执行不了,而用Query.Sql.Add()就可以得出结果。
    是不是Filter不支持like。
      

  7.   

    Filter中不支持SQL语句中的功能,它只支持基本的比较操作,即>,<,<>,=,>=,<=,好像就这些
      

  8.   

    strSQL:='select * from 表名 where cdno like '+chr(39)+'abc%abc%'+chr(39);query1.sql.add(strSQL);
      

  9.   

    另外要看是什么DB,有些要求STRING用单引号,有些则要双引号。chr(39)为单引号.