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中调用:
相关文章教程推荐:java编程入门