5 预约系统详细设计5.1 登录页面设计 paper51.com 5.1.1 登录页面 内容来自www.paper51.com 该页面是一个简单的登录界面,如图2。 内容来自www.paper51.com 内容来自论文无忧网 www.paper51.com 图2 登录界面 内容来自论文无忧网 www.paper51.com 当用户来到开始页面,输入用户名和密码,并且要在底下选择相应的登录身份,教师、学生还是管理员,然后点击登录。就开始执行登录检测代码,当代码在数据库搜索到信息时,就返回消息,登录成功,进入相应的界面,如果未搜索到消息,也返回一个信息。该页面通过简单的查询比较语句实现学生、教师、管理员三者的登录功能。在页面的右边有一个注册链接。当用户(教师,学生)进入登录界面时,如果没有账号,要先注册账号。首先选择注册身份,点击“注册”按钮,进入相应的注册界面。实现登录主要代码是通过一个IF语句实现三者身份的判断。部分代码如下: paper51.com Dim conn As New SqlConnection copyright paper51.com Dimcmd As New SqlCommand copyright paper51.com DimobjReader As System.Data.SqlClient.SqlDataReader http://www.paper51.com conn.ConnectionString = "Data Source=localhost;InitialCatalog=Booking;Integrated Security=SSPI;Packet Size=4096;UserID=sa;Password=''" paper51.com
conn.Open() 内容来自www.paper51.com
cmd.Connection = conn copyright paper51.com ……………… 内容来自论文无忧网 www.paper51.com
以上代码段是打开数据库代码,在以下的程序中经常用到。 http://www.paper51.com Dim name As String = TextBox1.Text paper51.com Dim pwd AsString = TextBox2.Text paper51.com IfRadioButtonList1.Items(0).Selected = True Then http://www.paper51.com cmd.CommandText = "Select * from Teacher_information" paper51.com
objReader = cmd.ExecuteReader() copyright paper51.com
Do While objReader.Read() 内容来自www.paper51.com Dim sqlnameAs String = objReader.GetString(1).Trim() 内容来自论文无忧网 www.paper51.com Dim sqlpwd As String = objReader.GetString(3).Trim() paper51.com If sqlname = name And sqlpwd = pwd Then http://www.paper51.com Session("names") = TextBox1.Text copyright paper51.com
Session("pwds")= TextBox2.Text copyright paper51.com
Response.Redirect("admintea.aspx") 内容来自论文无忧网 www.paper51.com
Exit Do copyright paper51.com End If paper51.com
Loop 内容来自www.paper51.com Response.Redirect("error.aspx") http://www.paper51.com
……………… 内容来自论文无忧网 www.paper51.com
以上这段是查询数据库里的数据进行比较,并且用一个Session控件记录用户名和密码,上面的代码是实现教师登录的代码段。实现学生、教师、管理员三者登录的选择要用到一个IF语句。当判断正确后,转到相关的页面。 paper51.com
5.1.2 注册页面 内容来自论文无忧网 www.paper51.com 教师的注册代码和学生的注册代码及页面都相类似,主要都是实现数据信息的插入到数据库表格里。不同之处在于学生的用户名是学生的学号,这是一个唯一标识,不需要再自己起名字,并且他有一定的长度限制6-12之间,在这个长度区间内的值才是有效的,要是想输入固定长度值,可以修改代码信息来完成。用户名、密码、真实姓名,都是学生和老师必填字段,而学生还有一个必填字段,就是系别班级,它是教师授课预约里的一个字段。由于老师可能有重名的时候,所以老师的用户名是自己起的。在填写老师用户名后,可以检查是否已经被人用过,如果没用过可以继续使用,填写其他信息,如果用户名已存在数据库里就会弹出个提示,要重新输入用户名。当填写好信息后,点击提交就可以注册账号了,如果不小心填错一些信息,可以点击“重填”按钮,重新填写资料。把注册信息数据插入到数据库表格里的代码如下: 内容来自论文无忧网 www.paper51.com IfS_ID.Text.Length < 5 Or S_ID.Text.Length > 13 Or S_name.Text.Length <1 Or S_pwd.Text.Length < 1 Or S_class.Text.Length < 1 Then 内容来自www.paper51.com
Label1.Visible = True http://www.paper51.com Else http://www.paper51.com
cmd.CommandText = "Insert into Student_information values(@S_ID,@S_name,@S_pwd,@S_mail,@S_phone,@S_class,@S_native)" 内容来自www.paper51.com cmd.Parameters.Add(New SqlParameter("@S_ID",SqlDbType.Char, 10)) http://www.paper51.com
cmd.Parameters.Add(New SqlParameter("@S_name",SqlDbType.VarChar, 6)) http://www.paper51.com cmd.Parameters.Add(New SqlParameter("@S_pwd",SqlDbType.VarChar, 15)) http://www.paper51.com cmd.Parameters.Add(New SqlParameter("@S_mail",SqlDbType.VarChar, 15)) 内容来自论文无忧网 www.paper51.com cmd.Parameters.Add(New SqlParameter("@S_phone",SqlDbType.Char, 10)) 内容来自论文无忧网 www.paper51.com cmd.Parameters.Add(New SqlParameter("@S_class",SqlDbType.Char, 15)) paper51.com cmd.Parameters.Add(New SqlParameter("@S_native",SqlDbType.VarChar, 5)) http://www.paper51.com cmd.Parameters("@S_ID").Value = Request("S_ID") 内容来自论文无忧网 www.paper51.com cmd.Parameters("@S_name").Value = Request("S_name") paper51.com cmd.Parameters("@S_pwd").Value = Request("S_pwd") http://www.paper51.com cmd.Parameters("@S_mail").Value = Request("S_mail") 内容来自论文无忧网 www.paper51.com cmd.Parameters("@S_phone").Value = Request("S_phone") 内容来自www.paper51.com cmd.Parameters("@S_class").Value = Request("S_class") copyright paper51.com cmd.Parameters("@S_native").Value = Request("S_native") copyright paper51.com cmd.ExecuteNonQuery() copyright paper51.com
conn.Close() http://www.paper51.com Label2.Text = "你已经注册成功" 内容来自论文无忧网 www.paper51.com fh.Visible = True 内容来自论文无忧网 www.paper51.com EndIf copyright paper51.com
注册界面如图3。 内容来自论文无忧网 www.paper51.com
内容来自www.paper51.com 图3 注册界面 内容来自论文无忧网 www.paper51.com
5.2 管理页面设计 内容来自论文无忧网 www.paper51.com 5.2.1 教师管理主页面 paper51.com
该页面如图4。 http://www.paper51.com http://www.paper51.com 图4 老师主页面 内容来自www.paper51.com
页面最上面一排显示用户的用户类别、用户名。下面是老师能够操作的各种功能,主要是各种查询功能。老师有三种信息查询功能:一是实验室信息查询。该查询主要是查询实验室房间信息,有什么设备、可以做什么样的实验项目、能容纳多少人、可用设备的台数等信息,为老师预约房间提供参考;二是实验项目查询,该查询就是查找某个实验项目能在哪些实验室里做实验,即显示能做某个项目的房间个别信息;三是实验室预约查询,就是当老师查到某个实验室时,想了解该房间已经预约的具体情况的操作,该房间里哪些课节已经预约了,哪些课节空闲。三个功能的实现代码都类似,都是通过SQL 语句来查找数据库里的相关信息,然后把查到的信息通过绑定控件显示到页面上,供查询者了解信息。同时还有几个链接按钮,用来跳转到实验预约,修改资料,信息查询等相关页面。 copyright paper51.com 实验室信息查询的代码如下: copyright paper51.com cmd.CommandText ="Select * from Lab_information" 内容来自www.paper51.com
objReader = cmd.ExecuteReader() paper51.com DoWhile objReader.Read() 内容来自www.paper51.com
Dim LabID As String = objReader.GetString(0).Trim() copyright paper51.com If LabID = TextBox1.Text Then paper51.com
name = LabID 内容来自论文无忧网 www.paper51.com
Exit Do copyright paper51.com End If 内容来自论文无忧网 www.paper51.com
Loop paper51.com IfTextBox1.Text = name Then paper51.com
bindlist1() copyright paper51.com
Else copyright paper51.com Label2.Text = "此实验室尚未添加" 内容来自论文无忧网 www.paper51.com EndIf 内容来自www.paper51.com …………Datalist绑定代码如下: copyright paper51.com Sub bindlist1() 内容来自论文无忧网 www.paper51.com Dimconn As New SqlConnection paper51.com Dimcmd As New SqlCommand copyright paper51.com Dimds As New DataSet paper51.com
conn.ConnectionString = "Data Source=localhost;InitialCatalog=Booking;Integrated Security=SSPI;Packet Size=4096;UserID=sa;Password=''" 内容来自www.paper51.com conn.Open() http://www.paper51.com cmd.Connection= conn copyright paper51.com Dimsqlstr As String = "select * from Lab_information where L_ID='" &Session("L_ID") + "'" copyright paper51.com cmd.CommandText = sqlstr 内容来自www.paper51.com
Dimobjadpt As New SqlDataAdapter(cmd) copyright paper51.com Dimtablename As String = "L_ID" 内容来自论文无忧网 www.paper51.com objadpt.Fill(ds, tablename) 内容来自论文无忧网 www.paper51.com Lab1.DataSource = ds.Tables(tablename) 内容来自论文无忧网 www.paper51.com Lab1.DataBind() paper51.com
conn.Close() paper51.com
End Sub http://www.paper51.com 5.2.2 学生管理主页面 内容来自论文无忧网 www.paper51.com 学生的这个界面主要是查询,是对老师和课程预约情况的查询。不过还有预约功能也在此页面实现,预约功能在后面5.3.1节介绍。学生管理页面如图5。 copyright paper51.com
http://www.paper51.com 图5 学生主页面 http://www.paper51.com 最上面同样是学生的身份、学生的唯一标识。下面是查询功能选项卡,学生的查询主要有两个方面:一个是对实验项目的查询,它主要是查询某个实验项目的信息,主要包括有哪几位老师正在上这门实验课、都在什么实验室、什么时间上课这门课等等。二是老师查询,当知道了上某一门实验课的老师是哪一位时,就可以通过此项查询。由于现在大多数老师都不仅仅教授一门课程,所以有可能有多样的实验课,如老师既教数据库知识,又教操作系统,做实验时就既有操作系统实验课,又有数据库实验课,这时需要一个二级目录的查询,当先输入老师名字时,在后面就会用下拉表单列出老师实验课的信息,然后选择要查的实验课,电击“查询”按钮,才在底下显示具体信息,操作如图6。该操作的代码和老师的查询代码类似,只是在操作中有个下拉菜单的操作。由于要打开数据库,所以涉及数据库打开数据库代码如5.1.1节所叙述,此处不在重复。 paper51.com 内容来自www.paper51.com 图6 学生查询教师实验二级目录的实现 内容来自www.paper51.com
下拉菜单实现的代码如下: copyright paper51.com Dim objReader AsSystem.Data.SqlClient.SqlDataReader paper51.com Session("True_name") = TextBox1.Text paper51.com
copyright paper51.com cmd.CommandText = "Select * from Tbooking_information" paper51.com objReader = cmd.ExecuteReader() copyright paper51.com DoWhile objReader.Read() 内容来自论文无忧网 www.paper51.com Dim sqlname As String = objReader.GetString(4).Trim() copyright paper51.com Dim sqlexper As String = objReader.GetString(3).Trim() paper51.com If sqlname = TextBox1.Text Then copyright paper51.com exper.Items.Add("" & sqlexper + "") copyright paper51.com End If http://www.paper51.com
Loop copyright paper51.com TextBox2.Visible = False 内容来自www.paper51.com
exper.Visible = True paper51.com 5.2.3 管理员管理主页面 copyright paper51.com 管理员的这个页面主要有三个功能,一是添加房间信息,二是修改房间信息,三是删除学生和老师的预约信息。 paper51.com
(1)添加房间信息。在该页面,要输入实验室房间的详细信息,主要有房间号、实验室类别、总人数(总的计算机台数)、可用设备数(能够做实验的计算机台数)、都能够实现哪些项目的上机操作和备注,这一些必要的字段。此页面有三个按钮:一个是提交、一个是重填、一个是继续添加。提交就是把浏览器里输入的信息插入到数据库表格里,重填就是信息的清除,继续添加也是类似信息的清除。从操作过程知道此操作的代码段主要是信息的插入,所以在此不在列出此段代码。 paper51.com (2)修改房间信息界面主要是实现对实验室的信息单项修改。要先填写房间号,系统根据这个填写的信息继续做后面的操作,可以修改实验室类别、总人数、可用设备数(上机人数)、实验项目、备注等各项。页面如图7。 copyright paper51.com 内容来自论文无忧网 www.paper51.com 图7 房间修改信息界面 内容来自论文无忧网 www.paper51.com
(3)删除预约信息。页面如图8。 内容来自论文无忧网 www.paper51.com
http://www.paper51.com 图8 管理员删除界面 http://www.paper51.com 此操作是按分类操作的,分四类:一个删除房间信息,它又分删除一个房间信息和删除多个房间信息,当填写房间号或房间号的区间时,就可以执行此操作。二是删除房间的预约信息,可以删除一个房间或多个房间的预约信息。三是删除老师的预约信息,当输入老师姓名时就删除老师的预约信息。四是删除学生的预约信息,删除学生预约信息通常是一个班或一个专业的,所以主要是使用区间,删除一段学号的学生预约信息。当点击删除时,如果成功就会在后面显示删除成功。否则,就提示输入错误字段。在页面下面是简单的介绍如何操作删除功能的。 内容来自www.paper51.com 此页面有个‘继续操作’按钮,当点击它时,就会清空上面的填入信息,同时还有个链接按钮,用来返回到管理员的主界面。删除功能很简单,就是先打开数据库,用一条delete语句,删除相应的数据库表格里的某一列字段或整个字段,就可以完成此操作。代码如下: 内容来自www.paper51.com Dim conn As NewSqlConnection 内容来自论文无忧网 www.paper51.com Dimcmd As New SqlCommand 内容来自www.paper51.com
Dimds As New DataSet paper51.com conn.ConnectionString = "Data Source=localhost;InitialCatalog=Booking;Integrated Security=SSPI;Packet Size=4096;UserID=sa;Password=''" paper51.com conn.Open() http://www.paper51.com cmd.Connection = conn 内容来自www.paper51.com cmd.CommandText = "delete from Lab_information where L_ID >='" & TextBox8.Text +"'and L_ID<='" & Textbox9.Text + "'" paper51.com Label3.Text = "删除成功" 内容来自www.paper51.com
cmd.ExecuteNonQuery() copyright paper51.com conn.Close() http://www.paper51.com 5.3 预约页面的实现 内容来自论文无忧网 www.paper51.com
5.3.1 学生预约页面 内容来自www.paper51.com
这个在学生的管理主页面上,如图5学生主页面。主要是向数据库里学生预约表格里填加一些学生预约信息。在输入框里输入学生要预约的房间号,授课教师的真实姓名,学生的学号,实验项目,执行此操作的时间,点提交就可以实现学生的预约。下面有三个按钮,一个是重填,一个是预约,一个是取消预约,当点取消预约时,系统会根据当前用户输入的信息(用户名或学号等)执行预约信息删除操作。 copyright paper51.com 5.3.2 教师预约页面 http://www.paper51.com
教师预约的页面是一个单独的页面,在此页面上方同样是用户类别和用户标识,下面输入框是要预约所填写的必要信息字段,有预约实验室的房间号、上课的星期、课节、实验项目名称、教师真实姓名、完成实验项目的上课周次、预约信息的时间、教师授课的班级。星期和课节字段是两个下拉框的表格,通过下拉框选择是星期几,第几节课。代码也是插入数据的代码,在此不在重复代码段。页面如图9。 copyright paper51.com
copyright paper51.com
图9 教师预约界面 内容来自www.paper51.com 5.4 其它页面的实现 内容来自www.paper51.com
5.4.1 个人资料管理页面 内容来自www.paper51.com
此功能是学生、教师、管理员三者都需要实现的。所以他们实现的方式相同,管理资料的页面也相同。如管理员的个人资料管理页面如图10。 内容来自www.paper51.com
copyright paper51.com
图10 管理员资料管理界面 内容来自论文无忧网 www.paper51.com 密码框里要填入旧的密码,新密码和对新密码的确认,才能修改信息。邮箱和电话是当用户登录后就显示出来的,你可以根据自己信息对它们进行相关的修改,点修改按钮,进行此操作,无论成功与否都有提示,实现代码如下: http://www.paper51.com If pwd1.Text =Session("pwds") Then 内容来自www.paper51.com
If pwd2.Text = pwd3.Text Then http://www.paper51.com cmd.CommandText = "UPDATE Teacher_information SET T_pwd='"& pwd2.Text + "' where T_name='" & Session("names")+ "'" copyright paper51.com Label1.Text = "修改成功" http://www.paper51.com Else 内容来自www.paper51.com Label1.Text = "密码不一致" copyright paper51.com End If 内容来自www.paper51.com
Else paper51.com Label1.Text = "旧密码不正确" copyright paper51.com EndIf copyright paper51.com 5.4.2 退出系统功能的实现 内容来自论文无忧网 www.paper51.com
此操作就是删除在登录记录的Session值,学生、教师、管理员的退出系统功能都是如此实现。把Session的值设置为空,返回到开始界面即可。代码简单明了,如管理员的代码如下: copyright paper51.com Session("namea")= "" 内容来自论文无忧网 www.paper51.com Session("pwda") = "" http://www.paper51.com Response.Redirect("homepage.aspx") 内容来自论文无忧网 www.paper51.com |