存储过程 不起作用 在线等
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