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

 披着羊皮的狼19972010 发布于 2023-02-10 11:32

我有这样的SQL查询.

 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开发人员工作得很完美.但是当我用上面的jdbc代码运行它时,它会抛出并非所有变量绑定异常.如何在JDBC中运行上面的查询

1 个回答
  • :deptno?替换你的查询.

    而不是实例化语句使用以下内容:

    PreparedStatement stmt=con.prepareStatement(query);
    
    stmt.setInt(1,deptno); //1 is for the first question mark
    

    其中deptno包含要执行查询的值.

    通过PrepredStatement接口,我们可以使用仅编译一次的参数化查询,与Statement接口相比具有性能优势.

    2023-02-10 11:35 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有