我本来的语句是:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
XiuZhengPath1:='select * from PictureQuery where lujing='+QuotedStr(Path);
ADOQuery1.SQL.Add(XiuZhengPath1);
ADOQuery1.Open;
其中Path是一变量,我现在想实现模糊查找,我该成:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
XiuZhengPath1:='select * from PictureQuery where lujing Like '+QuotedStr(Path);
ADOQuery1.SQL.Add(XiuZhengPath1);
ADOQuery1.Open;
但是查不到记录了,ADOQuery1.RecordCount为0了,不知道错在哪,该如何改法,还望指教,谢谢!

解决方案 »

  1.   

    XiuZhengPath1:='select * from PictureQuery where lujing Like %'+QuotedStr(Path)+'%';
      

  2.   

    XiuZhengPath1:='select * from PictureQuery where lujing Like ''%'+QuotedStr(Path)+'%''';
      

  3.   

    SELECT * FROM PICTUREQUERY WHERE LUJING LIKE ''%'+QUOTEDSTR(PATH)+'%'''
      

  4.   

    select * from tab where field1 like '%A%'
      

  5.   

    ''%'+QUOTEDSTR(PATH)+'%''要加 %
      

  6.   

    Wocow(学无止境)你的方法不是跟2、3层的一样吗?不过运行是有语法错误啊!
      

  7.   

    你用的是什么数据库,通配符和数据库有关,如果是sql server 可以这样
    XiuZhengPath1:='select * from PictureQuery where lujing Like %'+QuotedStr(Path)+'%';模糊查询
    XiuZhengPath1:='select * from PictureQuery where lujing Like '+QuotedStr(Path)+'%';查询以QuotedStr(Path)开头的记录
    如果是其他的数据库在相关文档里找一下具体的通配符是什么,然后写到查询语句里
      

  8.   

    XiuZhengPath1:='SELECT * FROM PICTUREQUERY WHERE LUJING LIKE ''%'+QUOTEDSTR(PATH)+'%'''
      

  9.   

    dujian_xian(北方的狼)我用的是SQL Server数据库啊,但用了上述的所有方法都出语法错误啊!不知道是什么原因,还望指教!
      

  10.   

    XiuZhengPath1:='SELECT * FROM PICTUREQUERY WHERE LUJING LIKE ''''%'+QUOTEDSTR(PATH)+'%'''''
    一个单引号用4个代替
      

  11.   

    superdullwolf(超级大笨狼)这样的方法会出错,我试过了,数据类型不对了!
      

  12.   

    你的lujing字段是char型的还是text类型的?
    若是text类型的应另外考虑了
      

  13.   


    可以从变量path入手
    path:='%'+path+'%';
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    XiuZhengPath1:='select * from PictureQuery where lujing Like '+QuotedStr(Path);
    ADOQuery1.SQL.Add(XiuZhengPath1);
    ADOQuery1.Open;这样就ok了!
      

  14.   

    with ADOQuery1 do
     begin
      Close;
      SQL.Clear;
      XiuZhengPath1:='select * from PictureQuery where LUJING like=:string';
      SQL.Add(XiuZhengPath1);
      Parameters.ParmByName('string').Value:=QuotedStr(Path);
      Open;
     end;