[英]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.