视窗
loading...
您现在的位置:首页 > 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(?,?)}")没有?=.

銆€

銆€

銆愬厤璐e0鏄庡拰鐗堟潈璇存槑銆�
鏈珯閮ㄥ垎淇℃伅鏉ユ簮浜庝簰鑱旂綉锛�瀵硅浆杞界殑淇℃伅鎴戜滑鍔涙眰鏍囨槑淇℃伅鐨勫嚭澶勶紝鎴戜滑灏婇噸浣滆€呯殑鐗堟潈钁椾綔鏉冿紝瀵规垜浠浆杞界殑淇℃伅濡傛湁寮傝鎴栨湁渚垫潈鎴栬繚娉曚俊鎭鍙婃椂鑱旂郴鎴戜滑锛屾湰绔欎細绔嬪嵆鍒犻櫎锛�瀵瑰師鍒涘唴瀹规垜浠効鎰忔敮浠橀€傚綋鐨勭ǹ閰紝鑱旂郴鏂瑰紡锛氶偖浠�:webmaster@jscj.com銆€鐢佃瘽锛�4008816886

相关文章

无相关信息
更新时间2022-03-13 11:19:02【至顶部↑】
联系我们 | 邮件: webmaster@jscj.com | 客服热线电话:4008816886(QQ同号) |  娣诲姞瀹㈡湇寰俊

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

客服电话: