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

2023-12-02

我有一个这样的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 Developer 中运行上面的查询时效果很好。但是当我使用上面的 jdbc 代码运行它时,它会抛出 Not allvariablesbound 异常。 如何在 JDBC 中运行上述查询


replace :deptno在您的查询中带有 ?。

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

PreparedStatement stmt=con.prepareStatement(query);

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

where deptno保存您要执行查询的值。

通过PreparedStatement接口,我们可以使用参数化查询,该查询只需编译一次,与Statement接口相比具有性能优势。

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

在 Jdbc 中执行带有绑定变量的 SQL 查询 的相关文章

随机推荐

  • 从 R 中未知密度的分位数生成随机样本[重复]

    这个问题在这里已经有答案了 如何从未知密度的分位数生成随机样本数据f x for x之间0 and 4 in R f function x x 1 2 exp x 3 3 2 x 2 2 x 如果我理解正确的话 你想生成具有密度函数由下式给
  • 后缀(前缀)增量、L 值和 R 值(在 C 和 C++ 中)

    我刚刚了解到以下事实 前缀增量 var name 的结果是 C 中的 R 值 至少 我是 确保它不是 C 中的 L 值 但它是 C 中的 L 值 后缀增量 var name 的结果是 C 中的 R 值 至少 我是 确保它不是 C 中的 L
  • 提升语义操作导致解析问题

    我一直在使用 Boost mini 编译器示例 这是源代码的根 http www boost org doc libs 1 59 0 libs spirit example qi compiler tutorial mini c 我感兴趣的
  • 向结构化numpy数组添加字段(3)

    这个问题已经被问过并回答过多次 here and here 例如 显然该函数已在 numpy 1 6 1 中移动 没有更多了numpy lib recfunctions 虽然我可以按照之前的帖子中指定的方式实现我自己的 但我会really而
  • 如何在连接字段中使用逗号分隔列表连接两个表

    我有两张桌子 categories and movies In movies表我有一列categories 该列包含电影所属的类别 类别是用逗号分隔的 ID 这是一个例子 Table categories id name 1 Action
  • Spark 无法找到 JDBC 驱动程序

    因此 我一直在使用 sbt 和 assembly 将所有依赖项打包到一个 jar 中以用于我的 Spark 作业 我有几份工作正在使用c3p0设置连接池信息 将其广播出去 然后使用foreachPartition然后在 RDD 上获取连接
  • 如何在 DBX 中使用连接池?

    Well 我设法让代表驱动程序正确设置 但连接池仍然给我带来很多麻烦 从文档中给出的描述来看 连接池似乎应该像这样工作 在单个全局 Connection 对象上设置 DBXPool 驱动程序委托 将此 Connection 对象用于对数据库
  • 这似乎是一个关于 Javascript 事件的类。它是什么?

    我刚刚遇到了一些看起来像这样的 jQuery add row live click add function do something 这似乎与 点击 添加 事件 我自己使用自定义事件并认为它们很棒 但是git grep我们的代码库上没有显
  • 替换终端中的多行字符串

    我正在尝试编写一些代码来覆盖其之前的输出 例如原始输出是 1 但是 1 被替换为 2 这使得它看起来好像 1 一开始就没有被输出过 我有一个名为的列表列表board 我使用以下代码将此列表转换为多行字符串 rendered board fo
  • JavaScript:在选项卡之间共享数据[重复]

    这个问题在这里已经有答案了 在浏览器中打开的选项卡之间共享数据的最佳方式是什么 如需更现代的解决方案 请查看这个答案引述如下 我坚持使用问题中提到的共享本地数据解决方案localStorage 就可靠性 效率和浏览器兼容性而言 它似乎是最好
  • 为什么 '$_' 与 Perl 单行代码中的 $ARGV 相同?

    我在尝试在 Perl 单行代码中打印单引号时遇到了这个问题 我最终发现你必须逃离他们 这是一些代码来说明我的问题 让我们从打印文本文件开始 perl ne chomp print n shortlist txt red orange yel
  • 在C语言中如何使用scanf获取int?

    我正在尝试了解从控制台获取输入的不同方法的优点和缺点 我很困惑scanf 为什么我需要使用use favNumber代替favNumber 我明白那个 favNumber是地址位置favNumber 但是为什么要这样做呢 我觉得这里有一个类
  • 无法在 macOS 应用程序的 Xcode 9 中测试应用内购买

    自 iOS11 发布以来 测试应用内购买一直是一件痛苦的事 如果不是不可能的话 虽然我在这里找到了在 iOS 上测试的一个很好的解决方法 https stackoverflow com a 46467498 4514671我找不到 macO
  • 从 SELECT 中的多个选择中获取值

    我有一个选择框 允许您选择多个选项 我需要使用 JavaScript 访问所有选定的值 可能是值数组 这是获取所选值数组的最佳方法 mySelect val Return an array of the selected options v
  • 升级到 python 3.0 的提示? [复制]

    这个问题在这里已经有答案了 因此 随着 Python 3 0 现在是 3 1 的最终版本 很多人都面临着如何升级而不因向后不兼容而丢失一半代码库的担忧 人们有哪些最佳技巧可以避免切换到下一代 Python 时几乎不可避免地出现的许多陷阱 也
  • FFmpeg - PHP 错误代码 127

    我正在尝试从 php 执行 FFmpeg 我已经安装了FFmpeg php 并且扩展位于modules目录中 并且它显示在phpinfo中 FFmpeg 工作正常 因为我可以在终端中运行命令并输出视频 但是 当我尝试使用以下脚本从 php
  • 检查 SharePoint 365 中的工作簿是否已锁定进行编辑

    我在 SharePoint 365 中有一个文档库 我使用本地 Excel 宏文件通过 VBA 在线打开 SharePoint 中的工作簿 这适用于类似的代码 location https mycompany sharepoint com
  • 尝试使用 Python 和 Selenium 迭代地滚动和抓取网页

    我最近问了一个问题 参考这里 Python Web 抓取 Beautiful Soup Selenium 和 PhantomJS 仅抓取整个页面的一部分 这有助于确定我在抓取滚动时动态更新的页面的所有内容时遇到的问题 然而 我仍然无法使用
  • 使用pip在django中安装错误

    我是 Django 世界的新手 我想将其从 pip 安装到我的 Windows 中 但在安装时出现此错误 C Users xxxx gt pip install django Collecting django Could not inst
  • 在 Jdbc 中执行带有绑定变量的 SQL 查询

    我有一个这样的sql查询 select DEPT DEPTNO as DEPTNO1 DEPT DNAME as DNAME1 DEPT LOC as LOC1 EMP COMM as COMM1 EMP EMPNO as EMPNO1 E