java 调用存储过程【转】

来源:互联网 发布:淘宝短款旗袍 编辑:程序博客网 时间:2024/05/18 00:22

 //调用存储过程带参
            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

原创粉丝点击