4 系统设计与实现 内容来自www.paper51.com 4.1 系统首页 paper51.com 系统首页SearchScore.asp为所有浏览者提供了学生个人成绩查询的功能,输入学生的学号,并选择学期项,就可以查询到该学生相应学期的所有已考试课程的成绩,不及格的课程考试成绩将会用红色字体显示。系统还会自动统计查询到的课程数目和不及格的课程数目。 http://www.paper51.com 此页面还为系统管理员和教师用户提供了登录页面的链接,用户点击此链接可进入系统登录页面进行用户登录。系统首页页面效果如图4-1所示。 内容来自www.paper51.com
内容来自www.paper51.com
图4-1 系统首页 内容来自www.paper51.com 首页中查询学生个人成绩的存储过程代码如下: 内容来自论文无忧网 www.paper51.com CREATE PROCEDURE sp_SearchScore 内容来自www.paper51.com @StudentID varchar(20),@Term int copyright paper51.com AS 内容来自www.paper51.com Select d.name,a.StudentID,a.Score, 内容来自www.paper51.com
(casea.Type http://www.paper51.com when1 then '正常考试' 内容来自论文无忧网 www.paper51.com when 2 then '补考' copyright paper51.com end)as Type, 内容来自www.paper51.com b.Nameas CourseName,c.Name as TeacherName 内容来自www.paper51.com fromScore a,Course b,admin c,student d copyright paper51.com wherea.StudentID=@StudentID and a.CourseID=b.ID and b.TeacherID = c.ID andb.Term=@Term and d.ID=@StudentID http://www.paper51.com GO 内容来自论文无忧网 www.paper51.com 4.2 系统登录模块 内容来自www.paper51.com 系统管理员和教师用户可通过系统登录页面Login.asp进行登录。填写完登录信息,提交表单后系统通过LoginCheck.asp对用户填写的登录信息和数据库中记录的信息进行对比,若用户填写登录信息有空项,系统会提示“用户和密码不能为空” ,然后系统返回登录页面Login.asp;若用户登录信息填写错误,页面将提示“用户名或密码输入有误” ,然后系统返回登录页面Login.asp;若用户登录信息填写正确,系统将会对用户的权限类型“Type”进行检查,若“Type=1”表示用户为系统管理员,系统会将用户的登录信息记录在Cookies集合和Session变量中,然后系统转到管理员页面Manage.asp;若“Type=2”表示用户为教师用户,系统会将用户的登录信息记录在Cookies集合和Session变量中后转到教师页面Teacher.asp。 copyright paper51.com LoginCheck.asp中验证用户信息的函数checkUser代码如下: http://www.paper51.com '功能:验证用户信息是否正确 http://www.paper51.com
'参数:username用户名, http://www.paper51.com ' password密码 copyright paper51.com
'返回值:正确则返回1,不正确返回0 paper51.com ' 设置Cookies用户ID(UserID)和登录状态(Login) copyright paper51.com
FunctioncheckUser(userid,password) http://www.paper51.com Dim dbc_Class paper51.com Set dbc_Class = New DBConn copyright paper51.com '建立存储过程的输入参数 http://www.paper51.com Set Cmd1 =Server.CreateObject("ADODB.Command") 内容来自www.paper51.com
SetParam = Cmd1.CreateParameter("@ID",adVarChar,adParamInput,20,userid) paper51.com Cmd1.Parameters.Append Param 内容来自www.paper51.com Set Param=Cmd1.CreateParameter("@PassWord",adVarChar,adParamInput,20,password) paper51.com Cmd1.Parameters.Append Param http://www.paper51.com '运行名为sp_CheckUser的存储过程 http://www.paper51.com Call dbc_Class.CreateCommandProc("sp_CheckUser",Cmd1) 内容来自论文无忧网 www.paper51.com If dbc_Class.Rs.EOF Then paper51.com
'失败时的返回值 copyright paper51.com
Session("UserType") ="" copyright paper51.com Session("UserID") ="" copyright paper51.com checkUser= 0 copyright paper51.com
Else http://www.paper51.com WhileNot dbc_Class.Rs.EOF 内容来自论文无忧网 www.paper51.com
'建立Cookies客户端变量以识别登录的用户 内容来自www.paper51.com
Response.Cookies("UserName")= dbc_Class.Rs("Name") 内容来自论文无忧网 www.paper51.com
Session("UserID") = dbc_Class.Rs("ID") copyright paper51.com
Session("UserType") = dbc_Class.Rs("Type") copyright paper51.com dbc_Class.Rs.MoveNext 内容来自论文无忧网 www.paper51.com Wend 内容来自www.paper51.com
'成功时的返回值 copyright paper51.com
checkUser= 1 内容来自论文无忧网 www.paper51.com End If 内容来自www.paper51.com
Set Cmd1 = nothing copyright paper51.com dbc_Class.CloseConn() 内容来自www.paper51.com
End Function 内容来自www.paper51.com 函数checkUser调用的存储过程代码如下: paper51.com CREATE PROCEDURE sp_CheckUser http://www.paper51.com
@ID varchar(20), paper51.com @Password varchar(20) http://www.paper51.com AS 内容来自www.paper51.com
SELECT * FROM admin paper51.com WHEREID=@ID and Password=@Password 内容来自www.paper51.com GO paper51.com
|