我在写SQL的语句时,用了(SELECT * FROM TABLE WHERE 字段名 LIKE EDIT1.TEXT)
通过编译,也可以运行,但是就是得不到模糊查询的结果.

解决方案 »

  1.   

    SELECT * FROM TABLE WHERE 字段名 LIKE 'EDIT1.TEXT';like后面的条件部分应该用单引号隔开。
      

  2.   

    一、加通配符;
    二、if 通配符 在edit中加了 then
        sql.add('SELECT * FROM TABLE WHERE 字段名 LIKE '+"+EDIT1.TEXT+")试式。一般是"或'的问题,试试看。
      

  3.   

    错了,是sql.add('SELECT * FROM TABLE WHERE 字段名 LIKE '+'"'+EDIT1.TEXT+'"')
      

  4.   

    好像在access中是这样的,但是在delphi中应该用#做通配符啊!
      

  5.   

    access中当然可以不过这里不行我也试过
      

  6.   

    试试这个肯定行
    query1.sql.add('select * from 表名 Where 字段 like '''+edit1.text+'%''');
      

  7.   

    补充一下,上面的是对右边的模糊。如果左右都模糊的话在需要在前面加一个%
    add('select * from 表名 Where 字段 like ''%'+edit1.text+'%''');
      谓词LIKE可以用来进行字符串的匹配,一般语法格式如下:
    [NOT] LIKE ‘<匹配串>’[ESCAPE‘<换码字符>’]
    其含义是查找指定的属性列值与<匹配串>相匹配的元组。<匹配串>可以是一个完整的字符串,也可以含有通配符%和_。其中:
      %:代表任意长度的字符串。
      _:代表任意单个字符。
      

  8.   

    SELECT * FROM TABLE WHERE 字段名 LIKE EDIT1.TEXT + '&' + ''''要用 %