Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('select * from animals where area like ''South%''');
  Query1.Open;这种方式是没有问题的,你的cpID是字符串吗 ?三少 :o)

解决方案 »

  1.   

    SQL语句没错。
    你的数据库是什么数据库来的?
    是不是本地数据库?(如果是的话,可能有问题)
      

  2.   

    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('SELECT * FROM EMPLOYEE WHERE CODE LIKE ''%00''');
    Query1.Open;的确没有问题,如果有问题,可能是这样:
    1、你用的数据库不支持%,你可以换成这一句:Query1.SQL.Add('SELECT * FROM EMPLOYEE WHERE CODE LIKE ''*00''');
    2、数据库字段类型不对应,有些数据库不能自动转换成字符
      

  3.   

    楼上各位,多谢指教,我的本地数据库‘饿渴塞死,就欺'(Access97),用的是ACCESS驱动。
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select * from cb where cpID like ''135%''');
    Query1.Open;
    类型确实是字符型的。各位快想想办法吧,不用SQL,是否还有其它方法实现呢?
      

  4.   

    LIKE 后的通配符和数据库有关,不知道你的数据库是设么数据库!
      

  5.   

    很简单,将%改为*,即:
    Query1.Close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select * from cb where cpID like ''135*''');
    Query1.Open;
    然后就OK了;顺便提一下,%改为*是Local SQL闹的鬼。
      

  6.   

    兄弟您看看Query1.SQL的源形吧:TStrings!!
    所以之前要CLEAR!