asp 存贮过程 (SQL版asp调用存储过程)

2018-09-06 12:08

阅读:347

  存贮过程(SQL样版)
今天发个SQL存贮过程给大家认识
复制代码 代码如下:
CREATEPROCEDURElogin_verify

(
@community_idint,--拿值
@usernamevarchar(20),
@passwordvarchar(40),
@resulttinyintoutput
)

AS

setnocountON


declare@service_deadline_datesmalldatetime,@community_setting_max_online_countint---定义一个变量为短日期格式

select@community_setting_max_online_count=community_setting_max_online_count,@service_deadline_date=service_deadline_datefromcommunity_infowherecommunity_id=@community_id--这里是求最大登录人数

ifdatediff(d,@service_deadline_date,getdate())>10--其实这个是限制用户的使用期,求当前日期与库中的记录日期如时大于10天,则返回@result=11
begin
set@result=11--超过使用期
return
end


if(selectcount(*)fromonline_userwhere=@community_setting_max_online_count>community_id=@community_id)>=@community_setting_max_online_count--根据库中的记录设定与当前人数比较
begin
set@result=10--超出在线人数限制--返回@result=10
return
end


declare@stamiaint,@last_update_stamia_datesmalldatetime,@level_idint--定义变量整型短日期型整型
declare@useridint,@user_roleint
select@userid=userid,@user_role=user_role,@stamia=stamia,@last_update_stamia_date=last_update_stamia_date,@level_id=level_idfromuser_infowhereusername=@usernameandpassword=@passwordandcommunity_id=@community_idanduser_type=0

--从用户信息表中,将一些信息写入到定义的三个变量中

if@useridisnotnull----如果@userid不变null值
begin--用户名和密码校验成功
set@result=1--检验成功
return
end
else
begin
set@result=0---登录失败
end

setnocountOFF

GO

我们给上面的过程取个名login_verify叫做

写成是ASP代码中调用安全认证的地方

事先已经定义好conn

Setcmd.ActiveConnection=conn

@community_idint,--拿值
@usernamevarchar(20),
@passwordvarchar(40),
@resultint

cmd.Parameters.Appendcmd.CreateParameter(@community_id,3)
cmd.Parameters.Appendcmd.CreateParameter(@username,200)
cmd.Parameters.Appendcmd.CreateParameter(@password,200)

cmd(@community_id)=session(community_id)
cmd(@username)=request(userid)
cmd(@password)=request(userid)

cmd.execute

dimresult

result=cmd(@result)

conn.close

iftrim(result)=1then


登录成功的提示与操作

else

登录失败的提示与操作

endif





评论


亲,登录后才可以留言!