在Java中调用带参数的存储过程
JDBC调用存储过程: CallableStatement
在Java里面调用存储过程,写法那是相当的固定:Class.forName(....Connection conn = DriverManager.getConnection(..../***p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替*其余地方写法固定*/CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");/***告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定*下面的意思是,第3个?和第4个?是输出参数,类型是INTEGER的*Types后面具体写什么类型,得看你的存储过程参数怎么定义的*/cstmt.registerOutParameter(3, Types.INTEGER);cstmt.registerOutParameter(4, Types.INTEGER);/***在我这里第1个?和第2个?是输入参数,第3个是输出参数,第4个既输入又输出*下面是设置他们的值,第一个设为3,第二个设为4,第4个设置为5*没设第3个,因为它是输出参数*/cstmt.setInt(1, 3);cstmt.setInt(2, 4);cstmt.setInt(4, 5);//执行cstmt.execute();//把第3个参数的值当成int类型拿出来int three = cstmt.getInt(3);System.out.println(three);//把第4个参数的值当成int类型拿出来int four = cstmt.getInt(4);System.out.println(four);//用完别忘给人家关了,后开的先关cstmt.close();conn.close();JDBC调用存储过程,掌握这一个程序足够了.以下是上面程序使用的存储过程的代码,我用的是Oracle数据库,不过不论是什么数据库,对于你的程序,JDBC这一端写法都是一样的.create or replace procedure p(v_a in number,v_b number,v_ret out number,v_temp in out number)isbeginif(v_a > v_b) thenv_ret := v_a;elsev_ret := v_b;end if;v_temp := v_temp + 1;end;在Java中调用带参数的存储过程的更多相关文章
- Java程序调用带参数的shell脚本返回值
Java程序调用带参数的shell脚本返回值 首先来看看linux中shell变量(\(#,\)@,$0,$1,\(2)的含义解释 变量说明: - \)$ Shell本身的PID(ProcessI ...
- [转]SSIS OLE DB Source中执行带参数的存储过程
本文转自:http://www.cnblogs.com/michaelxu/archive/2009/10/21/1587450.html 问题描述:执行一个存储过程得到一个多条记录的结果集,然后循环 ...
- 在C#中怎么调用带参数的存储过程啊??
1)执行一个没有参数的存储过程的代码如下:SqlConnection conn=new SqlConnection(“connectionString”);SqlDataAdapter da = ne ...
- 20150825 C# 调用带参数的存储过程 模板
////// exec proceudre2 //System.Data.SqlClient.SqlConnection sqlcon = new Sys ...
- ado.net 调用带参数的存储过程
String connString = "Data Source = localhost; Initial Catalog = hkjc;User ID = sa;Pwd = 123&quo ...
- ado.net调用带参数的存储过程
- c#调用Mysql带参数的存储过程
1.首先创建一个带参数的存储过程 ①存储过程名称=proc_bookinfo ②存储过程2个参数 一个in 一个out in参数名称=ispay out参数名称=unPaycount ③ 这个存储过 ...
- Sql Server 带参数的存储过程执行方法
Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数 ...
- java中调用dll文件的两种方法
一中是用JNA方法,另外是用JNative方法,两种都是转载来的, JNA地址:http://blog.csdn.net/shendl/article/details/3589676 JNativ ...
随机推荐
- Interval 计时器
语法: setInterval(代码,交互时间); 在执行时,从载入页面后每隔指定的时间执行代码. clearInterval( setInterval() 返回的 ID 值 ): 取消计时器 < ...
- c# Java 微信红包算法
int total_money_cent = 1000; // 红包总金额 单位:分 int total_people = 8; // 抢红包总人数 int[] array = new int[tot ...
- TC SRM 597 DEV2
第一次玩TC的SRM,只完成了一题,有点失落,不过还是要把每个问题都研究清楚才是我的本性,呵呵 第一题思路: 任意一个数,不断除掉2以后的剩下的数若相同则YES否则NO 第二题: 最开始判断字母个数是 ...
- SuperSocket中的Server是如何初Initialize的
第一个函数 d:\sourcecode\github\supersocket\quickstart\basic\telnetserver_startbyconfig\program.cs static ...
- uva11149
Consider an n-by-n matrix A. We define Ak = A ∗ A ∗ . . . ∗ A (k times). Here, ∗ denotes the usual m ...
- bzoj 1621: [Usaco2008 Open]Roads Around The Farm分岔路口【dfs】
模拟就行--讲道理这个时间复杂度为啥是对的??? #include<iostream> #include<cstdio> using namespace std; int k, ...
- Hdu 4612 Warm up (双连通分支+树的直径)
题目链接: Hdu 4612 Warm up 题目描述: 给一个无向连通图,问加上一条边后,桥的数目最少会有几个? 解题思路: 题目描述很清楚,题目也很裸,就是一眼看穿怎么做的,先求出来双连通分量,然 ...
- TCPClient、TCPListener的用法
支持Http.Tcp和Udp的类组成了TCP/IP三层模型(请求响应层.应用协议层.传输层)的中间层-应用协议层,该层的类比位于最底层的Socket类提供了更高层次的抽象,它们封装 TCP 和 UDP ...
- [ CodeForces 438 D ] The Child and Sequence
\(\\\) \(Description\) 维护长为 \(N\) 的数列,\(M\)次操作,支持单点修改,区间取模,查询区间和. \(N,M\le 10^5\) \(\\\) \(Solution\ ...
- 151. [USACO Dec07] 建造路径
★★ 输入文件:roads.in 输出文件:roads.out 简单对比 时间限制:1 s 内存限制:128 MB 译 by CmYkRgB123 描述 Farmer John 刚刚得 ...