java.lang.IllegalArgumentException: No positional parameters in query: select count(*)
来源:百度知道 编辑:UC知道 时间:2024/05/27 13:51:52
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: No positional parameters in query: select count(*) from GameInfo
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: No positional parameters in query: select count(*) from GameInfo
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause
非法参数异常。
你查询语句里是不是参数缺少,或者类型不对。
比如,应该是日期的参数,你却用的String。
用HQL或者本地SQL写的时候,有3个参数,而你set的时候是按位置,少了,或错放了参数。(从“0”计数)
应该是:
q.setParameter(0, val1);
q.setParameter(1, val2);
q.setParameter(2, val3);
最好不要用这样的方法,用
q.setParameter("name1", val1);
q.setParameter("name2", val2);
q.setParameter("name3", val3);
这个错误有点简单,但我看不到你的代码,首先想到的是这个。
你所查询的数据库表中有非法字符,可能是直接从数据库输入的,或者在页面输入时没有正确的验证措施
楼主显然是想获得表中的记录条数。
不要用HQL作了,如果要用Hibernate,可以 使用DAO获取到所有对象的List,然后察看List的大小。由于Hibernate是Lazy Loading的,应该开销不大。
或者直接用JDBC吧。
count()中没有参数!!
看看你数据库查询和参数设置部分,方便的话贴来看看
com.dl.dao.manager.GameDAO.findGameByPage(GameDAO.java:49)
com.dl.action.manager.GameAction.gameManage(GameAction.java:54)
com.dl.action.BaseAction.execute(BaseAction.java:40)
看看这3句有没有问题。
java.lang.NullPointerException
java.lang.ArrayIndexOutOfBoundsException: 1
java.lang.NullPointerException问题.
java.lang.ArrayIndexOutOfBoundsException问题。
求助java.lang.NullPointerException
java.lang.NullPointerException异常
java.lang.ClassCastException异常
java.lang.NumberFormatException: null
java.lang包用导包吗?
java.lang.NoClassDefFoundError: Hello