java.sql.SQLException:Wrong number of parameters是什么意思,就是修改内容

java.sql.SQLException:Wrong number of parameters是什么意思,就是修改内容的时候报异常
java.sql.SQLException:Wrong number of parameters:expected 2,was given 3 Query:update tb_users set username=?where username=?Parameters:[update tb_users set password=?where username=?,update tb_users set authority=?where username=?,[zhaoliu,456 ,1 ]]
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:320)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:489)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:455)
at com.vanceinfo.servlet.UserServlet.update(UserServlet.java:219)
at com.vanceinfo.servlet.UserServlet.doPost(UserServlet.java:52)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
at java.lang.Thread.run(Thread.java:619)
jian213 1年前 已收到1个回答 举报

sdjnlzf 幼苗

共回答了26个问题采纳率:92.3% 举报

看错误提示,你的sql语句只需要2个参数,而你提供了三个值value,请仔细检查一下的代码
update tb_users set username=?where username=?

1年前 追问

4

jian213 举报

我是分两句sql语句来修改的, String sql1 = "update tb_users set username=? where username=?"; String sql2 = "update tb_users set password=? where username=?"; 但是我传参数时是放在一起传的Object params[] = {username,password,authority }; 结果报错, 如果分下来该怎么传呢?

举报 sdjnlzf

那当然不可以了,你分别传递参数,一个一个执行 或者,一次把2个都修改了 String sql1 = "update tb_users set username=?,password=? where username=?"; 然后一次传3个参数
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 1.734 s. - webmaster@yulucn.com