当前位置: 首页 > 知识库问答 >
问题:

java.sql.SQL异常:参数数错误:预期为 0,被给定 5 查询:

海景曜
2023-03-14

我在数据库查询调用期间遇到问题,并收到下面提到的错误。在本地运行代码时遇到此问题。基本代码是在 Java 1.7 和 Ant 构建中设置的。

错误: java.sql.SQL异常: 错误的参数数: 预期为 0,被赋予 5 查询:

{呼叫dbo。SaveTest(?,?,?,?,?)}参数:[值1,值2,值3,值4,值5]

法典:

QueryRunner run = new QueryRunner(ContextListener.getDataSource());
BigDecimal result = run.query("{call dbo.SaveTest(?,?,?,?,?)}", new ScalarHandler<BigDecimal>(), mapping2, 
mapping3, mapping4, mapping5);

任何帮助都是值得赞赏的。

共有1个答案

申屠亦
2023-03-14

您必须调用执行而不是查询

execute(String sql, ResultSetHandler rsh, Object...参数) 执行 SQL 语句,包括存储过程调用,该调用返回一个或多个结果集。

BigDecimal result = run.execute("{call dbo.SaveTest(?,?,?,?,?)}", new ScalarHandler<BigDecimal>(), mapping2, 
mapping3, mapping4, mapping5);

有关更多信息,请阅读javadoc:

https://commons.apache.org/proper/commons-dbutils/apidocs/org/apache/commons/dbutils/QueryRunner.html
 类似资料:
  • 我不知道为什么我会得到这个。我用这个代码显示专辑封面。大多数专辑/子专辑都运行良好。但其中有2个会抛出错误:致命错误[0]:array_key_exists()期望参数2为数组,给定为null 任何指点都将受到高度赞赏。谢谢.

  • 我得到以下错误 警告:mysqli_error()只需要1个参数,给定0 问题出在代码的这一行: 整个代码是 包含的文件有以下一行

  • 警告:mysqli_fetch_array()要求参数1为mysqli_结果,字符串为给定值 这是我的密码谁能告诉我怎么了?

  • 问题内容: 我试图让我的头围绕mysql。谁能告诉我为什么这个MySQL查询无法正常工作?我收到以下错误: 警告:mysqli_error()期望恰好有1个参数,第11行的/home/freebet2/public_html/test.php中给出的参数为0 test.php db.php 如果我将alter string更改为:之类的原因,我不会收到任何错误。 问题答案: 就sql错误而言,“用

  • 我的项目设置是Spring MVC,Hibernate 3.2.x,在 MySQL 数据库上 收到以下错误: org.hibernate.QueryParameterException:无法找到命名参数电子邮件 方法#1: 方法#2: 错误: java.lang.IllegalArgumentException:参数email不作为命名参数存在于[fromcom.cmgr.beans.UserAc

  • 这是我运行程序时收到的错误: 注:[19533]是我使用的一个测试值。 这是在CustomerServiceBeanImpl.java中出现错误的方法: 在快速检查ERD时,“Customer”表中的“id”列的数据类型为bigint。然而,我不确定这是否重要。(顺便提一下PostgreSQL数据库。) 如何修复此错误?