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

写的一个验证登陆的存储过程,还想

2013-08-04 
写的一个验证登陆的存储过程,还想请教各位if exists(select name from sysobjects where typep and nam

写的一个验证登陆的存储过程,还想请教各位

if exists(select name from sysobjects where type='p' and name='checkUserProc')drop procedure checkUserProc
go
create procedure checkUserProc(@checkResult int output,@checkUser varchar(50),@checkPassword varchar(100))
as
if exists(select userid,password,permission from Users_Info where userid=@checkUser and password=@checkPassword)
set @checkResult=1--通过验证
else
set @checkResult=0 --验证失败
return isnull(@checkResult,2)
go

我想当成功登录时将用户等级permission的值赋给 @checkResult(就是红色部分),请问该怎么修改。。
另外,这样的存储过程合适吗?
[解决办法]
把return isnull(@checkResult,2)
改成
set @checkResult = isnull(@checkResult,2)
[解决办法]
CREATE PROCEDURE checkUserProc
@checkResult INT OUTPUT ,
@checkUser VARCHAR(50) ,
@checkPassword VARCHAR(100)
AS
SET NOCOUNT ON
SET @checkResult = -999
SELECT
@checkResult = permission
FROM Users_Info
WHERE userid = @checkUser
AND password = @checkPassword

RETURN @checkResult
--如果是-999,说明用户不存在或用户名密码错误;
--如果@checkResult <> -999,则验证成功,且@checkResult的值就是permission,返回即可

go

热点排行