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

先看看网上的解决办法:

[color=red]源:http://hi.baidu.com/wyjsusan/item/c5fe63f5321ab4de42c36a99[/color]


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

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


[color=red]但是[/color]我按照他的方法弄了以后,还是会出现那样的问题

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

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

我的存储过程:


[color=red]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
[/color]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值