我想通过用户输入一个字符串,据此从数据库中查询,要求返还“如何任何位置、只要含有用户输入的字符串的所有记录”。比如,用户输入“2H5002”,字段“底盘号”有三条记录的值为:"x52H5002"、"x52H500233"、"2H500233",应该返回此三条记录。
可是,我用的这几句有什么不对吗?:  select * from Mytable where 底盘号=%:dph%
  select * from Mytable where 底盘号 like :dph
  select * form Mytable where 底盘号 in (%:dph%)
....我应该怎么用通配符呢?
求教!

解决方案 »

  1.   

    select * from Mytable where 底盘号 like '%2H5002%'
      

  2.   

    可是,我现在要用参数:dph来接收用户输入数据,而不是直接引用某值啊
    当然也不可能用: like '%:dph%'
      

  3.   

    不行,我用 like '%:dph%' 不行。
    提示出错:“找不到参数dph“
      

  4.   

    有没有高手教教我啊!!!!help
      

  5.   

    为什么一定要引入参数呢,
    String ssql:='select * from Mytable where 底盘号 like ''%'+dhp+'%''';
    with query do
    sql.add(ssql);
    open
    end
    不就可以了
      

  6.   

    query1.sql.add('select * from Mytable where 底盘号 like :dph ');
    query1.parambyname('dph').asstring:='%'+Trim(Edit1.Test)+'%';