怎样使用Java执行带输出参数的存储过程?

首先请问比如我有一个存储过程有一个返回值,存储过程的字符串是不是应该写成"{?=call×××(?)}",然后再执行前使用registerOutParameter方法注册... 首先请问比如我有一个存储过程有一个返回值,存储过程的字符串是不是应该写成"{?=call ×××(?)}",然后再执行前使用registerOutParameter方法注册一下,是不是第一个问号就是输出参数?可是我的总是报异常。
异常信息:The requested data is not available.
能不能给我写一个执行带输出参数存储过程的例子,不胜感激!
展开
 我来答
xman56
2008-07-01 · TA获得超过443个赞
知道小有建树答主
回答量:533
采纳率:0%
帮助的人:351万
展开全部
这个是一个执行游标的存储过程,返回一个游标结果集
前面的数据库连接我就不写了
String sql="{call course(?,?)}";
创建连接,
CallableStatement call=conn.prepareCall(sql);
设置in参数
call.setString(1,"dd");
注册参数类型
call.registerOutParameter(2,OracleTypes.CURSOR);
call.executeUpdate();
取得游标结果集
Object ob1=call.getObject(2);
循环遍历
ResultSet st=(ResultSet)ob1;
while(st.next()){
String s1=st.getString(1);
String s2=st.getString(2);
}
sony223
2008-07-01
知道答主
回答量:64
采纳率:0%
帮助的人:0
展开全部
你学什么的??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式