我的SQL报异常:java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).
下面是我的SQL语句:String sql="select * from product where mprice bettwean ? and ? , cname like '%?%' ";请高手帮下忙看看哪里错了!
下面是我的SQL语句:String sql="select * from product where mprice bettwean ? and ? , cname like '%?%' ";请高手帮下忙看看哪里错了!
解决方案 »
- html控件转为struts2控件标签,位置偏离比较离谱,急
- poi excel的问题
- 关于Hibernate使用Criteria查询的问题,无法获得字段的异常?
- struts2第一次做,出问题了,请各位高手给点意见,继续,谢谢啊
- java项目打不开
- 和spring搭配的还有什么框架?
- 调用WebServices超级郁闷的问题,Could not find a service to invoke!
- hibernate无限分级的问题
- Tomcat总是无法正常启动,郁闷了两天了,请大侠帮忙!
- "jsp1.jsp": java.lang.ClassNotFoundException: com.borland.jbuilder.webserverglue.weblogic.jsp.NadaJavac什么错误
- 如何用JAVA实现类似于QQ空间的分享功能?
- java 定时读取图片
1.和1楼说的,你的SQL中写了3个问号,需要传入3个参数,可能你只传了2个;
2.你的SQL中的between写错了。
改成select * from product where mprice between ? and ? and cname like '%?%'
3个?号需要传入3个参数。
like 写法错误select * from product where mprice bettwean ? and ? , cname like ?
like的值要写成ps.setString("%查询值%")
有两个错:
1.和1楼说的,你的SQL中写了3个问号,需要传入3个参数,可能你只传了2个;
2.你的SQL中的between写错了。
String sql="select * from product where (cname like '%?%') and (mprice between 10 and 100)";
conn=db.getConnection();
psmt=db.getPreparedStatement(sql);
try {
psmt.setString(1, c);
psmt.setFloat(2, 10);
psmt.setFloat(3, 100); rs=db.getResultSet(psmt);