`
_Yggd
  • 浏览: 86826 次
  • 性别: 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
分享到:
评论

相关推荐

    Spring jdbcTemplate调用Oracle存储过程返回List集合

    存储过程将根据输入参数生成一个动态的 SQL 语句,并将结果集返回给调用者。 Java 代码 ------------ 下面是使用 Spring jdbcTemplate 调用 Oracle 存储过程返回 List 集合的 Java 代码: ```java package ...

    JAVA调用存储过程

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

    java调用存储过程小结.pdf

    在 Java 中调用存储过程需要使用 JDBC 连接发送给 DBMS,执行存储过程并返回结果。下面是一个简单的示例代码,演示如何在 Java 中调用 Oracle 存储过程: ```java public class TestProcedure { Connection conn=...

    SQLServer2008分页存储过程和java调用

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

    SQL存储过程

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

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

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

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

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

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

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

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

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

    SQL Server存储过程编写

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

    SQLServer存储过程编写

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

    Java节假日算法(免费)

    此外,我们还可以看到这个算法的实现过程中使用了多种 Java 技术,例如使用 Calendar 和 Date 类来处理日期和时间,使用 List 和 Vacation 类来存储和处理假期数据,使用循环和条件语句来实现算法的逻辑。...

    JAVA中使用数据库PPT教案学习.pptx

    JAVA 中使用数据库是指在 JAVA 应用程序中使用数据库来存储和管理数据。在这个 PPT 教案中,我们将学习如何使用 JAVA 语言连接数据库、执行 SQL 语句、处理查询结果等。 数据库连接 在 JAVA 中,连接数据库的方式...

    JAVA面试题最全集

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

    java基础单词.docx

    Java中的异常是指程序在执行过程中出现的错误,例如空指针异常、数组越界异常等。 Java中的输入输出是通过 Scanner 类和System.out.println()方法实现的。Scanner 类用于读取用户的输入,而System.out.println()...

    Java高级编程笔试题.pdf

    1. Java 中的异常处理:Java 中的异常处理是指程序在执行过程中出现错误时的处理机制。 2. Java 中的文件操作:Java 中的文件操作是指程序对文件的读写操作。 本资源提供了 Java 高级编程笔试题,涵盖了 Java 的多...

    深入分析SQL Server 存储过程

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

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

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

    Java基础选择题(含答案).doc

    2. Java 标识符是指在 Java 语言中使用的名称,包括变量名、方法名、类名等。Java 标识符的规则是:第一个字符必须是字母、下划线或美元符号,后面的字符可以是字母、数字、下划线或美元符号。 3. 变量的声明和赋值...

Global site tag (gtag.js) - Google Analytics