您在尝试将数据插入数据库时遇到错误,并伴有消息“java.sql.SQLException:参数索引超出范围(1 > 参数数量,为 0)”。
当您在 SQL 查询中未指定占位符 (?) 的情况下对PreparedStatement 调用 setXxx() 方法时,会发生此错误。例如:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (val1, val2, val3)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1); // Error occurs here
要解决此问题,请在 SQL 查询中包含占位符:
String sql = "INSERT INTO tablename (col1, col2, col3) VALUES (?, ?, ?)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, val1);
请注意,参数索引从 1 开始,并且有无需在 SQL 字符串中引用占位符。这样做会导致同样的错误。
以上是为什么我的 JavaPreparedStatement 抛出'参数索引超出范围”?的详细内容。更多信息请关注PHP中文网其他相关文章!