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

在Jdbc中执行绑定变量的Sql查询

乐正远航
2023-03-14
 select "DEPT"."DEPTNO" as "DEPTNO1",
"DEPT"."DNAME" as "DNAME1",
"DEPT"."LOC" as "LOC1",
"EMP"."COMM" as "COMM1",
"EMP"."EMPNO" as "EMPNO1",
"EMP"."ENAME" as "ENAME1",
"EMP"."HIREDATE" as "HIREDATE1",
"EMP"."JOB" as "JOB1",
"EMP"."MGR" as "MGR1",
"EMP"."SAL" as "SAL1"
from "EMP" , "DEPT" where "DEPT"."DEPTNO" in (:DeptNo)

//这是Jdbc代码

Class.forName(DB_DRIVER);
dbConnection = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD);
Statement statment = dbConnection.createStatement();
result = statment.execute(query);//query is above sql query

当我在Oracle sql developer中运行上面的查询时,它工作得很好,但是当我用上面的jdbc代码运行它时,它会抛出不是所有变量绑定的异常。如何在JDBC中运行上述查询

共有1个答案

鞠征
2023-03-14

将查询中的:deptno替换为?。

并使用以下语句代替实例化语句:

PreparedStatement stmt=con.prepareStatement(query);

stmt.setInt(1,deptno); //1 is for the first question mark

其中deptno保存要为其执行查询的值。

 类似资料:
  • 问题内容: 我想绑定变量,而不只是构建SQL字符串。无论如何要在PHP中执行此操作? MySQL或PostgreSQL答案都会有所帮助。 谢谢 问题答案: 例如有PDO。 有关pdo和预处理语句(包括绑定参数)的介绍,请参见http://docs.php.net/pdo.prepared- statements

  • 问题内容: 我收到此错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误。检查与您的MySQL服务器版本相对应的手册,以获取在’?’附近使用的正确语法。在第1行 我成功执行了不带where子句的查询。我看过许多示例,但我没有尝试解决此问题。 问题答案: 如果我理解您的问题,那么您就使用了问题。我可以肯定您打算

  • Rust 通过静态类型确保类型安全。变量绑定可以在声明变量时标注类型。不过在多数情况下,编译器能够 从字面内容推导出变量的类型,大大减少了标注类型的负担。 使用 let 绑定操作可以将值(像具体数据)绑定到变量中。 fn main() { let an_integer = 1u32; let a_boolean = true; let unit = (); // 将

  • 大家好,我在joomla 2.5中为后端做了一个组件,但是我在执行sql查询时遇到了问题,我的变量是空的,所以它不会显示任何内容。 我有其他的文件和文件,但这里对我的问题很重要。 首先在我的controller.php我有这个内部管理文件 在我的模型文件我有restaurante.php 在我的控制器文件里我有这个 最后,在我的视图文件中,我有一个默认的tmpl文件。显示表格的php 但是元素re

  • 变量绑定默认是不可变的,但加上 mut 修饰语后变量就可以改变。 fn main() { let _immutable_binding = 1; let mut mutable_binding = 1; println!("Before mutation: {}", mutable_binding); // 正确代码 mutable_binding += 1

  • 问题内容: 我有5个单独的SQL查询,这些查询按顺序在控制器操作中执行。这是我用来执行它们的方法: 因此,基本上我有五个连续的查询,这些查询必须按顺序执行,并且代码必须在它们下面继续执行。有没有更好的方法可以从控制器操作内部执行查询?我不确定使用当前方法进行错误处理的最佳方法。 谢谢! 问题答案: 首先看在控制器和数据库之间创建一个抽象层。存储库就是一个例子,它会在您进行测试时提供帮助。您可以创建