`
_Yggd
  • 浏览: 89159 次
  • 性别: 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中使用存储过程

    在Java中使用存储过程涉及到多个知识点,包括数据库连接、CallableStatement接口的应用以及具体的SQL语句调用等。本文将从这些方面入手,详细介绍如何在Java应用程序中调用存储过程。 ### 一、数据库连接 #### 1.1...

    Oracle存储过程返回结果集

    本篇将深入探讨如何在Oracle存储过程中创建并返回一个结果集,并结合Java代码展示如何在应用程序中使用这个结果集。 首先,我们需要理解`OUT`参数的概念。在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`...

    oracle的存储过程如何返回结果集

    在Java应用程序中,可以使用`CallableStatement`来调用存储过程并获取结果集。下面是一个简单的示例: ```java // 创建 CallableStatement 对象 CallableStatement csmt = conn.prepareCall("{call pkg_test.get(?)...

    java存储过程返回数据集

    ### Java存储过程返回数据集 #### 标题与描述中的知识点概述 在Oracle数据库中,存储过程返回数据集的功能可以通过定义游标(RefCursor)来实现。与SQL Server相比,Oracle在这一方面需要额外的步骤来进行配置和...

    Java调用带参数的存储过程并返回集合

    本话题将详细讲解如何使用Java调用带有参数的Oracle存储过程,并获取存储过程返回的集合。 首先,Oracle存储过程是一种预编译的SQL语句集合,它可以在数据库服务器端执行,提高性能,减少网络传输。`PROCEDURE.sql`...

    存储过程的返回结果集有2中类型

    例如,在MySQL中,存储过程可以直接返回一个SELECT语句的结果集,这样客户端(如Java程序、PHP脚本或数据库管理工具)就可以像处理任何其他查询结果一样处理它。这种方式对于那些需要显示在用户界面上或者进一步处理...

    java调用存储过程(含out参数)

    `OUT`参数是存储过程中的一种特殊参数类型,用于将结果传出存储过程,供调用者使用。 Java中调用存储过程主要通过JDBC(Java Database Connectivity)接口实现。以下是一步步的操作步骤: 1. **加载数据库驱动**:...

    Java调用数据库存储过程[mysql测试通过]

    在Java编程中,调用数据库存储过程是一种常见的操作,特别是在处理复杂的业务逻辑或者批量数据操作时。本篇文章将深入探讨如何使用Java与MySQL数据库进行交互,实现调用存储过程,并提供一个测试通过的实例。 首先...

    java中存储过程的使用

    最后创建一个名为`sp_test2`的存储过程,该过程用于根据书籍ID查询书名和出版社名称,并将这两个结果作为输出参数返回: ```sql CREATE OR REPLACE PROCEDURE sp_test2 ( spno IN VARCHAR2, spname OUT VARCHAR2,...

    java调用存储过程返回数组

    在Java编程中,调用数据库的存储过程并处理返回结果是常见的任务,特别是在需要执行复杂数据库操作或者封装业务逻辑时。本文将详细探讨如何在Java中调用存储过程,并处理返回的数组类型数据。 首先,存储过程是一种...

    JAVA调用存储过程

    在Java中调用不返回结果集的存储过程时,主要步骤包括建立连接、准备调用语句、设置输入参数、执行存储过程以及处理可能产生的警告信息。 1. **建立连接**:使用`ConnectionHelper.getConnection()`方法获取到`...

    Java调用oracle存储过程通过游标返回临时表

    本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...

    java 调存储过程

    如果存储过程返回多结果集,可以使用`getMoreResults()`方法循环遍历。 7. **异常处理**: 在实际应用中,要确保对可能出现的异常进行捕获和处理,以保证程序的健壮性。 8. **注意点**: - 不同的数据库系统可能...

    java调用oracle存储过程返回结果集,Record,cursor.[参考].pdf

    在Java编程中,调用Oracle数据库的存储过程并获取返回的结果集是一项常见的任务。这个例子展示了如何处理返回Record类型和Cursor类型的存储过程。Record类型在Oracle中是一种自定义的数据结构,可以用来模拟类似...

    Java程序调用存储过程

    6. **处理结果**:如果存储过程返回结果集,你可以通过`ResultSet`来获取数据。 ```java ResultSet rs = cs.getResultSet(); while (rs.next()) { // 处理结果集 } ``` 7. **关闭资源**:最后,别忘了关闭打开的...

    java调用oracle存储过程或者函数

    在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)API的使用。以下将详细介绍这个过程,包括必要的步骤、使用的类和方法,以及可能遇到的问题和解决...

    使用Java编写Oracle存储过程.pdf

    示例代码中展示了如何使用Java来创建一个添加记录的存储过程,该过程名为addUser,接受用户名和电子邮件作为参数,并执行SQL插入操作。代码中创建了与Oracle数据库的连接,并构造了一个动态的SQL语句来向数据库中...

    Java对存储过程的调用方法

    首先,存储过程是数据库中预编译的一组SQL语句,它们可以包含控制流语句,参数,甚至可以返回结果集。在Java中,我们通常使用JDBC(Java Database Connectivity)API来与各种类型的数据库进行交互,包括调用存储过程...

    java 调用存储过程 实例

    此外,对于更复杂的情况,比如存储过程返回多结果集,可能需要使用`ResultSetMetaData`来获取列信息,然后遍历结果集。 参考上述步骤,你可以根据自己的需求修改并实现调用Oracle存储过程的Java代码。确保正确配置...

Global site tag (gtag.js) - Google Analytics