这是存储过程:
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 [email protected])
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][email protected])beginselect @retcode=1,@retdesc='用户名已存在'endelsebeginselect @retcode=0,@retdesc='用户名可以使用'endselect @retcode as retcode,@retdesc as retdescexec check_username '22153回风巷'/*retcode retdesc1 用户名已存在 */--用我本机上的一个数据表tracy做了一下测试,没有任何问题应该是你在乘虚端调用的时候出错,从报错信息来看,应该是参数没传对,比如说格式多加或者少加引号
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
存储过程是没问题
可能是你获取存储过程返回的结果集中的某一列值有问题
试试下面这种调用
C#
- C# code
Convert.ToInt32(ds.Tables[0].Rows[0]["retcode"].ToString());