No value specified for parameter 3

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);

分配出了问题,大概这类问题就是,检查规定了几个参数,上传是不是与其不同,或多或者重复。

你可能感兴趣的:(java,sql)