java.lang.IllegalArgumentException: No positional parameters in query: select count(*)
发布网友
发布时间:2023-01-01 05:21
我来回答
共6个回答
热心网友
时间:2023-10-03 06:18
非法参数异常。
你查询语句里是不是参数缺少,或者类型不对。
比如,应该是日期的参数,你却用的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);
这个错误有点简单,但我看不到你的代码,首先想到的是这个。
热心网友
时间:2023-10-03 06:19
你所查询的数据库表中有非法字符,可能是直接从数据库输入的,或者在页面输入时没有正确的验证措施
热心网友
时间:2023-10-03 06:19
楼主显然是想获得表中的记录条数。
不要用HQL作了,如果要用Hibernate,可以 使用DAO获取到所有对象的List,然后察看List的大小。由于Hibernate是Lazy Loading的,应该开销不大。
或者直接用JDBC吧。
热心网友
时间:2023-10-03 06:20
count()中没有参数!!
热心网友
时间:2023-10-03 06:21
看看你数据库查询和参数设置部分,方便的话贴来看看
热心网友
时间:2023-10-03 06:21
com.dl..manager.GameDAO.findGameByPage(GameDAO.java:49)
com.dl.action.manager.GameAction.gameManage(GameAction.java:54)
com.dl.action.BaseAction.execute(BaseAction.java:40)
看看这3句有没有问题。