java 调用存储过程出现"无效的索引列",请问怎么解决?

yxymtr5 2008-07-09 05:18:43


create or replace procedure class_course
is
cursor cur_a is select nianji from yxy_class;
cr yxy_class.nianji%TYPE;
begin
IF NOT cur_a%ISOPEN
THEN
OPEN cur_a;
END IF;

while cur_a%found
loop
fetch cur_a into cr;
end loop;
close cur_a;

end class_course;
proc = conn.prepareCall("{ call class_course() }");
proc.execute();

rs = (ResultSet)proc.getObject(1);
while (rs.next()) {

System.out.println("年级是="+rs.getObject("nianji") );

}
应该就是一列.但是在java里还是取不出来,出现"无效的列索引",这又是为什么呢?
...全文
2684 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxymtr5 2008-07-11
  • 打赏
  • 举报
回复
create or replace procedure class_course
is
cursor cur_a is select nianji from yxy_class;
cr yxy_class.nianji%TYPE;
begin
IF NOT cur_a%ISOPEN
THEN
OPEN cur_a;
END IF;

while cur_a%found
loop
fetch cur_a into cr;

那这块out呢?
end loop;

close cur_a;

end class_course;
yxymtr5 2008-07-11
  • 打赏
  • 举报
回复
我努力顶到明白为止
yxymtr5 2008-07-11
  • 打赏
  • 举报
回复
高手帮忙,我刚开始学,带包的那种能返回值,但这种直接用的应该怎么返回值啊,麻烦帮小弟看看?
hx2044 2008-07-10
  • 打赏
  • 举报
回复
没有OUT
dongdong715 2008-07-10
  • 打赏
  • 举报
回复
应该是你的存储过程里面并没有作select 操作,,结果集里面没有System.out.println("年级是="+rs.getObject("nianji") ); 这语句中的nianji列。
yxymtr5 2008-07-09
  • 打赏
  • 举报
回复
问题太简单了,我自己顶一下

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧