读书人

存储过程 不起作用

发布时间: 2012-01-26 19:40:46 作者: rapoo

存储过程 不起作用 在线等
CREATE proc chklogin(@name nvarchar(20),@pwd nvarchar(40))
as
declare @flag int
select @flag=count(*) from admin where username=@name and pwd=@pwd

if @flag <> 0
begin
update admin set lastlogintime=getdate() where username=@name
end


return
GO
数据库的存储过程 如果用户名存在,说明登陆成功 则修改登陆时间
可是怎么也修改不了登陆时间 并且检查不到这个用户
怎么解救?????

[解决办法]
CREATE proc chklogin(@name nvarchar(20),@pwd nvarchar(40))
as
if(exists(select username from admin where username=@name and pwd=@pwd))
begin
update admin set lastlogintime=getdate() where username=@name
return 1 --用户名和密码都正确
end
else
begin
return 2 --验证失败
end


return

然后在你程序里获取返回值判断
[解决办法]
楼主可以加一个输出参数,在程序中判断输出参数的值
下面是我写的一个存储过程,给你参考一下
CREATE procedure login
(
@uid nvarchar(50),
@psw nvarchar(50),
@count int out
)

AS

if((SELECT count(*) from tb_users where username=@uid and password=@psw)> 0)
begin
set @count=1
end

else
set @count=0
GO

读书人网 >asp.net

热点推荐