java调用mysql存储过程

/**

创建存储过程

*/

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调用存储过程

*/

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);
       
         //注册存储过程的第二个参数
         c.registerOutParameter(2,java.sql.Types.INTEGER);
       
         //执行存储过程
         c.execute();
       
         //得到存储过程的输出参数值
         System.out.println (c.getInt(2));
         conn.close();
}
}

你可能感兴趣的:(java调用mysql存储过程)