环境:数据库sql server2005,jdk1.6 ,myeclipse,驱动jdts1.2.2

执行以下代码,报错:

String querySQL = "{?=call p_sys_manager_csReport(?,?,?,?,?)}";

cstmt = conn.prepareCall(querySQL);

cstmt.registerOutParameter(1, java.sql.Types.INTEGER);

cstmt.setInt(2, modType);

cstmt.setInt(3, dptId);

cstmt.setInt(4, eplId);

cstmt.registerOutParameter(5, java.sql.Types.VARCHAR);

cstmt.registerOutParameter(6, java.sql.Types.VARCHAR);

rs = cstmt.executeQuery();

if (rs != null) {

if (rs.next()) {

companyTotal = rs.getInt("companyTotal");

}

}

String temp = null;

temp = cstmt.getString(5);//此行报错

报错信息为:

java.sql.SQLException: Output parameters have not yet been processed. Call getMoreResults().

at net.sourceforge.jtds.jdbc.ParamInfo.getOutValue(ParamInfo.java:159)

at net.sourceforge.jtds.jdbc.JtdsCallableStatement.getOutputValue(JtdsCallableStatement.java:116)

at net.sourceforge.jtds.jdbc.JtdsCallableStatement.getString(JtdsCallableStatement.java:310)

报错信息说得很明白,就是输出结果参数未处理,必须调用getMoreResults()方法以判断是否还有结果集。

然后修改代码,问题解决:

String querySQL = "{?=call p_sys_manager_csReport(?,?,?,?,?)}";

cstmt = conn.prepareCall(querySQL);

cstmt.registerOutParameter(1, java.sql.Types.INTEGER);

cstmt.setInt(2, modType);

cstmt.setInt(3, dptId);

cstmt.setInt(4, eplId);

cstmt.registerOutParameter(5, java.sql.Types.VARCHAR);

cstmt.registerOutParameter(6, java.sql.Types.VARCHAR);

rs = cstmt.executeQuery();

if (rs != null) {

if(rs.next()) {

companyTotal = rs.getInt("companyTotal");

}

}

String temp = null;

/*

*记录集获取到后,把rs记录集循环取出后或者调用cstmt.getMoreResults()方法后,sqlserver才会处理output返回值

*/

if (!cstmt.getMoreResults()) {//此行判断是否还有更多的结果集,如果没有,接下来会处理output返回参数了

temp = cstmt.getString(5);//此行不再报错

}

其中改为以下代码也不报错:

if (rs != null) {

java 调用存储过程无反应_java调用存储过程无法取得返回参数相关推荐

  1. 存储过程+调用存储过程+无/带参的存储过程+in参数+out参数+int out参数+为参数设置默认值...

    存储过程 1存储过程是一组为了完成特定功能的SQL语句集 2存储过程编译后存储在数据库中 3执行存储过程比执行存储过程封装的SQl语句集更有效率 4不能指定declare关键字 5: OUT 和 IN ...

  2. java调用python项目实战_Java调用Python

    今天遇到Java调用一个Python脚本的问题,纠结了大半天,遇到各种问题.网上搜索的大部分都是用jython,但是我想要调用的python脚本里有import urllib,这个urllib也不是什 ...

  3. java百度天气接口解析_Java调用天气接口(百度天气)解析返回的JSON数据

    简介:本文详细讲述了通过Java调用百度天气接口的方法,取得返回的JSON格式的数据,并且通过第三方包解析JSON格式的数据. 通过百度天气API调用网络编程接口接收返回的JSON格式的数据. 关于百 ...

  4. java调用支付接口实例_Java 调用支付宝接口

    1.注册开发者中心应用   登录点击沙箱服务 https://open.alipay.com/platform/developerIndex.htm 2.创建沙箱应用获取APPID和支付宝网关地址(创 ...

  5. java 怎么页面授权访问_Java调用Linkedin接口API之:获取授权

    配置领英应用 配置地址:https://www.linkedin.com/secure/developer?newapp= 强烈建议您使用 HTTPS 网址必须是绝对网址 (例如: "htt ...

  6. java 调用对象的方法_JAVA调用对象方法的执行过程

    JAVA调用对象方法的执行过程: ①.编译器查看对象的声明类型和方法名.假设调用x.f(parameter),  且隐式参数x声明为C类型的对象,有可能在C对象中存在多个参数类型和参数个数不同的f的方 ...

  7. java可以使用python的库函数_java调用python方法总结

    一.在java类中直接执行python语句 import org.python.util.PythonInterpreter; public class FirstJavaScript { publi ...

  8. 仿照java做一个脚本语言_java调用其它语言脚本(python、js)

    1.背景 之前用开发过程一些功能如图像处理.相似度计算.水印等需要调用算法写的方法,但是算法一般都是用python语言进行开发.所以经常直接用java调用python脚本文件.在网上搜了很多方法也排了 ...

  9. java版微信朋友圈_java调用个人微信API接口发朋友圈,评论和删除朋友圈

    java调用个人微信API接口发朋友圈,评论和删除朋友圈 /** * 发送朋友圈任务 * @author wechatno:tangjinjinwx * @param ctx * @param vo ...

  10. java根据打印模板打印_java调用本地打印机,绘制打印模板,小票模板

    jar资源 绘制打印模板 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt. ...

最新文章

  1. graphql_普通英语GraphQL指南
  2. UML Distilled 3rd 学习笔记
  3. 网站SEO更新时选择适当的时间点有什么好处?
  4. 人脸识别的灵魂拷问:变胖了怎么办?
  5. python anaconda下载包_【Python开发】anaconda3 安装python包
  6. C语言 | 编写一个使用指针的c函数,交换数组a和数组b中的对应元素
  7. PHP判断上传文件类型
  8. 光端机的分类有哪些?
  9. Quick Emacs
  10. 移动端点击输入框,弹出键盘,底部被顶起问题(vue)
  11. python中数字的排序
  12. native字体尺寸自适应 react_React Native之图片/宽高/字体平台适配
  13. 不到一个月独自一人开发斗地主游戏(h5 + 安卓 + 苹果)
  14. 评价指标 | ROC曲线和AUC面积理解
  15. python表达式_Python的表达式写法
  16. 邮件多面手!Foxmail 6.5正式版新体验
  17. 将文字定位到浮动图片上|CSS
  18. HDS不玩了,高端存储还能玩多久?
  19. BloomFilter--理解总结
  20. 小曹谈技术之中文拼音输入法

热门文章

  1. Ubuntu 16.04 创建无线热点
  2. java的方法覆盖与方法重载有什么异同_Java语言中方法重载与方法覆盖的异同
  3. 好玩的ios APP动动手指,轻松挣美金~~
  4. Odoo实施指南 连载三:成功案例
  5. MindManager2018,修改下载时间
  6. 微型计算机软件系统分为哪些类,系统软件包括哪四类
  7. English语法_定语从句 - 小细节
  8. Android 通知栏Notification的整合
  9. 用Qt实现一个桌面弹幕程序(六)-- -- 桌面客户端实现②
  10. 移动互联网组建与优化