首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

调用这个存储过程的时分,有一返回值为空,百思不得其解

2012-08-01 
调用这个存储过程的时候,有一返回值为空,百思不得其解这是存储过程:create proc check_username@usercode

调用这个存储过程的时候,有一返回值为空,百思不得其解
这是存储过程:
create proc check_username
@usercode char(16)
as
declare @retcode int , @retdesc char(80)
select @retcode=-999,@retdesc='用户名已存在'

if exists(select 1 from tbl_user where userid=@usercode)
begin
select @retcode=1,@retdesc='用户名已存在'
end
else
begin
select @retcode=0,@retdesc='用户名可以使用'
end

select @retcode as retcode,@retdesc as retdesc



调用之后我用rs.getInt("retcode"),提示我retcode为无效的列名,求解.

[解决办法]

SQL code
gocreate proc check_username@usercode char(16)asdeclare @retcode int , @retdesc char(80)select @retcode=-999,@retdesc='用户名已存在'if exists(select 1 from tracy where [AZWZ]=@usercode)beginselect @retcode=1,@retdesc='用户名已存在'endelsebeginselect @retcode=0,@retdesc='用户名可以使用'endselect @retcode as retcode,@retdesc as retdescexec check_username '22153回风巷'/*retcode    retdesc1    用户名已存在                                                                    */--用我本机上的一个数据表tracy做了一下测试,没有任何问题应该是你在乘虚端调用的时候出错,从报错信息来看,应该是参数没传对,比如说格式多加或者少加引号
[解决办法]
探讨
这是存储过程:
create proc check_username
@usercode char(16)
as
declare @retcode int , @retdesc char(80)
select @retcode=-999,@retdesc='用户名已存在'

if exists(select 1 from tbl_user where userid=@usercode……

[解决办法]
探讨

引用:
这是存储过程:
create proc check_username
@usercode char(16)
as
declare @retcode int , @retdesc char(80)
select @retcode=-999,@retdesc='用户名已存在'

if exists(select 1 from tbl_user wher……

[解决办法]
存储过程是没问题
可能是你获取存储过程返回的结果集中的某一列值有问题
试试下面这种调用
C#
C# code
Convert.ToInt32(ds.Tables[0].Rows[0]["retcode"].ToString()); 

热点排行