随笔 - 147  文章 - 71  trackbacks - 0
<2009年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(1)

随笔分类(146)

随笔档案(147)

文章分类(28)

文章档案(28)

喜欢的Blog

搜索

  •  

最新评论

阅读排行榜

评论排行榜

---------------不带输出参数的----------------------------------

 1create procedure getsum
 2@n int =0<--此处为参数-->
 3as
 4declare @sum int<--定义变量-->
 5declare @i int
 6set @sum=0
 7set @i=0
 8while @i<=@n begin
 9set @sum=@sum+@i
10set @i=@i+1
11end
12print 'the sum is '+ltrim(rtrim(str(@sum)))
--------------在SQL中执行:--------------------
1exec getsum 100

------------在JAVA中调用:---------------------

        JAVA可以调用  但是在JAVA程序却不能去显示该存储过程的结果 因为上面的存储过程的参数类型int 传递方式是in(按值)方式
 1import java.sql.*;
 2
 3public class ProcedureTest {
 4    public static void main(String args[]) throws Exception {
 5        //加载驱动
 6        DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
 7        //获得连接
 8        Connection conn = DriverManager.getConnection("jdbc:odbc:mydata""sa",
 9                "");
10        //创建存储过程的对象
11        CallableStatement c = conn.prepareCall("{call getsum(?)}");
12        //给存储过程的参数设置值
13        c.setInt(1100); //将第一个参数的值设置成100        
14        //执行存储过程
15        c.execute();
16        conn.close();
17    }

18}

posted on 2009-01-25 11:07 飞翔天使 阅读(546) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: