问题标签 [callable-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1358 浏览

java - 通过 Java 调用 PL\SQL:将参数注册为布尔值

我在 Java 应用程序中调用 PL/SQL 过程来更新数据库条目。

但我在 executeUpdate() 收到以下错误

原因:PL\SQL 不允许我注册到不是主要类型的 Boolean 类型。

我怎样才能调用这个函数?

0 投票
1 回答
547 浏览

java - 从存储过程中检索记录,从 java.sql.CallableStatement 调用

我正在创建一个 webapp,用户可以在其中为某些网络文档设置警报。该日期与一堆其他数据一起存储在 mysql 数据库中,这些数据在插入时使用 AES_ENCRYPT 进行加密。

插入的过程如下所示:

这工作得很好,但是在使用存储过程检索这些数据时我遇到了一些问题。负责此检索的类如下所示:

相应的 mysql 存储过程如下所示:

堆栈跟踪:

所以最大的问题是,如何使用解密我的记录的 java.sql.callablestatement 从 mysql 中的存储过程中检索记录?

0 投票
0 回答
247 浏览

java - 使用 CallableStatement 时,NUMBER 类型的列只能像 BigDecimal 一样被恢复

我正在使用 CallableStatement 通过 java 传递 StoreProcure 参数。

但是,当我尝试获取一些“NUMBER”类型的值时,我无法使用:

因为,所有的“NUMBER”参数都会像 BigDecimal 一样。

任何想法 ?

例如:

内部数据库:

通过java:

0 投票
2 回答
594 浏览

javascript - JDBC - MySQL 调用存储过程

我正在使用以下代码连接到数据库:

我需要使用以下存储过程:

call procedure_name()

在谷歌搜索之后,我无法理解我应该在代码中的何处以及如何实现这一行。

0 投票
1 回答
899 浏览

java - 如何在 JDBC callableStatement 中使用 INSERT....RETURNING

使用 Callable 语句我想从我的数据库中返回串行类型列,而不使用函数来执行它。

因此,我尝试使用以下语句作为参数传递给我prepareCall的连接函数以生成CallableStatement.

这里col6的数据类型为serial.

但这会产生异常:

org.postgresql.util.PSQLException:偏移 5 处的函数或过程转义语法格式错误。

我觉得这个语句使用的语法是错误的。如果是这样,那么正确的说法是什么?

注意:我无法使用connection.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);

注意:我也知道如何通过在 Postgresql 数据库模式中声明一个函数来完成。请不要回答有关此方法解决问题的问题。

我特别要求请通过说明如何更改该语句以便它可以使用来回答CallableStatement

0 投票
2 回答
492 浏览

java - 无法使用存储过程检索我想要选择的值

我正在努力寻找记录。这让我可以选择使用存储过程在我的数据库中查找现有记录。当我尝试搜索现有数据时,它并没有给我想要的值。当我点击搜索按钮时,它不会将值打印到文本字段。

代码

存储过程

桌子

任何帮助,将不胜感激!谢谢!

更新! 根据我阅读的内容,存储过程可以返回一个结果集。我想检索 OUT 参数的值。

String sectionName = myRs.getString(2); Section_SectionName_TextField.setText(sectionName); Section_SectionName_TextField.setEnabled(true);从 Result Set 块中删除了它,并将其放在 Callable Statement 块中。当我运行程序时。唯一的变化是文本字段被启用并打印出一个“空”值。

在此处输入图像描述

第二次更新! 我想返回 OUT 参数的值,我不应该使用 Result Set 来检索它。所以我根据@Gord Thompson 使用了带有存储过程的 OUT 参数的 Callable Statement 参数。

它仍然给我一个空值,我不知道为什么我得到这个值。

在此处输入图像描述

我的 GUI 的唯一更改是启用了文本字段,并且它没有在以下文本字段中打印我想要的值。:(

在此处输入图像描述

感谢您的回复。随意发表评论。

0 投票
0 回答
50 浏览

java - 通过结果集调用存储过程

如何通过 Callable Statement 使用存储过程检索现有数据?第一个参数用于SECTION_ID(主键),第二个参数用于SECTION_NAME。我不知道我哪里出错了,也许是写了一个存储过程。如果我错了,这是我的存储过程纠正我。

存储过程

桌子

代码

当我尝试运行项目并插入现有数据时。它什么也没显示。它没有打印出我想要的节目的价值。任何帮助或提示将不胜感激!:)

0 投票
0 回答
32 浏览

java - 如何正确检索我的结果集?

自从我无法继续解决这个问题以来已经两天了。我知道别人的这很简单。我刚开始学习 JDBC 3 个月。

问题

  • 无法从结果集中检索值。
  • 它给了我一个空值。

根据我阅读和评论我的代码,存储过程可以返回一个结果集,但我的情况没有。我不应该遍历结果集。因此,如果我想检索值,我需要在 Callable 语句本身而不是在结果集上调用适当的 getXXX() 方法。所以我所做的就是从结果集块中删除我的代码,并将其放在 Callable Statement 块上,这给了我一个空值。我无法正确检索我的值。

当我尝试通过调用语法检索我的存储过程时。我成功地检索了现有记录。

在此处输入图像描述

正如您在此处看到的,我正在检索正确的值。但是当我使用结果集检索它时,它给了我一个空值。

在此处输入图像描述

如果我搜索现有记录,我想做的将如下所示。 在此处输入图像描述

感谢您花时间阅读我的帖子。任何帮助将不胜感激。谢谢!:)

0 投票
1 回答
621 浏览

java - 如何在 executeUpdate() 之后从 CallableStatment 检索 ResultSet

我正在用 Java 执行存储过程。其中一个过程返回多行。

我尝试使用 execute() 但如果返回 false 值,表明该过程未成功执行。

0 投票
1 回答
689 浏览

android - 如何在android studio中传递一个Callable函数的值?

我正在尝试将一个值传递给我的代码中的回调函数,我将我的传递callback给另一个函数,我希望它返回callback一个状态,

这是我要发送的功能>

这是我在 wifiWrapper 类中的最终功能>

这是我正在传递的 Callable >

问题是 我想将 传递isOnStatecallable,但似乎无法使其工作。 我正在添加

但它不起作用它说它不能应用