JDBC UPDATE With preparedStatement 导致 java.sql.SQLException:参数索引超出范围(3 > 参数数量,即 2)[重复]

2024-01-06

我面临着java.sql.SQLException:参数索引超出范围(3 > 参数数量,即 2)。更新一列或两列时'重置信息'表有五列(id、mobile_tower_id、reset_value、date_time、clientip)。 'id' 是自动生成的主键。 我想要UPDATE特定行的“reset_value”

现在以下是源代码:

        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Connecting to database...");
        conn = DriverManager.getConnection(DB_URL, USER, PASS);

        String sql = "UPDATE reset_info SET reset_value = ? WHERE id = ?";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setInt(1, 100);
        ps.setInt(3, 1000);

        ps.executeUpdate();
        conn.close(); 

以下是我的堆栈跟踪:

 Connecting to database...
java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3813)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3795)
at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3840)
at com.mysql.jdbc.PreparedStatement.setInt(PreparedStatement.java:3784)
at cdot.dsa.cfms.dbconnect.NewClass.main(NewClass.java:38)

是否必须为表格的每一列放置占位符('?')?

通过 java.sql.Statement 更新单个列正在工作,但我在 java.sql.preparedStatement 中遇到异常。

请帮忙。概念性想法将受到高度赞赏。


This ps.setInt(3, 1000);必须是ps.setInt(2, 1000);因为你只需要占位符。

是否必须为表格的每一列放置占位符('?')?

占位符用于参数而不是列!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDBC UPDATE With preparedStatement 导致 java.sql.SQLException:参数索引超出范围(3 > 参数数量,即 2)[重复] 的相关文章

随机推荐

  • 在 GitLab CI 管道中使用 docker-compose

    我正在尝试使用以下内容实现 GitLab 持续集成 CI 管道 gitlab ci yml file image docker latest When using dind it s wise to use the overlayfs dr
  • Matlab 相当于 Python 的“None”

    Matlab中是否有一个关键字大致相当于None在Python中 我试图用它来标记函数的可选参数 我正在翻译以下Python代码 def f x y None if y None return g x else return h x y 进
  • Winrt StreamWriter 和 StorageFile 未完全覆盖文件

    在这里快速搜索一无所获 因此 我开始使用一些相当迂回的方法在我的 WinRT 应用程序中使用 StreamWriter 阅读效果很好 写作则不同 我看到的是 当我选择要写入的文件时 如果我选择一个新文件 那么就没有问题 该文件已按我的预期创
  • 如何在Android上创建简单的日历[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何通过 Typescript 使用全局 Node 包

    可以通过安装全局包来使用它们npm install g 如果以这种方式安装 Typescript 类型 它们也可以在全局文件夹中使用 例如 usr lib node modules在Linux系统上 当使用以下命令转译打字稿源文件时tsc
  • Spring Data JPA底层机制无实现

    我开始阅读本教程 春季启动教程 https spring io guides tutorials bookmarks 在此我读到 在模型模块下 他们实现了 POJO 和存储库接口 gt github上的教程 https github com
  • 如何使用JNI代码正确导入Android库?

    背景 我制作了一个使用 JNI 进行位图处理的小型 SDK 链接here https github com AndroidDeveloperLB AndroidJniBitmapOperations 它只有 2 个项目 一个示例项目 演示
  • 如何在 Android 中连接到加密算法未知的 WiFi 网络?

    我研究过这个问题堆栈溢出 但所有答案都指定了如何使用已知加密算法 主要是 WEP 连接到网络 在我的应用程序中 我检索可用 wifi 网络的列表 并将它们显示在ListView using WifiManager 当用户单击列表中的一项时
  • 检索项目的父级时出错:找不到与给定名称“@android:style/TextAppearance.Holo.Widget.ActionBar.Title”匹配的资源

    我正在实现 ActionBar 以使用 xml 中的样式脚本设置文本的颜色 但是当我运行应用程序时出现错误 有人知道我缺少什么吗 这是我的 style xml 文件
  • 有没有办法确保 MSI 安装程序每次都更新 .exe 文件?

    是否有一些简单 无麻烦的方法可以让 MSI 安装在 exe 文件更新时始终替换 exe 文件 即主输出 这只是基本常识 无论我在哪里搜索 总是有关于主要版本和次要版本以及补丁的复杂讨论 必须有一些简单的方法来确保文件在安装过程中被替换 否则
  • 是否可以使用 POST 从 URL 直接上传到 S3?

    我知道有一种方法可以使用 POST 直接从 Web 浏览器上传到 S3 而无需将文件发送到后端服务器 但是有没有办法通过 URL 而不是 Web 浏览器来完成此操作 例如 上传位于以下位置的文件http example com dude j
  • Unix sendmail - html 嵌入图像不起作用

    在 SO com 之前的帖子中 我尝试构建脚本来将电子邮件发送到我的 Outlook 帐户 并将图像内嵌在电子邮件正文中 但 html 内容显示在 html 中 而不是显示图像 请帮忙 这是我的片段 echo TO email protec
  • 插入排序的比较次数

    在这个程序中 我想计算插入排序中数据比较的次数 但是我的代码没有按我的预期工作 def insertionSort list numOfComp 0 for i in range 1 len list value list i j i 1
  • 多线程服务器,信号处理。 POSIX

    我在处理多线程服务器中的信号处理时遇到问题 我为每个连接创建一个线程 但我希望有一个选项可以使用 SIGINT 终止服务器 然而 当其中一个线程捕获信号时 事情就会变得很糟糕 有没有办法阻止除主线程之外的线程获取信号 线程从创建它的线程继承
  • Intel AVX:为什么双精度浮点变量没有 256 位版本的点积? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • API 级别 24 中已弃用 ApplicationTestCase

    我创建了一个默认的空项目安卓工作室2 1 2 with API 24 在示例项目中 Google 提供了一个折旧的类应用测试用例 https developer android com reference android test Appl
  • 界面不使用显示模板

    我在显示模板以及处理接口和实现该接口的对象时遇到问题 在示例中 我有许多对象 我想以固定的方式呈现它们 我决定创建一个界面并在视图中引用它 我决定将其放入共享显示模板文件夹中 DisplayFor似乎不适用于传递给它的在视图中实现接口的对象
  • 如何获得本地组中的所有用户(性能良好)

    我寻找解决方案很长一段时间 但我找到的所有解决方案都非常慢 我想获取本地 Windows 组中的所有用户 该组当然也可以包含AD组 因此结果应该包含属于该组本身成员的所有用户and所包含的 AD 组的用户 您知道性能良好的解决方案吗 您尝试
  • 如何在叠加箱线图和条形图时删除重复的图例

    您可以轻松制作的最酷的东西之一seaborn is boxplot stripplot组合 import matplotlib pyplot as plt import seaborn as sns import pandas as pd
  • JDBC UPDATE With preparedStatement 导致 java.sql.SQLException:参数索引超出范围(3 > 参数数量,即 2)[重复]

    这个问题在这里已经有答案了 我面临着java sql SQLException 参数索引超出范围 3 gt 参数数量 即 2 更新一列或两列时 重置信息 表有五列 id mobile tower id reset value date ti