问答文章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

我来回答

2个回答

热心网友 时间:2022-04-08 23:00

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-09 00:18

String sql="select * from userinfo where userName=? and userPass=?";
s=con.prepareStatement(sql);
s.setString(1, username);
s.setString(2, password);
rs=s.executeQuery();
在JAVA中怎么调用带参数的存储过程啊??

Connection conn = DriverManager.getConnection(.../ p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替 其余地方写法固定 / CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");/ 告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定 ...

Java中,怎样调用带输出参数的存储过程?

1、创建带输出参数的存储过程 如: 在查询分析器中执行declare @mg nvarchar(100)exec proc_CSCO_SalesFctByStore 100,200,'name',@mg output print @mg 在Java中调用import java.sql.*;public class Test{ public static void main(String args[]) throws Exception {//加载驱动DriverManager.regis...

java中如何调用数据库的存储过程

Java调用存储过程的方法是通过调用Connection的实例方法prepareCall,prepareCall方法返回CallableStatement对象用于填充存储过程的参数。prepareCall方法形参是调用存储过程的sql语句,此参数的语法格式如下:{call storedProcedureName(parameter-list)}其中,storedProcedureName是存储过程名称,parameter-list是存储过程参数...

Java怎么调用Oracle输入参数为一个对象的存储过程(是输入参数,不是输出...

在存储中定义一个 参数 为output,将存储过程中得到的值赋给这个参数,其他存储可以调 ---联机丛书 使用 OUTPUT 参数 OUTPUT 参数允许外部过程、批处理或多条 Transact-SQL 语句访问在过程执行期间设置的某个值。下面的示例创建一个存储过程 (titles_sum),并使用一个可选的输入参数和一个输出参数。首...

怎样在项目中使用存储过程

作为示例,下述代码先注册 OUT 参数,执行由 cstmt 所调用的已储存过程,然后检索在 OUT 参数中返回的值。方法 getByte 从第一个 OUT 参数中取出一个 Java 字节,而 getBigDecimal 从第二个 OUT 参数中取出一个 BigDecimal 对象(小数点后面带三位数):CallableStatement cstmt = con.prepareCall("{...

java 调用存储过程

调用存储过程得直接取得Connetion对象,用到CallableStatement这个对象,Connetion中有个方法:CallableStatement prepareCall(String sql) 。其中的sql就是存储过程调用时字符串形式:{call <procedure-name>[(<arg1>,<arg2>, ...)]},构造完成后就可以用Connetion执行了 ...

java语言调用mysql存储过程(需要获取到存储过程中的out 变量),_百度...

Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。参数:parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推 返回:保存 OUT 参数值的 java.lang.Object 抛出:SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法 ...

如何执行存储过程

打开plsql,输入登录名和密码进行登录。登录成功后,进入命令窗口。在窗口里输入存储过程,例子所示 输入setserveroutputon;按回车键 用execute存储过程名(参数)。执行存储过程。或者也可以用 begin 存储过程名(参数)。end。在其他代码中,比如java里也可以调用存储过程 ...

JAVA调用存储过程的问题,指定过多的参数

你的参数有多少个,你为甚么要弄那么多参数。如果确实过多,就把所有的参数拼接到一个字符串里面,然后当一个参数传递进去。最后在存储过程里面给解析出来。

java调用存储过程遇到的问题

作为示例,下述代码先注册 OUT 参数,执行由 cstmt 所调用的已储存过程,然后检索在 OUT 参数中返回的值。方法 getByte 从第一个 OUT 参数中取出一个 Java 字节,而 getBigDecimal 从第二个 OUT 参数中取出一个 BigDecimal 对象(小数点后面带三位数):CallableStatement cstmt = con.prepareCall("{...

调用带参数的存储过程 存储过程out参数调用 存储过程怎么调用 oracle调用存储过程输出参数 带参数的存储过程 sql创建带参数的存储过程 call调用存储过程参数 sql怎么调用存储过程 存储过程参数
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
跪求,两个射手座的人在一起好不好哟 两个射手座人在一起合适不?如题 谢谢了 两个射手座的人在一起好吗? 两个射手座的人适合在一起不结婚好吗 我想买个千把块钱的手机,诺机亚和摩托里的!性价比越高越好!请大家出个... 我想买个千把块钱的手机,要实用,不需要特殊功能。大家推荐一下... 罐装王老吉开封过夜能喝吗 王老吉过夜能喝吗 王老吉开瓶过夜能喝吗 开了的王老吉过夜了能喝吗 java 如何调用带有表值参数的存储过程? 在java中调用一个已经写好的存储过程(请带上详细代码,谢谢了,数据库是... java中怎么用存储过程啊? java调用的存储过程,能否传入游标参数? java 调用存储过程 怎么用? java 怎么调用mysql 存储过程 加别人的怎么加不上? java 调用存储过程 对方设置加不了怎么办? JAVA中如何调用存储过程 java代码怎么调用存储过程 Java中是如何调用存储过程的?(详细代码) 如何用JAVA调用存储过程 java编程中怎样调用存储过程 根据对方为什么加不上好友? 有对方的怎么加不了? 加别人的怎么加不上? 怎么在空间发表说说带图片链接的 QQ空间里怎样才能发一条带图的说说? 有一种QQ空间说说带图片谁看上面就有谁的头像和昵称 JAVA调用MySQL存储过程 我如何用JAVA调用存储过程取得 serveroutput? Java调用SQL存储过程、事务 淘宝商家怎么提升自己的淘信用分? 淘宝商家如何退款给买家? 如何往铭牌上印钢字? 班级铭牌设计,图片已给出,空白部分需要画些什么东西才好? 淘宝店铺如何运营 外星人笔记本刻铭牌比不刻铭牌的快多长时间 淘宝新手商家如何选择开店类型 有哪些注意事项 标牌都有哪几种颜色 关于军人的"铭牌" 海运集装箱生产出厂之后,每隔多长时间检验一次?是否同时更换箱体铭牌? 饥荒路标牌怎么传送 饥荒联机版中的路标牌怎么正确 政府城中村改造指挥部大门对联怎么写 如何识别机电设备铭牌配件型号 如何判断一个网站的seo做的怎么样? 有人撸ROG STRIX FLARE 耀光机械键盘了吗?那个铭牌定制要怎么操作啊? 汽车方向盘上是个长六边形符号,里面空白是什么牌子的车? 一般电风扇的电容要用多大