java中如何调用存储过程

王林
王林 原创
2019-12-06 15:12:09 5516浏览

Java如何实现对存储过程的调用:

1、不带输出参数的

create procedure getsum
@n int =0<--此处为参数-->
as
declare @sum int<--定义变量-->
declare @i int
set @sum=0
set @i=0
while @i<=@n begin
set @sum=@sum+@i
set @i=@i+1
end
print 'the sum is '+ltrim(rtrim(str(@sum)))

在线视频教程推荐:java学习

JAVA可以调用 但是在JAVA程序却不能去显示该存储过程的结果,因为上面的存储过程的参数类型int传递方式是in(按值)方式。

import java.sql.*;
public class ProcedureTest{
    public static void main(String args[]) throws Exception{   
        //加载驱动   
        DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());   
        //获得连接   
        Connection conn=DriverManager.getConnection("jdbc:odbc:mydata","sa","");
    //创建存储过程的对象         
    CallableStatement c=conn.prepareCall("{call getsum(?)}");                
    //给存储过程的参数设置值         
    c.setInt(1,100);   //将第一个参数的值设置成100                
    //执行存储过程         
    c.execute();        
    conn.close();
    }
}

2、带输出参数的

alter procedure getsum
@n int =0,
@result int output
as
declare @sum int
declare @i int
set @sum=0
set @i=0
while @i<=@n begin
set @sum=@sum+@i
set @i=@i+1
end
set @result=@sum

java中调用:

7a3ca210d84be7ea83a80d8fc1bff14.png

相关文章教程推荐:java编程入门

以上就是java中如何调用存储过程的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。