过程 CREATE PROCEDURE login_verify
(
community_id int, --拿值
username varchar(20),
password varchar(40),
result tinyint output
)
AS
set nocount ON
declare service_deadline_date smalldatetime,community_setting_max_online_count int ---定义一个变量为 短日期格式
select community_setting_max_online_count=community_setting_max_online_count,service_deadline_date=service_deadline_date from community_info where community_id=community_id --这里是求最大登录人数
if datediff(d,service_deadline_date,getdate())>10 --其实这个是限制用户的使用期,求当前日期与库中的记录日期如时大于10天,则返回result =11
begin
set result=11 --超过使用期
return
end
if (select count(*) from online_user where =community_setting_max_online_count">community_id=community_id)>=community_setting_max_online_count --根据库中的记录设定与当前人数比较
begin
set result=10 --超出在线人数限制 --返回result=10
return
end
declare stamia int,last_update_stamia_date smalldatetime,level_id int --定义变量 整型 短日期型 整型
declare userid int ,user_role int
select userid=userid,user_role=user_role,stamia=stamia,last_update_stamia_date=last_update_stamia_date,level_id=level_id from user_info where username=username and password=password and community_id=community_id and user_type=0
--从用户信息表中,将一些信息写入到定义的三个变量中
if userid is not null ----如果userid 不变null值
begin --用户名和密码校验成功
set result=1 --检验成功
return
end
else
begin
set result=0 ---登录失败
end
set nocount OFF
GO
我们给上面的过程取个名login_verify叫做
写成是ASP代码中调用安全认证的地方
'''事先已经定义好conn
Set cmd.ActiveConnection=conn
cmd.CommandText="login_verify"
cmd.CommandType=&H0004
community_id int, --拿值
username varchar(20),
password varchar(40),
result int
cmd.Parameters.Append cmd.CreateParameter("community_id",3)
cmd.Parameters.Append cmd.CreateParameter("username ",200)
cmd.Parameters.Append cmd.CreateParameter("password",200)
cmd("community_id")=session("community_id")
cmd("username")=request("userid")
cmd("password")=request("userid")
cmd.execute
dim result
result=cmd("result")
conn.close
if trim(result)="1" then
'''''''''''''登录成功的提示与操作
else
''''''''''''''''''''''登录失败的提示与操作
end if
ASP与存贮过程
80酷酷网 80kuku.com