七叶笔记 » java编程 » java中如何调用存储过程

java中如何调用存储过程

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

1、不带输出参数的

create procedure getsum@n int =0<--此处为参数-->asdeclare @sum int<--定义变量-->declare @i intset @sum=0set @i=0while @i<=@n beginset @sum=@sum+@iset @i=@i+1endprint '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 outputasdeclare @sum intdeclare @i intset @sum=0set @i=0while @i<=@n beginset @sum=@sum+@iset @i=@i+1endset @result=@sum

java中调用:

7a3ca210d84be7ea83a80d8fc1bff14.png

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

相关文章