No value specified for parameter 3
这是我在做比赛项目的时候遇到的一个小问题,算得上自己的粗心吧!
java.sql.SQLException: No value specified for parameter 3
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:963)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2205)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2185)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2115)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1158)
at test.Resql.update(Resql.java:41)
at test.Resql.mylampsql(Resql.java:21)
at test.Listen$1.run(Listen.java:50)
at java.base/java.lang.Thread.run(Thread.java:844)
然后去41行找问题
presta.execute();
看到这里大概是知道上面出现了错误
presta.setString(1, name);
presta.setFloat(2, num);
presta.setInt(2, upnum);
分配出了问题,大概这类问题就是,检查规定了几个参数,上传是不是与其不同,或多或者重复。