java中使用存储过程出现"该语句没有返回结果集_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java中使用存储过程出现"该语句没有返回结果集

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

 2013/8/10 18:58:14  _Yggd  程序员俱乐部  我要评论(0)
  • 摘要:先看看网上的解决办法:源:http://hi.baidu.com/wyjsusan/item/c5fe63f5321ab4de42c36a99两次遇到这个问题了,还是这样子解决~!————————————————————————————我是分割线————————————————————————如果java代码上没有问题,存储过程在SQLServer中执行也没有问题,就要检查一下存储过程的开始部分是否加上了“SETNOCOUNTON”这句话,如果没有,就是这里的问题了,加上这句话,再重新执行代码
  • 标签:使用 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
发表评论
用户名: 匿名