gpt4 book ai didi

java - Eclipse 使用 while 循环将数据插入 MySQL 没有指定值错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:01:52 25 4
gpt4 key购买 nike

我已经设置了我的数据库并连接到它,因为我可以正常添加值。我现在想运行一个循环并添加值,但出现此错误:

java.sql.SQLException: No value specified for parameter 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:996)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2281)
at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2261)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2120)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2077)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2062)
at test.Test.main(Test.java:30)

此外,我的表中的第一个参数是一个自动递增值,应该设置为 NULL,但 Eclipse 不允许我使用 NULL,因此我们将不胜感激。这是我添加数据的代码:

Connection conn = null;
PreparedStatement pstmt = null;
int loopNumber = 0;
try {
while (loopNumber < 10) {
conn = getConnection();
String query = "insert into username(id, name) values(?, ?)";

pstmt = conn.prepareStatement(query); // create a statement
pstmt.setInt(loopNumber, loopNumber); // set input parameter 1
pstmt.setString(loopNumber, "deptname"); // set input parameter 2
pstmt.executeUpdate(); // execute insert statement
}
loopNumber++;
} catch (Exception e) {
e.printStackTrace();
} finally {
pstmt.close();
conn.close();
}

最佳答案

setString/setInt 方法的第一个参数是 parameterIndex,在你的例子中它只能是 1 或 2(第一个“?”和第二个)。

因此,

pstmt.setInt(loopNumber, loopNumber); // set input parameter 1
pstmt.setString(loopNumber, "deptname"); // set input parameter 2

应该变成:

pstmt.setInt(1, loopNumber); // set input parameter 1
pstmt.setString(2, "deptname"); // set input parameter 2

关于java - Eclipse 使用 while 循环将数据插入 MySQL 没有指定值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28833077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com