此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【jinqiang50000】截止到2008-07-10 11:34:40的历史汇总数据(不包括此帖):
发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
回帖的总数量:2                        得分贴总数量:1                        回帖的得分率:50%                      
结贴的总数量:0                        结贴的总分数:0                        
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

解决方案 »

  1.   

    你不妨直接把HQL语句写成这样:......like '%+ province + "%'";就等于直接把她组装好了。或者也可以这样写:......like :province; 然后query.setString( "province" , "%"+province+"%");:)
      

  2.   

    不好意思,第一处少了个引号,应该是这样的: 
    String str = "select distinct t.RANGE_NAME from TAB_SITE t where t.PROVINCE like '%" + province + "%'";第二处应该这样:
    String str = "select distinct t.RANGE_NAME from TAB_SITE t where t.PROVINCE like :province";
    ......
    query.setString( "province" , "%"+province+"%"); 
      

  3.   

    String str = "select distinct t.RANGE_NAME from TAB_SITE t where t.PROVINCE like '%?%'"); 
            query = session.createSQLQuery(str); 
            System.out.println(province); 
    query.setString(0, province); 这是什么啊?为什么createSQLQuery才query.setString(0, province); ???
    另外String str = "select distinct t.RANGE_NAME from TAB_SITE t where t.PROVINCE like ?");
    应该这么写,你都在里边加了''了,在sql里就是字符串了,还set什么参数啊?? 
      

  4.   

    String str = "select distinct t.RANGE_NAME from TAB_SITE t where t.PROVINCE like ?"); 
    query.setString(0, "%"+province+"%");
     这样写,上边好象有点说错了,不好意思..应该是先建立QUERY再set 参数...搞晕了
      

  5.   

    '%?%',这个在sql中就成字符串了,?不起作用了,注意下
      

  6.   

    javax.servlet.ServletException: addEntity() or addScalar() must be called on a sql query before executing the query. [select distinct t.RANGE_NAME from TAB_SITE t where t.PROVINCE like ?]
    报这样的错
      

  7.   

    java.lang.IllegalArgumentException: Parameter 浙江 does not exist as a named parameter in [select distinct t.RANGE_NAME from TAB_SITE t where t.PROVINCE like '%浙江%']
    报这样的错误!是传递问出题了还是版本出问题了,在数据库里面都能够查询出来结果