Java调用存储过程
1、不带输出参数的
第 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)))
第 2 步:在 SQL 中执行
exec getsum 100
第 3 步:在 JAVA 中调用
但是在JAVA程序却不能去显示该存储过程的结果 因为上面的存储过程的参数类型int 传递
方式是 in(按值)方式
import java.sql.*;
public class ProcedureTest {
public static void main(String args[]) throws Exception{
//加载驱动
Class.forName(driver);
//获得连接
Connection conn=DriverManager.getConnection("jdbc:odbc:mydata","sa","");
//创建存储过程的对象
CallableStatement c=conn.prepareCall("{call getsum(?)}");
//给存储过程的参数设置值