java 调用存储过程【转】

 //调用存储过程带参
            CallableStatement ca = conn.prepareCall("{call Login (?,?)}");
            ca.setString(1,username);
            ca.setString(2,password);
            ca.execute();

 // 调用有一个out参数的存储过程

            CallableStatement ca = conn.prepareCall("{call Login (?,?,?)}");
            ca.setString(1,username);
            ca.setString(2,password);
            ca.registerOutParameter(3,java.sql.Types.INTEGER);
            ca.execute();
            int returnOut = ca.getInt(3);

  //调用oracle函数,带有一个out参数

            CallableStatement ca = conn.prepareCall("{?=call Login (?,?,?)}");

            ca.registerOutParameter(1,java.sql.Types.INTEGER);  // 对应call前面的 ? 
            ca.setString(2,username);
            ca.setString(3,password); 

            ca.registerOutParameter(4,java.sql.Types.VARCHAR);  // 对应 out 参数
            ca.execute();
            int returnOut = ca.getInt(1); // return value

            String ret = ca.getString(4);  // out value

    //调用存储过程返回两个结果集
            CallableStatement ca = conn.prepareCall("{call Login (?,?,?)}");
            ca.setString(1,username);
            ca.setString(2,password);
            ca.execute();

            ResultSet rs = ca.getResultSet();
            while(rs.next())
            {
                System.out.println(rs.getInt(1)+rs.getString(2));
            }
         if(ca.getMoreResults())
            {
                rs = ca.getResultSet();
                while (rs.next()) {
                    System.out.println(rs.getInt(1) + rs.getString(2));
                }

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fenghu89/archive/2008/01/21/2057619.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值