为了账号安全,请及时绑定邮箱和手机立即绑定

“参数索引超出范围(3 > 参数数量,即 2)。” 更新表时

“参数索引超出范围(3 > 参数数量,即 2)。” 更新表时

冉冉说 2023-06-08 19:18:43
我正在为大学做的期末项目需要帮助,我正在做一个图书馆类系统。我是 mySQL 的新手。我在代码上遇到问题,“参数索引超出范围(3 > 参数数量,即 2)”。PreparedStatement book_edit = book_db.prepareStatement("update books set ?='?' where id=?");            book_edit.setString(1, column); //where column is to set the column of the table            book_edit.setString(2, input); //where input is what you want to change            book_edit.setInt(3, book_id); //the primary key in my database            int i = book_edit.executeUpdate();            if (i != 0) {                System.out.println("UPDATED!!");            }            else {                System.out.println("Failed to Add Data!");            }
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

列名不能是 的变量PreparedStatement。它必须是 SQL 的一部分String:


PreparedStatement book_edit = book_db.prepareStatement("update books set " + column + "= ? where id = ?");


book_edit.setString(1, input); //where input is what you want to change

book_edit.setInt(2, book_id); //the primary key in my database


查看完整回答
反对 回复 2023-06-08
  • 1 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信