您现在的位置:首页 > IT认证 > JAVA >

Java基础知识:Java中调用存储过程或函数2


return con;

    }

    public static void main(String[] args) throws SQLException {

    //System.out.println(OraclePro.getConnection());

    Connection con=OraclePro.getConnection();

    CallableStatement cs=con.prepareCall("{?=call get_pname}");//没有参数的函数

    cs.registerOutParameter(1, Types.VARCHAR);//第一个占位为输出,类型是varchar

    cs.execute();                  //不能忘记execute()

    System.out.println(cs.getString(1)); //打印输出结果,对应registerOutParameter

    }

    }

    [java]

    //有1个输入参数的函数

    CallableStatement cs=con.prepareCall("{?=call get_pname1(?)}");

    cs.registerOutParameter(1, Types.VARCHAR);

    cs.setLong(2,25);      //输入参数是25

    cs.execute();

    //有1个输出参数的函数

    CallableStatement cs=con.prepareCall("{?=call get_pname2(?)}");

    cs.registerOutParameter(1, Types.VARCHAR);

    cs.registerOutParameter(2, Types.VARCHAR);

    cs.execute();

    System.out.println(cs.getString(1));

    System.out.println(cs.getString(2));

    //上面两个结果一样,因为两个意思是一样的

    //1个输入参数,1个输出参数

    CallableStatement cs=con.prepareCall("{?=call get_pname3(?,?)}");

    //第1个是返回值,第2个是输入参数,第3个是输出参数

    cs.registerOutParameter(1, Types.VARCHAR);

    cs.setLong(2, 25);

    cs.registerOutParameter(3, Types.VARCHAR);

    cs.execute();

    System.out.println(cs.getString(1));

    System.out.println(cs.getString(3));

    调用存储过程与调用函数的方法一样,就只是con.prepareCall("{call  procedure(?,?)}")没有?=.

相关文章

无相关信息
更新时间2022-03-13 11:19:02【至顶部↑】
联系我们 | 邮件: | 客服热线电话:4008816886(QQ同号) | 

付款方式留言簿投诉中心网站纠错二维码手机版

客服电话: