SQL.Add(' SELECT SP_ID,NAME,UNIT FROM SPXX  ');
      SQL.Add(' Where NAME LIKE :pNAME ');
      SQL.Add(' Order By NAME  ');
      ParamByname('pNAME').AsString :=  '*'+edCPMC.Text+'*' ;
以上查询没有结果,请高手指教,多多给分哦!

解决方案 »

  1.   

    var
      sqlstr:='select * from hahahaha where name like 通配符'+EDIT1.TEXT+’%’
    ..
    SQLADD(SQLSTR);
    ..
    可能有的地方写错了,大致是这个样子,ACCESS的偶常这么干
      

  2.   

    access 里%号好像应该由*代替吧,我写的格式如下:
    var
     sqlstr := 'select * from SPXX where name like "*'+edit1.text+'*'..
    sql.add(sqlstr)在执行时报错:参数不足,期待是1
      

  3.   

    sqlstr := 'select * from SPXX where name like "%'+edit1.text+'%"'
      

  4.   

    sqlstr := 'select * from SPXX where name like "*'+edit1.text+'*"'
    这样呢?
    好象你少了半个引号。
      

  5.   

    SELECT * FROM EMPLOYEE WHERE NAME LIKE "%小%"
    这个执行通过(凡含小的都找到了)。
      

  6.   

    如果你自己组合的SQL语句执行通不过,你可以先把组合的结果输出自己看一下有没问题。
      

  7.   

    在access里直接执行语句可以得到正确的结果,但是组合起开在程序里调用,就报错:
    “...参数不足,期待是1...”,
    想知道是什么问题。其他的查询都没有问题,只有这个模糊查询出问题了!
    请各位大侠多多指点,在线等........!
      

  8.   


    L.Add(' SELECT SP_ID,NAME,UNIT FROM SPXX  ');
          SQL.Add(' Where NAME LIKE :pNAME ');
          SQL.Add(' Order By NAME  ');
          ParamByname('pNAME').AsString :=  '*'+edCPMC.Text+'*' ;
    换为
    L.Add(' SELECT SP_ID,NAME,UNIT FROM SPXX  ');
          SQL.Add(' Where NAME LIKE :pNAME ');
          SQL.Add(' Order By NAME  ');
          ParamByname('pNAME').AsString :=  '%'+edCPMC.Text+'%' ;
    看看有无结果,很多SQL引擎通配符不一致.
      

  9.   

    搞定了,谢谢 wizardqi(男巫)。