Java中与MSSQL存储过程交互

Java中与MSSQL存储过程交互
 1 String strSQL  =   " {?=call mytest1(?,?)} " ;
 2 java.sql.CallableStatement sqlStmt  =  con.prepareCall(strSQL);
 3  
 4 sqlStmt.setString( 2 , " 111 " );
 5 sqlStmt.setString( 3 , " 222 " );
 6  
 7 sqlStmt.setString( 2 , " strName " ); // 存储过程的第一个参数
 8 sqlStmt.setString( 3 , " 111 " ); // 存储过程的第二个参数
 9  
10 sqlStmt.registerOutParameter( 1 ,java.sql.Types.INTEGER); // 第一个问号,return值
11 sqlStmt.registerOutParameter( 3 ,java.sql.Types.VARCHAR); // 第三个问号,绑定存储过程的第二个参数
12  
13 ResultSet rs  =  sqlStmt.executeQuery();
14 rs.next();
15  
16 System.out.println(rs.getString( " id " )); // ResultSet对象
17 System.out.println(sqlStmt.getInt( 1 )); // return值
18 System.out.println(sqlStmt.getString( 3 )); // 第二个参数返回值
19
 
-------------------------------------------------------------------------------------------------------------------------
如不需要参数,直接用ResultSet rs = stmt.executeQuery(过程名);即可
-------------------------------------------------------------------------------------------------------------------------
SET  QUOTED_IDENTIFIER  ON  
GO
SET  ANSI_NULLS  ON  
GO
 

ALTER       PROCEDURE   [ mytest1 ]
@name1   varchar ( 50 ),
@name2   varchar ( 50 ) output
as
select   top   10   *   from  testtable1  order   by  id  desc
set   @name2   =   @name2 + @name1
return   10

GO
SET  QUOTED_IDENTIFIER  OFF  
GO
SET  ANSI_NULLS  ON  
GO

转载于:https://www.cnblogs.com/qqnnhhbb/articles/1244620.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值