本帖最后由 xiewenping 于 2010-03-09 10:53:25 编辑

解决方案 »

  1.   

    like ?
    传参加上%%不就可以了吗
      

  2.   

    "... like '%?%' ..."  不能这样写的。。  用 "....like '%"+param+"%'....."
      或者直接在数据库写存储过程,程序再调用存储过程设置参数
      

  3.   

    select a.SCENE_NAME AS MAP,COUNT(*) AS COUNT FROM EC_ROLE e Join EC_MAP a ON e.ID_MAP=a.MID where e.reg_time>=? and e.reg_time <=? and E.LAST_VISIT_TIME <=?  and a.SCENE_NAME like ? group by a.SCENE_NAME order by count(*) desc应该使用 SCENE_NAME like ?
    -----------------------------------------------
    ? 里面的值 可以这样:String 查询的关键字= "%"+request.getParameter("查询的关键字")+"%";
      

  4.   

    不知道跟%%是否有关系 不过看HIBERNATE生成的DAO都是直接like ? 
    要不然LZ听听 3L的意见?
      

  5.   

    select a.SCENE_NAME AS MAP,COUNT(*) AS COUNT FROM EC_ROLE e Join EC_MAP a ON e.ID_MAP=a.MID where e.reg_time>=? and e.reg_time <=? and E.LAST_VISIT_TIME <=?  and a.SCENE_NAME like '%'||?||'%' group by a.SCENE_NAME order by count(*) desc 
      

  6.   

    like后面就只有?,即like ?
    在传参的时候,setString(4,"'%"+value+"%'")
      

  7.   

    你的第四个参数,  就是 like '%?%' 直接 like ? 
      

  8.   


    同意!应该是这样的,这里有参考hibernate中like查询问题:[ur=http://www.phome.asia/forum/thread/22856.htmll=http://www.phome.asia/forum/thread/22856.html][/url]
      

  9.   

    .. like '%?%' ..."中的?是一个特殊的字符,不能用,或者你可以试试用转义字符试试