问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java编程中怎样调用存储过程

发布网友 发布时间:2022-04-26 19:04

我来回答

4个回答

热心网友 时间:2022-04-08 03:47

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 procere p
(v_a in number,v_b number,v_ret out number,v_temp in out number)
is
begin
if(v_a > v_b) then
v_ret := v_a;
else
v_ret := v_b;
end if;
v_temp := v_temp + 1;
end;

热心网友 时间:2022-04-08 05:05

private
pie(){
system.out.println("bite");}
是我孤落寡闻还是怎么了?
这个算什么?方法?没有返回值啊?
new应该不算调用,应该算实例化吧~~怎么成调用了呢
x.bite();
合法

热心网友 时间:2022-04-08 06:40

public static void addRaceEvent(String name, String location, String date) {

if ((!check(name)) || (!check(location)) || (!check(date)))
throw new IllegalArgumentException(
"Invalid param values passed to addRaceEvent()");

Connection conn = null;

try {

conn = pool.getConnection();

if (conn == null)
throw new SQLException(
"Invalid Connection in addRaceEvent method");

CallableStatement cs = null;

//实例化 CallableStatement
cs = conn.prepareCall("{call addEvent (?,?,?)}");

cs.setString(1, name);
cs.setString(2, location);
cs.setString(3, date);

//调用 PreparedStatement.executeUpdate() 方法 cs.executeUpdate();

// 向连接池返回connection
conn.close();

} catch (SQLException sqle) {
}

}//addRaceEvent

热心网友 时间:2022-04-08 08:31

使用CALL AAA(?,?,?)类似的SQL语句就可以调用到了,
如:conn.prepareCall("{CALL AAA(?, ?, ?)}");
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问昆山正仪到江苏省昆山市出口加工区新竹路99号 怎么坐班车最近? 跪求苏州神达电脑地址!!! 华为运动耳机挂脖式怎么配对 雅酷美挂脖式无线蓝牙防水耳机-运动时尚,自由畅听 已知函数f(x)=cos^2x-sin^2x+2根号3sinxcosx+1 原先微信有联系后来突然对方要求我对他进行朋友验证我没有他电话号码... 已知函数f(x)=cos^2x-sin^2x+2根号3sinxcosx 已知函数fx=cos^2*x-sin^2*x+2sinx*cosx,求fx的最小正周期,并求当... 已知函数f(x)=cos2x-sin2x 4sinx·cosx求f(x)的最小正周期,并求当x为... 已知f(x)=cos^2x-sin^x+2sinxcosx。①求函数最小正周期②当x∈【0... 根据对方为什么加不上好友? 有对方的怎么加不了? 加别人的怎么加不上? 怎么在空间发表说说带图片链接的 QQ空间里怎样才能发一条带图的说说? 有一种QQ空间说说带图片谁看上面就有谁的头像和昵称 qq空间的带图说说都是自己做的吗,有的人网名加QQ谁谁谁之类的人气也挺高,是咋弄的。 怎样保护自己的嗓子不变哑? 如何唱高音声音不沙哑? 怎么唱歌嗓子不会哑,唱很多首 唱歌要怎样久唱嗓子不哑?怎样练的? 如何保护自己的喉咙?保证唱歌时不会沙哑!! 怎么保持唱歌声音不哑 唱歌唱了一两句嗓子就会哑了,怎么办?怎么唱歌嗓子才不会哑,清脆一点? 女人气血不足是怎么回事?有什么治疗方法,要详细一些,谢谢拜托各位大神 女人容易气血不足的原因是什么?怎样才能补气活血? 气血不足原因是什么引起的,该如何调理改善? 女性为何会气血不足呢? 女人气血不足的原因,该怎么办 为什么女人容易血气不足,和习惯有关还是怀孕有关? 如何用JAVA调用存储过程 Java中是如何调用存储过程的?(详细代码) java代码怎么调用存储过程 JAVA中如何调用存储过程 对方设置加不了怎么办? java 调用存储过程 加别人的怎么加不上? java 怎么调用mysql 存储过程 java 调用存储过程 怎么用? java调用的存储过程,能否传入游标参数? java中怎么用存储过程啊? 在java中调用一个已经写好的存储过程(请带上详细代码,谢谢了,数据库是... java 如何调用带有表值参数的存储过程? 在JAVA中怎么调用带参数的存储过程啊?? JAVA调用MySQL存储过程 我如何用JAVA调用存储过程取得 serveroutput? Java调用SQL存储过程、事务 淘宝商家怎么提升自己的淘信用分? 淘宝商家如何退款给买家? 如何往铭牌上印钢字?