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

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 ;



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shanghaojiabohetang/article/details/80353048
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭