gpt4 book ai didi

java - 在java中执行存储过程后出现ClassCastException

转载 作者:行者123 更新时间:2023-12-01 04:21:52 24 4
gpt4 key购买 nike

使用 spring-jdbc 执行用 Oracle 编写的存储过程后,我收到 ClassCastException

这是出现问题的代码片段,这里的数据是我从过程中获得的列表:

for(Object[] obj :data){

}

下面是错误:

java.lang.ClassCastException: oracle.jdbc.driver.OracleResultSetImpl cannot be cast to [Ljava.lang.Object

我认为问题出在从过程中获取OUT光标之后如何在Java代码中使用它,即如何从中提取值?

不幸的是,搜索网络并没有给我任何解决方案。接下来我可以尝试什么?

最佳答案

data 不是数组的列表(或数组)。它是接口(interface)oracle.jdbc.driver.OracleResultSet的实现。 。因此您无法使用 for-each 循环对其进行迭代。

它还实现了 ResultSet ,它定义了方法 next()。因此,您可以使用 while-loop 迭代 data:

while (data.next()){
Object obj = data.getObject(col);
// do somthing with obj
}

方法next()将光标移动到下一行。col 可以是列索引或标签。

Here您可以找到使用 ResultSet 的示例。

关于java - 在java中执行存储过程后出现ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com