like该如何用呢?
我是这样写的:Sql.Add('and 编号 like '''+'%'+Edit1.Text+'%'+'''');
但是无法正常运行,不知为何?

解决方案 »

  1.   

    可以仿照
    adoquery1.sql.add(select * from table)
    ADOQuery1.SQL.Add('where field like ''%' + edit1.Text + '%''')
    就行了
      

  2.   

    Select Field1 From Table1 Where Field1 Like '%String%'
      

  3.   

    select * from MyTable where Field1 like '%xx'
    select * from MyTable where Field1 like 'xx%'
    select * from MyTable where Field1 like '%xx%'
      

  4.   

    select * from table where id like '%xxx'

    procedure Tfrm_mailbox.BitBtn1Click(Sender: TObject);
    begin
      query1.close;
      query1.sql.clear;
      query1.sql.add('select * from table');
      if (edit1.Text='') or (edit1.text='*') then  //id 是你要查询的字段
       begin
       end
      else
       begin
         query1.sql.add('where id like :id_no');
         query1.parambyname('id_no').asstring:='%'+edit1.Text+'%';
       end;
      try
        query1.Open;
      except
        exit;
      end;
    end;
      

  5.   

    如果是access库,则通配符是  ‘*’(全部),‘?’(单个字符)
      

  6.   

    我用的也是access数据库,就照我那个列子用应该没错的
      

  7.   

    我用的是Query而不是ADOQuery,但我应该没有什么区别吧?
    运行时,没有错误提示,只是返回的结果是空的.
      

  8.   

    你肯定是丢了单引号()
    比如要查:name中姓李的 
    则sql语句为:
    edit1.text:='李'
    xxx.sql.add('select * from dbname where name like '+''''+ edit1.text +'*'+'''');
    ....注意那里的四个单引号!
      

  9.   

    TO:IUPRG(幕后工作者) 
      谢谢,Access库确实用*而不是用%,  加分!!
    TO:scu96124678(绿林侠) 
      同样感谢,你的写法是对的,不过通配符是*而不是用%,  加分!!  
      

  10.   

    那你的table和你的字段相符吗?要是这些都没错的话,因该没错的
      

  11.   

    应该这样写“select * from 表名 where 字段名 like +'%'+ :字段名 +'%'”一定有效,我刚用完!
      

  12.   

    参看  sql大全 第三版.