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

时间:2021-11-22 01:18:30

存贮过程(SQL样版)  
今天发个SQL存贮过程给大家认识 

复制代码代码如下:


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