`
_Yggd
  • 浏览: 85978 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java中使用存储过程出现"该语句没有返回结果集

阅读更多
先看看网上的解决办法:

源:http://hi.baidu.com/wyjsusan/item/c5fe63f5321ab4de42c36a99


两次遇到这个问题了,还是这样子解决~!
————————————————————————————我是分割线————————————————————————
如果java代码上没有问题,存储过程在SQLServer中执行也没有问题,就要检查一下存储过程的开始部分是否加上了
“SET NOCOUNT ON”
这句话,如果没有,就是这里的问题了,加上这句话,再重新执行代码,OK!通过!
一般出现这种状况是在存储过程中在使用select命令前使用了更新命令,如insert ,update,delete等命令,直接使用select命令的存储过程即使不加上“SET NOCOUNT ON”也能获得结果集,所以经常会忽略这个问题!

但是在.Net环境下没发现有这种问题,呵呵,毕竟不是一家的啊!(这个不知道,没试过。)


但是我按照他的方法弄了以后,还是会出现那样的问题

最后通过看CallableStatement的API解决的,如下:

if(cs.execute()){
ResultSet rs = cs.executeQuery();
while (rs.next()) {
                 .
                 .
                 .
不知道网上的这个具体是怎么样的存储过程,

我的存储过程:


set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


create  proc [dbo].[getCarGoodsDetails](@customerID varchar(40))
as

declare @carID varchar(40)
set @carID=(select carID from ShoppingCar where customerID=@customerID)
if(@carID is not null)

begin
  select g.goodsID,goodsName,goodsPrice,quantity from Goods g,ShoppingCarDetails s
  where g.goodsID=s.goodsID and s.carID=@carID
end
分享到:
评论

相关推荐

    JAVA调用存储过程

    一、调用存储过程(无结果集返回) Connection connection = ConnectionHelper.getConnection(); CallableStatement callableStatement = connection.prepareCall("{ call procedureName(?,?) }"); ...

    SQLServer2008分页存储过程和java调用

    调用存储过程进行分页查询速度快,尤其是数据量超过50万条的表非常重要,此代码是我们项目中使用的,实际使用情况稳定,也希望大家提出更加合理的修改建议。排序字段(必须!支持多字段) -- 条件语句(不用加where)-- ...

    SQL存储过程

    存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。 由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的...

    如何从 Java 存储过程将 JDBC ResultSet 作为 Ref Cursor 返回.doc

    在 Oracle9i 之前,不可能从 Java 存储过程直接返回一个 ResultSet,因为没有定义表单 ResultSet->REF CURSOR 的映射。Oracle9i 增加了此映射,允许从函数返回 ResultSet 或将其作为 OUT 参数传到某个过程。但它仍不...

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    毕业设计:ASP.NET基于WEB的选课系统(源代码)

    顾名思义,返回记录集的存储过程的执行结果是一个记录集,典型的例子是从数据库中检索出符合某一个或几个条件的记录;返回数值的存储过程执行完以后返回一个值,例如在数据库中执行一个有返回值的函数或命令;最后,...

    java如何获得数据库表中各字段的字段名

    java如何获得数据库表中各字段的字段名

    SQL Server存储过程编写

     存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。  由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比...

    SQLServer存储过程编写

    存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

    深入分析SQL Server 存储过程

     存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。  由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个...

    mybatis入门-简单的配置文件的书写,数据库查询语句的书写以及存储过程调用

    这是一个简单的mybatis项目,包含mybatis需要用到的jar包,里面同时包含配置文件的书写,查询语句的配置调用以及存储过程的调用的书写方法,还有就是包含游标输出的存储过程,如何去接收返回游标的示例;还有就是一...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    Java数据库编程宝典3

    3.9.1 在存储过程中使用输入参数 3.9.2 存储过程中使用输出参数 3.10 小结 第4章 JDBC入门 4.1 什么是JDBC 4.2 两层和三层模型 4.2.1 两层模型 4.2.2 三层模型 4.3 SQL的一致性 4.4 JDBC兼容性 4.5 ...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    java数据结构测试题及答案解析.doc

    Java数据结构试题及解析 1 下列数据结构中,能用二分法进行查找的是__A... 多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值, 则执行该case子句后的语句序列。 4 下列叙述中,错误的是__D

    java jdk实列宝典 光盘源代码

    applications和applet,applications可以在控制台直接运行,与其他高级编程语言没有太大区别,而java的特色在于它具有编制小应用程序的功能,applet可以在internet上传输并在兼容java的web浏览器中运行的程序;...

    java开源包8

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

Global site tag (gtag.js) - Google Analytics