java 调用sqlserver存储过程,提示“没有结果集”

解决Java调用SQLServer存储过程时遇到的'没有结果集'问题,只需在存储过程中添加'SET NOCOUNT ON',该指令用于阻止返回受影响的行数,同时不影响@@RowCount的更新。
部署运行你感兴趣的模型镜像

java  调用sqlserver存储过程,提示“没有结果集”,只需要加一句话解决“SET NOCOUNT ON”。

作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息。
当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数;

即使当SET NOCOUNT ON 时候,也更新@@RowCount;

存过过程:

alter PROCEDURE A_GetAutoNumber
@type varchar(50),
@headname varchar(50),
@datetype varchar(50),
@addtype varchar(50),
@ConNector varchar(50),
@no int
as
declare @headpy varchar(50)
declare @Number varchar(50)
--select @headpy=dbo.fn_getPy(@headname) --,@datetype =cast(year(getdate())as varchar(20))
select @headpy=@headname
if @headname='重庆' select @headpy='CQ'
if @datetype='Y' select @datetype=cast(year(getdate())as varchar(20))
if @datetype='YM' select @datetype=SUBSTRING(CONVERT(varchar(100), GETDATE(),112),1,6)
if @datetype='YMD' select @datetype=CONVERT(varchar(100), GETDATE(),112)
if @addtype='Y'
select @Number=ISNULL(MAX(Number),0)+1 from A_AutoNumber where TYPE=@type and headpy=@headpy and substring(datetype,1,4)=substring(@datetype,1,4) 
if @addtype='M'
select @Number=ISNULL(MAX(Number),0)+1 from A_AutoNumber where TYPE=@type and headpy=@headpy and substring(datetype,1,6)=substring(@datetype,1,6) 
if @addtype='D'
select @Number=ISNULL(MAX(Number),0)+1 from A_AutoNumber where TYPE=@type and headpy=@headpy and substring(datetype,1,8)=substring(@datetype,1,8) 
declare @num varchar(50) select @num=@Number
while len(@Number)<@no
begin set @Number='0'+@Number
end
SET NOCOUNT ON
select @Number=@headpy+@ConNector+@datetype+@ConNector+@Number
select @Number as djsn
insert into A_AutoNumber (type,headname,headpy,datetype,ConNector,no,number)values(@type,@headname,@headpy,@datetype,@ConNector,@no,@num)

exec A_GetAutoNumber 'Approve','重庆','YMD','M','-',4 ;



您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值