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

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


1.调用函数

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

    第一个?表示返回的值,后面的?可以是输入参数,也可以是输出参数。

    第一个?是返回参数,所以必须有语句:

    connection.registerOutParameter(1, Types.VARCHAR);(Types.varchar是类型)

    后面的?如果是输出参数,应该也加上registerOutParameter语句:

    connection.registerOutParameter(2, Types.VARCHAR);(2是第2个占位符,Types.varchar是类型)

    最后打印输出的结果:

    System.out.println(cs.getString(1)); (1是对应输出参数,第一个输出参数)

    2.调用存储过程

    CallableStatement cs=con.prepareCall("{call stu_pro(?,?,?)}");(与函数的区别是:没有?=)

    java程序中要打印调用过程获得的值,需调用有输出参数的存储过程,用法和调用函数一样。

    3.简单例子

    [java]

    package com.dgy.app;

    import java.sql.CallableStatement;

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    import java.sql.Types;

    public class OraclePro {

    /**

    * 连接数据库

    */

    public static Connection getConnection(){

    Connection con = null;

    try {

    Class.forName("oracle.jdbc.driver.OracleDriver");

    String url = "jdbc:oracle:thin:@PC-200911181406:1521:dgy";

    String user = "dwj";

    String pwd = "dwj";

    con = DriverManager.getConnection(url,user,pwd);

    } catch (ClassNotFoundException e) {

    e.printStackTrace();

    } catch (SQLException e) {

    e.printStackTrace();

    }

相关文章

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

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

客服电话: