1.调用函数

{?= call <procedure-name>[(<arg1>,<arg2>, ...)]}

{call <procedure-name>[(<arg1>,<arg2>, ...)]}*/

public int testFunction() {

String sql = "{?= call cal_add(?, ?)}";

conn = DBHelper.getOracleConnection();

int r = -1;

try {

cs = conn.prepareCall(sql);

cs.registerOutParameter(1, OracleTypes.NUMBER);

cs.setInt(2, 5);

cs.setInt(3, 7);

cs.execute();

r = cs.getInt(1);

} catch (SQLException e) {

e.printStackTrace();

}

DBHelper.destroy(conn, cs, rs);

return r;

}

2. 调用存储过程

public void testProcedure() {

String sql = "{call myprowithout(?,?,?)}";

conn = DBHelper.getOracleConnection();

try {

cs = conn.prepareCall(sql);

cs.setInt(1, 109);

cs.registerOutParameter(2, OracleTypes.VARCHAR);

cs.registerOutParameter(3, OracleTypes.VARCHAR);

cs.execute();

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

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

} catch (SQLException e) {

e.printStackTrace();

}

DBHelper.destroy(conn, cs, rs);

}

3.调用带游标的存储过程

public void testProcedureWithCursor() {

String sql = "{call print_stu.put_stuinfo(?,?)}";

conn = DBHelper.getOracleConnection();

try {

cs = conn.prepareCall(sql);

cs.setInt(1, 95031);

cs.registerOutParameter(2, OracleTypes.CURSOR);

cs.execute();

OracleCallableStatement ocs = (OracleCallableStatement)cs;

rs = ocs.getCursor(2);

while(rs.next()) {

System.out.print(rs.getString("sno")+"\t");

System.out.print(rs.getString("sname")+"\t");

System.out.print(rs.getString("ssex")+"\t");

System.out.print(rs.getDate("sbirthday")+"\t");

System.out.println(rs.getInt("class"));

}

} catch (SQLException e) {

e.printStackTrace();

}

DBHelper.destroy(conn, cs, rs);

}

java调用数据库中的函数和存储过程的更多相关文章

  1. java中调用数据库中的存储过程和函数

    public static void main(String[] args)    {         Connection conn =getConnection(url,user, pwd);   ...

  2. mysql中的函数与存储过程

    mysql中的函数:1 mysql下创建函数: 1.1 语法: delimiter $$ -- 设置分隔符,默认是; 设置成其他符号,让编译器知道我们函数编写的结束,此处设置成$$ create fu ...

  3. 在VS2012中采用C++中调用DLL中的函数 (4)

    这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人 ...

  4. 在C++中调用DLL中的函数 (3)

    1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...

  5. 在C++中调用DLL中的函数 (2)

    应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL之前首先要知道DLL中函数的结构信息. Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin. ...

  6. 在C++中调用DLL中的函数

    如何在C++中调用DLL中的函数 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接.在使用DLL之前首先要知道DLL中函数的结构信息.Visual C++6.0在VC\bin目录下 ...

  7. 【原创】在VS2012中采用C++中调用DLL中的函数(4)

    这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人 ...

  8. 在C++中调用DLL中的函数(3)

    1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...

  9. 在C++中调用DLL中的函数(2)

    本文转自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式: 一种是隐式链接,另一种是显式链接.在使用DLL ...

随机推荐

  1. Linux安装了mysql 无法远程连接

    问题: 本地安装完mysql,无法远程连接 1.检查mysql进程是否启动 ps -ef|grep -i mysql 2.查看端口是否监听 netstat -ntlp 3.查看iptables配置 v ...

  2. vscode加MinGw三步搭建c/c++调试环境

    vscode加MinGw三步搭建c/c++调试环境 step1:安装vscode.MinGw 1.1 vscod常规安装:https://code.visualstudio.com/ 1.2 MinG ...

  3. 本地文件夹上传到Github(一)

    1.在要上传的文件夹下单击右键,选择Git Bash here打开Git bash,设置全局用户名和邮箱 语法:git config --global user.name wandou 语法:git ...

  4. vue项目中使用高德地图(根据坐标定位点)

    前言 项目中需要根据坐标定位,将自己的实现过程写下来,废话不多说,上代码 正文 <script> var map,marker; export default { data(){ retu ...

  5. sqoop简单使用

    一,通过sqoop将MySQL里面的数据加载到HDFS 先查看有哪些数据库 查看表person sqoop list-databases --connect jdbc:mysql://ly-p2p4: ...

  6. DNS服务的安装

    DNS服务器原理及配置 域名讲解 www.baidu.com 完整的域名,通常.来进行分割三个部分:www是主机名,baidu是域名,com是类型 主机名 + 域名 + 类型 构成完整的域名 DNS服 ...

  7. Jenkins 使用python进行调度,并下载apphost上的安装包

    在持续集成的过程中,Jenkins工具是我们必须要会用的工具,那么今天分享一个使用python对Jenkins进行调度的案例 使用的是python-jenkins 库,借用selenium登陆jenk ...

  8. poj 3468 : A Simple Problem with Integers 【线段树 区间修改】

    题目链接 题目是对一个数组,支持两种操作 操作C:对下标从a到b的每个元素,值增加c: 操作Q:对求下标从a到b的元素值之和. #include<cstdio> #include<c ...

  9. 20 简述BASE64编码的作用和c#对其的支持?

  10. 循序渐进实现仿QQ界面(一):园角矩形与双缓冲贴图窗口

    印象里仿QQ界面的程序应该有很多,搜了一下,虽然出来一大堆,排除了重复的,却只有两三个,没我想象的好.经常看到CSDN上有人问,QQ这个功能怎么实现,那个界面怎么实现,归纳了一下,决定写这么一个仿QQ ...