java.sql.SQLException: Wrong number of parameters是什么意思,求大神之光是什么解决,就是修改内容的时候报异常

Formal parameters in Subroutines?HI When is it optional to pass an actual parameter to a required formal parameter of a function module?Thanks in advance.
土豆系列0173
I don't think it can ever be optional to pass an actual parameter to a required formal parameter.If you mean 'how is a formal parameter made optional?',this is done in the function module interface.The title refers to subroutines,but the text refers to function modules.Apologies if I've not understood the question.查看原帖>>
为您推荐:
其他类似问题
扫描下载二维码1、错误描述org.hibernate.exception.GenericJDBCException: error executing work at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:318) at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:2059) at org.hibernate.internal.SessionImpl.doReturningWork(SessionImpl.java:2055) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:233) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:87) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:176) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)Caused by: java.sql.SQLException: Parameter index out of range (1 & number of parameters, which is 0). at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3805) at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3787) at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4608) at mons.dbcp.DelegatingPreparedStatement.setString(DelegatingPreparedStatement.java:131) at org.hibernate.jdbc.WorkExecutor.executeReturningWork(WorkExecutor.java:72) at org.hibernate.internal.SessionImpl$3.accept(SessionImpl.java:2052) at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:313) ... 33 more2、错误原因3、解决办法
无相关信息java.sql.SQLException: Wrong number of parameters是什么意思,求大神解决,就是修改内容的时候报异常_百度知道
java.sql.SQLException: Wrong number of parameters是什么意思,求大神解决,就是修改内容的时候报异常
core.dbutils.core.vanceinfo?.ErrorReportValve.catalina.rethrow(AbstractQueryRunner.java:489) at org.java.vanceinfo.net.service(CoyoteAdapter: [update tb_users set password=: update tb_users set username=? where username=.catalina.run(AprEndpoint.coyote.lang:1675) at java.catalina? where username=.java.java.CoyoteAdapter.run(Thread:594) at org.java.StandardWrapperValve.apache.invoke(ErrorReportValve:233) at org.apache:320) at org.core.update(QueryRunner.doPost(UserServlet:455) at com.servlet.java.StandardContextValve.java.process(Http11AprProtocol.util.java, 1 ]] at org.servlet:127) at org.apache.mons.apache.catalina:206) at org.core.java?.apache.apache.apache: expected 2.update(UserServlet.catalina.apache.HttpServlet? where username=.java.java:877) at org.apache:219) at com.apache.HttpServlet.servlet.service(HttpServlet.invoke(StandardWrapperValve.java, update tb_users set authority=, was given 3 Query.catalina.Http11AprProtocol$Http11ConnectionHandler.dbutils.http11.AprEndpoint$Worker.ApplicationFilterChain.java.dbutils.UserServlet.service(HttpServlet:290) at org.apache.java.process(Http11AprProcessor.update(QueryRunner.java.java.core.QueryRunner:637) at javax.apache.invoke(StandardHostValve? Parameters.Http11AprProcessor.connector.java:293) at org.invoke(StandardContextValve:102) at org:109) at org, 456
, [zhaoliu.http11.coyote.Thread:717) at org.apache.QueryRunner.StandardEngineValve.java.invoke(StandardEngineValve:191) mons.StandardHostValve.internalDoFilter(ApplicationFilterChain.SQLException.doFilter(ApplicationFilterChain.UserServlet.catalina.java.http.ApplicationFilterChain.servlet.catalina: Wrong number of parameters.mons.sqljava:52) at javax.apache.core
提问者采纳
而你提供了三个值value,你的sql语句只需要2个参数看错误提示,请仔细检查一下的代码update tb_users set username=? where username=
我是分两句sql语句来修改的, String sql1 = &update tb_users set username=? where username=?&;
String sql2 = &update tb_users set password=? where username=?&;但是我传参数时是放在一起传的Object params[] = {username,password,authority
};结果报错, 如果分下来该怎么传呢?
那当然不可以了,你分别传递参数,一个一个执行 或者,一次把2个都修改了String sql1 = &update tb_users set username=?,password=?
where username=?&;然后一次传3个参数
提问者评价
来自团队:
其他类似问题
为您推荐:
其他3条回答
检查你SQL语句中问号的数量和插入的值的数量是否对应。报错是错误的参数数量 expected 2, was given 3 Query需要2个插值,但是在Query中给了3个插值
我是分两句sql语句来修改的, String sql1 = &update tb_users set username=? where username=?&;
String sql2 = &update tb_users set password=? where username=?&;但是我传参数时是放在一起传的Object params[] = {username,password,authority
};结果报错, 如果分下来该怎么传呢?
那就分两步params1[]={newname,username}params2[]={newpassword,password}参数要和SQL里的数据一一对应
错误在相应的dao里,sql语句里面的?两个你给了三个value值。
这是一个插件
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java.sql.SQLException: Parameter index out of range (一 & number of parameters, which is 0) - J2SE当前位置:& &&&java.sql.SQLException: Parameter index out of rajava.sql.SQLException: Parameter index out of range (一 & number of parameters, which is 0)&&网友分享于:&&浏览:359次: Parameter index out of range (1 & number of parameters, which is 0). java.sql.: & Parameter & index & out & of & range & (1 & &
& number & of & parameters, & which & is & 0).
at & .createSQLException(SQLError.java:910)
at & com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:2715)
at & com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:3546)
at & com.achievo.test.team.Connection.ConnectionDB.insert(ConnectionDB.java:170)
at & com.achievo.test.team.DAO.FileDAO.insert(FileDAO.java:111)
at & com.achievo.test.team.po.imp.FilePOImpl.insert(FilePOImpl.java:21)
at & com.achievo.test.team.bo.imp.FileBOImpl.insert(FileBOImpl.java:21)
at & com.achievo.test.team.ui.action.ResourceUploadAction.execute(ResourceUploadAction.java:96)
at & org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at & org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at & org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at & org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at & javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at & javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at & org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at & org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at & com.achievo.mom.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:39)
at & org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at & org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at & org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at & org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at & org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at & org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at & org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at & org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at & org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at & org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at & org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at & org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at & org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at & java.lang.Thread.run(Thread.java:595)谁能帮我看下有错在哪里啊?
ConnectionDB.java
public & int & insert(String & sql & ,String & fileID,String & typeID){
int & INSERT_RESULT=0;
con & = & getConnection();
ps & = & con.prepareStatement(sql);
ps.setString(1, & fileID);
ps.setString(2, & typeID);
INSERT_RESULT & = & ps.executeUpdate();
INSERT_RESULT;
The & insert() & was & been & used & by & this:
fileDAO.java
public & boolean & insert(FileInformation & fileInformation) & {
ConnectionDB & connectionDB;
int & INSERT_RESULT_RETURN & ,INSERT_FILE_TYPE_RETURN= & 0;
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有Parameter index out of range (5 & number of parameters, which is 3)_百度知道
Parameter index out of range (5 & number of parameters, which is 3)
pre =);/);
return count.-----------&quot?.setInt(5;userLerror&quot.getParameter(&+pass).getParameter(&error.setName(name);;
String url = &name&quot.printStackTrace().println(name+&/
String pass = req.getRequestDispatcher(url);update p_user set name = , userDTO?& dao层public int getUpdate(S
req, where id = ;
req?;id&quot, resp);sql
String sql = &quot,userDTO.prepareStatement(sql).getPassword()); 0){
url = & TODO Auto-generated catch block/
int count =
&#47, userDTO); TODO Auto-generated catch block
UserDTO userDTO = new UserDTO();;
if(count &gt.jsp&quot.printStackTrace();
} catch (SQLException e) {
String name = req, &quot,password = .forward(更新&quot.parseInt(sid).getUpdate(sql,UserDTO userDTO){
int count = 0.setString(1;&quot.setString(2, userDTO.close().setAttribute(&
connection.setPassword(pass).jsp&&#47.getId()););pass&quot.close(););
} catch (SQLException e) {
/获取页面修改之前的信息(部分代码)
String sid =
Dao dao = new Dao().getName());&#47.getParameter(&
int id = Integer
我已经删掉上面多一个逗号; number of parameters,那里不是主要原因,Parameter index out of range (5 &gt
提问者采纳
getId()),userDTO:或者直接用字段名,(5 &gt.getId()).setInt(3.getId()).setInt(&;这里面的第一个参数对应你上面sql语句里面的第几个问号,userDTO。5超出最大范围了所以你可以改成;id& number of parameters)你一共只有3个问号,所以只能这个数字最大只能是3pre:pre.setInt(5,userDTO
提问者评价
其他类似问题
为您推荐:
其他2条回答
pre.getPassword()).setInt(5,userDTO.setString(1;
pre.getId())?
pre = connection.setInt(3.prepareStatement(sql), userDTO;
pre.setString(2, userDTO问题很明显吧
你只有三个参数
5 不就越界了,userDTO.getName());
这句pre.setInt(5,userDTO.getId());应该是pre.setInt(3,userDTO.getId());吧,把5改成3就应该行了.
range的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 大神之光是什么 的文章

 

随机推荐