繁体   English   中英

在Java中执行存储过程后的ClassCastException

[英]ClassCastException after executing Stored procedure in java

使用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不是数组的列表(或数组)。 它是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可以是列索引或标签。

在这里,您可以找到有关使用ResultSet的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM