唉,怎么都是这样的帖子啊?我前面回复了一片了:
——————————————————————————————
Java程式:
……
CallableStatement call = conn.prepareCall("{ call get_all(?) }");
call.registerOutParameter(1, OracleTypes.CURSOR);// 註冊out參數的SQL數據類型
call.execute();
ResultSet rs=(ResultSet)call.getObject(1);// 取得得數据結果集合
while(rs.next())
……
——————————————————————————————

解决方案 »

  1.   

    同意Nickle_Final(山雨欲来)
    不过我觉得尽量不要在存储过程中打开cursor,这样很容易造成cursor没有关闭,而且很难发现.
    我一般处理事务使用存储过程,其他还是用jdbc吧.
      

  2.   

    :)
    其实这位的标题的确启得不好,看上去让人感觉不舒服。
    不过以上的很多大哥的话,让人看了更难受。还是 Nickle_Final(山雨欲来) 
    和 leexhwhy(南天一剑)说得让人看了心里暖融融的。
    我是女生,毕业两年了,我们寝室里面6个计算机专业的女孩,现在搞程序开发的就剩下2个了,能够留在这个行业,难道不需要一点勇气吗?
    当然我们并不可怜,而是有信念!
      

  3.   

    把你传出来的游标参数用一个Recordset来接收,然后操作这个Recordset就知道里面的结果对不对了?
    比如:
       ResultSet  rs = null;
       rs = ((OracleCallableStatement) stmt).getCursor(3); //输出结果集参数
    然后遍历这个rs,这时跟读其它的ResultSet是一样!
    建议你在JAVA调用前,先用pl/sql developer调一下,至少保证在PL/SQL里面过程是正确的,再用JAVA调用,这样即使有问题,你也可以排除一部分因素.(当老板和客户看到你的产品的时候,他们除了不关心你是用的什么语言和模式开发的,也同样不关心这东西的作者是男的还是女的,对你们的要求相同,东西做的好,就都是好样的!!
    也同意 zhaoxiaoshu(oeoeoe),能在这个行当里坚持下来的女生,大都是有勇气和信念的!)
      

  4.   

    for(rs.first();!rs.isAfterlast();rs.next())
    {
      ........
      String DemoString1=rs.getString(1);
    }
    rs就是你返回的结果集
      

  5.   

    需要进一步资料,联系我,[email protected]