比如SQL Server的一个存储过程: create procedure proc_test @q_type int,@value int,@count int outputasbegin update mytable set value = @value where type = @q_type set @count = @@rowcount select * from mytable where type = @q_typeendgo这个存储过程,既有输出参数,又有返回结果集,而用java调用他,两者都要取到,则代码如下: Connection conn = MyConnectionPool.getConnection();CallableStatement cstmt = conn.prepareCall("{call proc_test(?,?,?)}");cstmt.setInt(1, type);cstmt.setInt(2, value);cstmt.registerOutParameter(3, java.sql.Types.INTEGER);ResultSet rs = cstmt.executeQuery();while(rs.next()) { doSomeThingToResultSet(rs);}doSomeThingToOutParameter(cstmt.getInt(3));rs.close();cstmt.close();conn.close();其中的关键在于哪儿呢?必须用cstmt.executeQuery()来取得结果集,用cstmt.execute()然后getResultSet()是取不到的,而executeQuery()能保证先执行update再select;获得输出参数的cstmt.getInt(3)必须在处理完结果集的所有内容后再执行,如果把上述代码改成如下:........doSomeThingToOutParameter(cstmt.getInt(3));while(rs.next()) { doSomeThingToResultSet(rs);}........ 后果就是,在rs.next()的时候,会抛出异常:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Object has been closed.很有趣,不是么??
详细解决方案
java调用sql server存储过程示范
热度:76 发布时间:2016-05-05 14:31:44.0
相关解决方案
- java 乱码 汉字是 ? 如何转换成汉字
- java web 登录次数限制,该如何解决
- java 工商银行网银支付 B2B的 都亟需什么,需要注意什么
- Java Applet程序从JDK6升级到7时遇到的有关问题
- myeclipse联接sql server 2008看不到用户表
- java web 视频相干
- 请教一个关于链接后缀的有关问题(java web 应用)
- java 系统单点登录解决方案
- Server Tomcat v7.0 Server不能起步
- java.lang.NumberFormatException: For input string: "id"该如何处理
- java.lang.NoSuchMethodException: setId([Ljava.lang.String;)解决方法
- java 获取客户端IP解决办法
- JAVA 后台怎么获得前台页面FCKedit编辑器中的内容以及内容的样式
- java 正则化匹配有关问题
- java web 受阻
- java.lang.IllegalStateException: No output folder,该怎么解决
- java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccess,该如何解决
- java 乱码有关问题 急求大神
- java EE错误如何解决阿,都是过了,没有能解决的!
- java 工程打包有关问题 多谢各位大神!多谢
- JAVA WEB导航条,该怎么处理
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password,该如何处理
- java 中Node 有关问题
- 关于 java 引述传递和值传递,你的知否
- 吐了,java Timer 终止不了。
- Java Web 学习中有关问题,请高手指教
- java web中的url地址小疑点。
- java web开发解决办法
- java.lang.NullPointerException解决方法
- 关于 java cast 有关问题,你明白不