实验室预约系统设计与实现

实验室预约系统的设计

摘  要

目前各大学的实验项目日益繁多,如何合理预约实验室,已经成为当今各个大学实验室课程预约的难题。因此,这个实验室预约系统就是研究实验室预约的相关问题。实验室预约系统的设计主要是基于B/S模型,在Windows系统下,运用ASP.NET平台和SQLServer2000数据库实现实验室预约功能。该设计主要实现了实验室的预约和管理功能。预约功能包括老师对实验室信息、实验项目和实验预约情况的查询以及对实验室的预约;学生对老师预约情况和实验项目预约情况的查询以及学生对实验的预约。管理功能包括教师、学生、管理员三者的登录、注册、个人资料管理,管理员对实验室的管理与对学生和教师预约信息的删除功能。最后通过调试、完善该系统,基本实现了高校实验室预约、管理功能,为各大学的实验室预约系统提供有用的模版参考。

关键词实验室预约;B/S;SQL Server2000数据库;VB.NET。

The Design of Laboratory Reservation System

Abstract

At present, the laboratory courses of every university are growing day by day. How to arrange the laboratory courses reasonably has become the serious problem of the Course Scheduling of laboratories in university. Therefore, the laboratory reservation system should do some related study about the appointment about laboratory courses. The B/S model is used by the system based on Windows, and the system implements the functions of laboratory appointment and the inquiries through ASP.NET and SQLServer2000. The functions of Lab's reservation and administration have been realized in this design .The functions of Lab's reservation include lab’s information, experiment items and information of laboratory reservation which can be queried and requested by teachers, and the teacher booking information and experiment project booking information which can be queried by students. There are four functions in administration module. They are logging, registering, data management and deleting information about library and teacher’s querying. Finally, this system is tested and debugged, and there is no problems existed. The basic functions of Lab's reservation and administration are realized. The design is very useful about the model of every university similar system designed.

Key words: Laboratory reservation; B/S; SQL Server2000 database;VB.NET.

目  录

                                                       

1 引言

1.1 课题背景

1.2 课题研究的目的

1.3 本课题研究的意义

1.4 本课题的研究方法

1.5 研究内容

2 功能描述

2.1 学生功能

2.2 教师功能

2.3 管理员功能

2.4 实验室预约系统的流程图

3 开发环境和工具

3.1 环境要求

3.2 开发工具简介

3.2.1 .NET平台简介

3.2.2 SQL Serser2000简介

3.3 非开发性要求

4 数据库详细设计

4.1 逻辑设计

4.2 物理结构设计

5 预约系统详细设计

5.1 登录页面设计

5.1.1 登录页面

5.1.2 注册页面

5.2 管理页面设计

5.2.1 教师管理主页面

5.2.2 学生管理主页面

5.2.3 管理员管理主页面

5.3 预约页面的实现

5.3.1 学生预约页面

5.3.2 教师预约页面

5.4 其它页面的实现

5.4.1 个人资料管理页面

5.4.2 退出系统功能的实现

5.5 主页面格调代码实现

6 系统测试

    

参考文献

    

    

  1. 引言
    1. 课题背景

现在B/S模式的设计与研发在网上十分流行,大学学校的资源也都通过这种形式展现出来,实验室预约系统就是各种B/S模式之中最明显的一个例子。实验室预约系统是通过服务器和客户端浏览器来实现数据的传输,它通过客户端实现管理、申请、提交用户信息,来完成实验项目的预约、查询、资料管理等各种功能。随着计算机应用水平和Internet网的迅速发展,各种资源实现网络化,已经成为必然趋势。实验室预约系统利用这个优势,来完成繁琐的人工操作,从而既改变了过去实验室传统的管理模式又提高办事的效率。

现在网上已经有这方面的材料,但具体问题要具体分析,不同的学校有不同的环境。

    1. 课题研究的目的

(1)掌握B/S模式的结构和框架,了解B/S模式存在的优势和必然原因。

(2)熟悉ASP.NET编程语言及.net平台的应用。

(3)熟悉一种或几种图画制作工具,并且把它运用在实际当中。

(4) 进一步熟悉SQL server2000数据库的功能,合理利用数据库。

(5)认真培养自学和独立能力,从大量资料中能够选取所需资料。

    1. 本课题研究的意义

实验课已经是各个高等学校不可缺少的一部分,如何充分利用学校现有的实验室资源是一个排课难题,也是本课题研究的主题。实验室预约系统的设计主要是通过学生和老师对实验资源的网上预约,实现实验室资源的合理利用,在有限的资源里充分发挥各个学校现有实验室资源的优势。

    1. 本课题的研究方法

实验室预约系统的设计采用的是B/S结构。基于Windows平台下,采用.net技术+SQL Server2000数据库完成的设计。首先本文先从分析实验室预约系统实现的功能入手,简单地描述出实验室预约系统准备实现的各种功能。其次是对开发环境和工具的介绍、了解、熟悉及掌握使用它们的方法,再次运用以往学过的知识和现在准备的知识进行对数据库的逻辑设计和物理结构的设计。最后,在.net平台下,选择熟悉的语言进行实验室预约系统的详细设计,对本课题进行系统的测试,找出问题,总结经验。记录所有的这一切过程,为毕业论文的规划和书写打下坚实的基础。本资料来源于 http://www.bylw168.com 毕业设计论文资料网

    1. 研究内容

运用以往学到的知识,开发一个实验室预约系统。它主要实现老师和学生对实验室的预约、查询等服务。研究的内容简要概括如下:

(1)各个级别的人实现对自己的内容的管理和修改,侧重数据库的合理利用。

(2)学生和老师对实验的时间预约,主要从简单明了入手。

(3)在系统设计开发中,学生和老师在系统中的查询是重点之一。

(4)学生、管理员、教师对资料的管理和管理员对实验室的管理和预约情况的管理。

  1. 功能描述

本课题主要研究对象有三个:学生、教师、管理员。

    1. 学生功能

学生主要是四个功能。注册功能、查询功能、预约功能、学生资料管理功能。

(1)注册功能。学生进入登录界面后,如果没有注册,要先注册。注册的用户名是学生的学号。注册后才可以登录,学生在此功能里还能够修改、删除个人资料。

(2)查询功能。学生在进入主界面后,能够对想预约的课程查询或教师查询。由于老师可能教多个课程,所以有个二级选择目录。

(3)预约功能。当学生查询好信息后,就要对想要预约的实验开始预约。

(4)学生资料管理功能。学生在注册后,可以通过登录,修改自己的个人信息。

    1. 教师功能

教师也有四个功能。注册功能、查询功能、预约功能,教师的资料管理功能。只是教师和学生所使用功能的方式不一样。

(1)注册功能。老师进入登录界面后,如果没有账号,也要先注册账号,同时可以对自己的资料进行修改、删除、填加。

(2)查询功能。教师的查询功能主要是对实验室类别、项目、预约情况的查询。类别查询主要是查询实验室房间的信息;项目查询主要是查看能实验该项目的房间信息;预约查询主要是对实验室预约状况的查询,以便预约。

(3)预约功能。当老师查询好预约信息后,就可以开始实验室预约了。

(4)教师的资料管理。管理教师自己的个人资料。

    1. 管理员功能

管理员的功能有三个,资料管理功能、房间信息管理功能、实验预约信息管理功能。

(1)资料管理功能。管理员不需要注册,资料管理功能就是对管理员自己的资料管理。

(2)房间信息管理功能。管理员通过页面对房间的信息进行添加,修改,从而实现对房间的管理。

(3)预约信息管理功能。管理员对已经预约的信息进行管理,包括单个房间、多个房间、教师、学生预约情况的管理。

    1. 实验室预约系统的流程图

实验室预约系统主要是学生和老师通过网络对实验资源的管理,主要功能流程图如图1。在首页开始里有两部分,注册、登录。注册分教师和学生两类;登录分学生、教师、管理员三类。当登录成功后将进入相应的界面进行属于自己权限范围内的应用范畴。学生主要是对个人资料的管理、实验信息的查询及预约功能。教师也是资料管理、实验信息查询、实验时间的预约,和学生的类似,只不过侧重点不同。管理员主要是管理实验室的各种各样资料。

图1 实验室预约系统流程图 本资料来源于 http://www.bylw168.com 毕业设计论文资料网

  1. 开发环境和工具
    1. 环境要求

本课题的开发主要是基于.NET2003平台,运用Asp.net和vb.net语言实现功能的主体开发。本系统由于是在服务器上运行的,所以服务器上的软件环境是IIS5.0和SQL Server2000,对硬件的要求不高,但CPU的处理速度要快,来增加访问速度。

    1. 开发工具简介
      1. .NET平台简介

.NET 是 Microsoft研发的,用于创建 XML Web 服务的平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。.NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为您今天正在使用的 Microsoft 应用程序、工具和服务器的一部分,同时,新产品不断扩展 XML Web 的服务能力以满足您的所有业务需求。

      1. SQL Serser2000简介

SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。

SQL Server 2000, 是Microsoft 公司推出的SQL Server 数据库管理系统的新版本。该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑,到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

    1. 非开发性要求

本系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括可读性、可修改性、可测试性等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制条件下(时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。

  1. 数据库详细设计
    1. 逻辑设计

根据系统需求分析定义系统实体,本系统主要涉及到的用户角色有学生、教师、管理员。系统涉及的实体有实验、班级、教室。

    1. 物理结构设计

根据要求设计预约系统需求的数据表

(1)学生注册数据库表:存储学生的注册信息,有学号、注册姓名(本人真实姓名)、注册密码、注册邮箱、联系电话、系别班级、籍贯7列。学生的学号是主键,注册邮箱、联系电话、籍贯三者允许为空,详细信息如表1。

表1  学生信息表(Student_information)

列名

类型

长度

是否为空

主键

是否外键

备注

S_ID

char

10

Y

学生学号

S_name

varchar

6

注册姓名

S_pwd

varchar

15

注册密码

S_mail

varchar

15

Y

注册邮箱

S_phone

char

10

Y

联系电话

S_class

char

15

系别班级

S_native

varchar

5

Y

籍贯

(2)教师注册数据库表:存储教师的个人信息,有教师ID、注册昵称、真实姓名、注册密码、注册邮箱、联系电话6列。其中教师ID是主键,并且由系统自动生成的,注册邮箱和联系电话两者允许为空,详细信息如表2。

表2  教师信息表(Teacher_information)

列名

数据类型

长度

可否为空

是否主键

是否外键

备注

T_ID

int

4

Y

教师ID

T_name

varchar

10

注册昵称

True_name

varchar

15

真实姓名

T_pwd

varchar

15

注册密码

T_mail

varchar

15

Y

注册邮箱

T_phone

char

10

Y

联系电话

(3)管理员信息数据库表:由于管理员只是少数几个教师,所以可以不需要注册,设计几个固定的用户名,供管理员使用。在该数据库表里有管理员ID、管理员的注册姓名、管理员的注册密码、管理员的注册邮箱和管理员的联系电话5列。管理员的ID 也是系统自动生成的 ,它被设成主键。同上,管理员的注册邮箱和联系电话允许为空,详细信息如表3。

表3  管理员信息表(Administrator_information)

列名

数据类型

长度

可否为空

是否主键

是否外键

备注

A_ID

int

4

Y

ID

A_name

char

10

注册姓名

A_pwd

varchar

15

注册密码

A_mail

char

15

Y

注册邮箱

A_phone

char

10

Y

联系电话

(4)实验室房间信息数据库表格:存储实验室的基本情况和最新更新的情况,包括实验室的房间号(如6304)、实验室类别(如网络实验室)、可用设备数目、允许的实验项目、容纳的人数、备注6列。房间号是主键。并且在查询过程中,可用设备数要小于总人数,备注可以为空,详细信息如表本资料来源于 http://www. bylw168 .com 毕业设计论文资料网4。

表4  实验室信息表(Lab_information)

列名

数据类型

长度

可否为空

是否主键

是否外键

备注

L_ID

char

15

Y

房间号

L_class

char

20

实验室类别

L_equip

char

10

可用设

备台数

L_ exper

varchar

800

实验项目

L_number

char

10

总人数

L_mem

varchar

150

Y

备注

(5)教师预约数据库信息表格:该表里包括房间号、预约课程的星期、课节信息、预约的实验项目、预约实验的教师姓名、完成的周次、授课的班级和预约的时间。其中房间号,星期和课节信息为组合主键,同时房间号是外键。完成周次是实验项目结束的时间,详细如表5。

表5  教师预约信息表(Tbooking_ information)

列名

数据类型

长度

可否为空

是否主键

是否外键

备注

L_ID

char

4

Y

Y

房间号

L_week

char

10

Y

星期

L_lesson

char

10

Y

课节信息

L_ exper

Varchar

30

实验项目

True_name

Varchar

15

预约教师

L_achtime

char

10

完成周次

S_class

char

30

班级

B_date

datatime

8

预约时间

(6)学生预约数据库表格:该表格包括课程名、教师姓名、房间号、学生学号、预约时间5列。课程名和教师名为组合主键,详细信息如表6。

表6  学生预约表(Sbooking_information)

列名

数据类型

长度

可否为空

是否主键

是否外键

备注

L_exper

 char

30

Y

课程名

True_name

varchar

30

Y

教师名

L_ID

char

15

房间号

S_ID

char

10

学生学号

B_date

datetime

8

预约时间

  1. 预约系统详细设计
    1. 登录页面设计
      1. 登录页面

该页面是一个简单的登录界面,如图2。

图2 登录界面

当用户来到开始页面,输入用户名和密码,并且要在底下选择相应的登录身份,教师、学生还是管理员,然后点击登录。就开始执行登录检测代码,当代码在数据库搜索到信息时,就返回消息,登录成功,进入相应的界面,如果未搜索到消息,也返回一个信息。该页面通过简单的查询比较语句实现学生、教师、管理员三者的登录功能。在页面的右边有一个注册链接。当用户(教师,学生)进入登录界面时,如果没有账号,要先注册账号。首先选择注册身份,点击“注册”按钮,进入相应的注册界面。实现登录主要代码是通过一个IF语句实现三者身份的判断。部分代码如下:

        Dim conn As New SqlConnection

        Dim cmd As New SqlCommand

        Dim objReader As System.Data.SqlClient.SqlDataReader

        conn.ConnectionString = "Data Source=localhost;Initial Catalog=Booking;Integrated Security=SSPI;Packet Size=4096;User ID=sa;Password=''"

        conn.Open()

        cmd.Connection = conn         

………………

以上代码段是打开数据库代码,在以下的程序中经常用到。

        Dim name As String = TextBox1.Text

        Dim pwd As String = TextBox2.Text

        If RadioButtonList1.Items(0).Selected = True Then

            cmd.CommandText = "Select * from Teacher_information"

            objReader = cmd.ExecuteReader()

            Do While objReader.Read()

                Dim sqlname As String = objReader.GetString(1).Trim()

                Dim sqlpwd As String = objReader.GetString(3).Trim()

                If sqlname = name And sqlpwd = pwd Then

                    Session("names") = TextBox1.Text

                    Session("pwds") = TextBox2.Text

                    Response.Redirect("admintea.aspx")

                    Exit Do

                End If

            Loop

            Response.Redirect("error.aspx")

………………

以上这段是查询数据库里的数据进行比较,并且用一个Session控件记录用户名和密码,上面的代码是实现教师登录的代码段。实现学生、教师、管理员三者登录的选择要用到一个IF语句。当判断正确后,转到相关的页面。

      1. 注册页面

教师的注册代码和学生的注册代码及页面都相类似,主要都是实现数据信息的插入到数据库表格里。不同之处在于学生的用户名是学生的学号,这是一个唯一标识,不需要再自己起名字,并且他有一定的长度限制6-12之间,在这个长度区间内的值才是有效的,要是想输入固定长度值,可以修改代码信息来完成。用户名、密码、真实姓名,都是学生和老师必填字段,而学生还有一个必填字段,就是系别班级,它是教师授课预约里的一个字段。由于老师可能有重名的时候,所以老师的用户名是自己起的。在填写老师用户名后,可以检查是否已经被人用过,如果没用过可以继续使用,填写其他信息,如果用户名已存在数据库里就会弹出个提示,要重新输入用户名。当填写好信息后,点击提交就可以注册账号了,如果不小心填错一些信息,可以点击“重填”按钮,重新填写资料。把注册信息数据插入到数据库表格里的代码如下:

If S_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

            Label1.Visible = True

        Else

            cmd.CommandText = "Insert into Student_information values(@S_ID,@S_name,@S_pwd,@S_mail,@S_phone,@S_class,@S_native)"

            cmd.Parameters.Add(New SqlParameter("@S_ID", SqlDbType.Char, 10))

            cmd.Parameters.Add(New SqlParameter("@S_name", SqlDbType.VarChar, 6))

            cmd.Parameters.Add(New SqlParameter("@S_pwd", SqlDbType.VarChar, 15))

            cmd.Parameters.Add(New SqlParameter("@S_mail", SqlDbType.VarChar, 15))

            cmd.Parameters.Add(New SqlParameter("@S_phone", SqlDbType.Char, 10))

            cmd.Parameters.Add(New SqlParameter("@S_class", SqlDbType.Char, 15))

            cmd.Parameters.Add(New SqlParameter("@S_native", SqlDbType.VarChar, 5))

            cmd.Parameters("@S_ID").Value = Request("S_ID")

            cmd.Parameters("@S_name").Value = Request("S_name")

            cmd.Parameters("@S_pwd").Value = Request("S_pwd")

            cmd.Parameters("@S_mail").Value = Request("S_mail")

            cmd.Parameters("@S_phone").Value = Request("S_phone")

            cmd.Parameters("@S_class").Value = Request("S_class")

            cmd.Parameters("@S_native").Value = Request("S_native")

            cmd.ExecuteNonQuery()

            conn.Close()

            Label2.Text = "你已经注册成功"

            fh.Visible = True

        End If

注册界面如图3。

图3  注册界面

    1. 管理页面设计
      1. 教师管理主页面

该页面如图4。

图4  老师主页面

页面最上面一排显示用户的用户类别、用户名。下面是老师能够操作的各种功能,主要是各种查询功能。老师有三种信息查询功能:一是实验室信息查询。该查询主要是查询实验室房间信息,有什么设备、可以做什么样的实验项目、能容纳多少人、可用设备的台数等信息,为老师预约房间提供参考;二是实验项目查询,该查询就是查找某个实验项目能在哪些实验室里做实验,即显示能做某个项目的房间个别信息;三是实验室预约查询,就是当老师查到某个实验室时,想了解该房间已经预约的具体情况的操作,该房间里哪些课节已经预约了,哪些课节空闲。三个功能的实现代码都类似,都是通过SQL 语句来查找数据库里的相关信息,然后把查到的信息通过绑定控件显示到页面上,供查询者了解信息。同时还有几个链接按钮,用来跳转到实验预约,修改资料,信息查询等相关页面。

实验室信息查询的代码如下:本资料来源于 http://www. bylw168 .com 毕业设计论文资料网

cmd.CommandText = "Select * from Lab_information"

        objReader = cmd.ExecuteReader()

        Do While objReader.Read()

            Dim LabID As String = objReader.GetString(0).Trim()

            If LabID = TextBox1.Text Then

                name = LabID

                Exit Do

            End If

        Loop

        If TextBox1.Text = name Then

            bindlist1()

        Else

            Label2.Text = "此实验室尚未添加"

        End If

…………Datalist绑定代码如下:

Sub bindlist1()

        Dim conn As New SqlConnection

        Dim cmd As New SqlCommand

        Dim ds As New DataSet

        conn.ConnectionString = "Data Source=localhost;Initial Catalog=Booking;Integrated Security=SSPI;Packet Size=4096;User ID=sa;Password=''"

        conn.Open()

        cmd.Connection = conn

        Dim sqlstr As String = "select * from Lab_information where L_ID='" & Session("L_ID") + "'"

        cmd.CommandText = sqlstr

        Dim objadpt As New SqlDataAdapter(cmd)

        Dim tablename As String = "L_ID"

        objadpt.Fill(ds, tablename)

        Lab1.DataSource = ds.Tables(tablename)

        Lab1.DataBind()

        conn.Close()

End Sub

      1. 学生管理主页面

学生的这个界面主要是查询,是对老师和课程预约情况的查询。不过还有预约功能也在此页面实现,预约功能在后面5.3.1节介绍。学生管理页面如图5。

图5  学生主页面

最上面同样是学生的身份、学生的唯一标识。下面是查询功能选项卡,学生的查询主要有两个方面:一个是对实验项目的查询,它主要是查询某个实验项目的信息,主要包括有哪几位老师正在上这门实验课、都在什么实验室、什么时间上课这门课等等。二是老师查询,当知道了上某一门实验课的老师是哪一位时,就可以通过此项查询。由于现在大多数老师都不仅仅教授一门课程,所以有可能有多样的实验课,如老师既教数据库知识,又教操作系统,做实验时就既有操作系统实验课,又有数据库实验课,这时需要一个二级目录的查询,当先输入老师名字时,在后面就会用下拉表单列出老师实验课的信息,然后选择要查的实验课,电击“查询”按钮,才在底下显示具体信息,操作如图6。该操作的代码和老师的查询代码类似,只是在操作中有个下拉菜单的操作。由于要打开数据库,所以涉及数据库打开数据库代码如5.1.1节所叙述,此处不在重复。

图6  学生查询教师实验二级目录的实现

下拉菜单实现的代码如下:

Dim objReader As System.Data.SqlClient.SqlDataReader

        Session("True_name") = TextBox1.Text

      

        cmd.CommandText = "Select * from Tbooking_information"

        objReader = cmd.ExecuteReader()

        Do While objReader.Read()

            Dim sqlname As String = objReader.GetString(4).Trim()

            Dim sqlexper As String = objReader.GetString(3).Trim()

            If sqlname = TextBox1.Text Then

                exper.Items.Add("" & sqlexper + "")

            End If

        Loop

        TextBox2.Visible = False

            exper.Visible = True    

      1. 管理员管理主页面

管理员的这个页面主要有三个功能,一是添加房间信息,二是修改房间信息,三是删除学生和老师的预约信息。

(1)添加房间信息。在该页面,要输入实验室房间的详细信息,主要有房间号、实验室类别、总人数(总的计算机台数)、可用设备数(能够做实验的计算机台数)、都能够实现哪些项目的上机操作和备注,这一些必要的字段。此页面有三个按钮:一个是提交、一个是重填、一个是继续添加。提交就是把浏览器里输入的信息插入到数据库表格里,重填就是信息的清除,继续添加也是类似信息的清除。从操作过程知道此操作的代码段主要是信息的插入,所以在此不在列出此段代码。本资料来源于 http://www. bylw168 .com 毕业设计论文资料网

(2)修改房间信息界面主要是实现对实验室的信息单项修改。要先填写房间号,系统根据这个填写的信息继续做后面的操作,可以修改实验室类别、总人数、可用设备数(上机人数)、实验项目、备注等各项。页面如图7。

图7  房间修改信息界面

(3)删除预约信息。页面如图8。

图8  管理员删除界面

此操作是按分类操作的,分四类:一个删除房间信息,它又分删除一个房间信息和删除多个房间信息,当填写房间号或房间号的区间时,就可以执行此操作。二是删除房间的预约信息,可以删除一个房间或多个房间的预约信息。三是删除老师的预约信息,当输入老师姓名时就删除老师的预约信息。四是删除学生的预约信息,删除学生预约信息通常是一个班或一个专业的,所以主要是使用区间,删除一段学号的学生预约信息。当点击删除时,如果成功就会在后面显示删除成功。否则,就提示输入错误字段。在页面下面是简单的介绍如何操作删除功能的。

此页面有个‘继续操作’按钮,当点击它时,就会清空上面的填入信息,同时还有个链接按钮,用来返回到管理员的主界面。删除功能很简单,就是先打开数据库,用一条delete语句,删除相应的数据库表格里的某一列字段或整个字段,就可以完成此操作。代码如下:

Dim conn As New SqlConnection

        Dim cmd As New SqlCommand

        Dim ds As New DataSet

        conn.ConnectionString = "Data Source=localhost;Initial Catalog=Booking;Integrated Security=SSPI;Packet Size=4096;User ID=sa;Password=''"

        conn.Open()

        cmd.Connection = conn

        cmd.CommandText = "delete  from Lab_information where L_ID >='" & TextBox8.Text + "'and L_ID<='" & Textbox9.Text + "'"

        Label3.Text = "删除成功"

        cmd.ExecuteNonQuery()

        conn.Close()

    1. 预约页面的实现
    1. 学生预约页面

这个在学生的管理主页面上,如图5学生主页面。主要是向数据库里学生预约表格里填加一些学生预约信息。在输入框里输入学生要预约的房间号,授课教师的真实姓名,学生的学号,实验项目,执行此操作的时间,点提交就可以实现学生的预约。下面有三个按钮,一个是重填,一个是预约,一个是取消预约,当点取消预约时,系统会根据当前用户输入的信息(用户名或学号等)执行预约信息删除操作。

    1. 教师预约页面

教师预约的页面是一个单独的页面,在此页面上方同样是用户类别和用户标识,下面输入框是要预约所填写的必要信息字段,有预约实验室的房间号、上课的星期、课节、实验项目名称、教师真实姓名、完成实验项目的上课周次、预约信息的时间、教师授课的班级。星期和课节字段是两个下拉框的表格,通过下拉框选择是星期几,第几节课。代码也是插入数据的代码,在此不在重复代码段。页面如图9。

图9  教师预约界面

    1. 其它页面的实现
  1. 个人资料管理页面

此功能是学生、教师、管理员三者都需要实现的。所以他们实现的方式相同,管理资料的页面也相同。如管理员的个人资料管理页面如图10。

图10  管理员资料管理界面

密码框里要填入旧的密码,新密码和对新密码的确认,才能修改信息。邮箱和电话是当用户登录后就显示出来的,你可以根据自己信息对它们进行相关的修改,点修改按钮,进行此操作,无论成功与否都有提示,实现代码如下:

If pwd1.Text = Session("pwds") Then

            If pwd2.Text = pwd3.Text Then

                cmd.CommandText = "UPDATE Teacher_information SET T_pwd='" & pwd2.Text + "' where T_name='" & Session("names") + "'"

                Label1.Text = "修改成功"

            Else

                Label1.Text = "密码不一致"

            End If

        Else

            Label1.Text = "旧密码不正确"

        End If

  1. 退出系统功能的实现

此操作就是删除在登录记录的Session值,学生、教师、管理员的退出系统功能都是如此实现。把Session的值设置为空,返回到开始界面即可。代码简单明了,如管理员的代码如下:

Session("namea") = ""

        Session("pwda") = ""

        Response.Redirect("homepage.aspx")

    1. 主页面格调代码实现

主页面的格调主要是用HTML代码实现。它主要包括实现主题背景的颜色、图片的插入、各种表格属性的设计和嵌套、字体的对齐方式等各方面内容。

  1. 系统测试

经过几次的修改,实验室预约系统的设计终于得以完成,通过这段时间的努力,实验室预约系统完成了它的基本功能。在登录页面输入账户和密码选择身份后,单击“登录”按钮能够成功登录。在学生和老师管理页面里输入相应的查询信息,通过操作,能够清晰地显示查询结果。三者的管理页面通过输入要修改的自己信息,能够修改自己的信息。管理员的删除功能通过输入的房间和预约信息达到删除各种信息的功能。数据库表格内容设计的简单明了,能从中了解整个系统的数据库思路,并且各个模块的协调性比较融洽,相互制约。

结    论

通过一段时间的设计和编写,终于完成了实验室预约系统的设计。这个系统实现了学生和老师的注册功能;学生、老师和管理员三者的登录和资料管理功能;学生对教师实验的查询和对实验项目的查询功能;教师对实验室资料的查询、对实验项目的查询以及对实验预约情况的查询功能;管理员主要实现了对实验室资料的管理以及对教师和学生预约实验室情况的管理,可以删除、增加、修改实验室信息等。但是还存在许多问题,这主要是优化方面的问题。

(1)由于在研究本课题时,它被看成一个独立的系统。所以对用户的注册没有具体的限制(即是本校师生,还是校外的人),不过如果可以连接到教务处数据库,就可以通过一个数据库Select语句把它设置一下。

(2)冲突问题,当几个老师同一时间预约同一个课节上课时,就会发生冲突,这个问题,由于时间原因没有解决,可以通过一个退让算法来解决这个问题

(3)由于上课的周次填写是固定的,就不能活泛的利用实验室资源,这个如果要是在实际操作中要给予重点考虑。

(4)学生预约管理问题,当预约某一时间段的人过多时,可以由老师分配到别的时间段(在本次研究中就是这么考虑的。)但是如果要是在大学的网站,可以通过系统自动调整,既把超过某个实验室的学生调整到其他也做该实验的老师课节里。

参考文献

[1] 肖金秀,冯沃辉,陈少涌.ASP.NET程序设计教程[M].北京:冶金工业出版社,2003。

[2] 林锦雀.最新XML入门与应用[M].武汉:中国铁路出版社,2001。

[3] 吉根林,崔海源. ASP.NET程序设计教程[M].北京:电子工业出版社,2004.8。

[4] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2005.8。

[5] 李印清. Visual Basic.NET程序设计实用教程[M].北京:清华大学出版社,2006.5。

[6] 周洪政,陈斌. Dreamweaver MX网页制作全新教程[M].上海:上海科学普及出版社,2004.5。

[7] 普悠玛.ASP.NET程序设计示例导学[M].北京:北京科海电子出版社,2003.2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/80007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vector 模拟实现

前言 本文将会向您介绍如何模拟实现vector 引入 Vector是一种动态数组&#xff0c;也是C标准库中的容器之一。它提供了一种存储和操作一系列元素的方式&#xff0c;类似于数组&#xff0c;但具有更多的功能和灵活性。 Vector可以存储不同类型的元素&#xff0c;并且可以根据…

【ChatGPT原理与实战】4个维度讲透ChatGPT技术原理,揭开ChatGPT神秘技术黑盒!

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前学习C/C、算法、Python、Java等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&…

HarmonyOS开发:那些开发中常见的问题汇总(一)

前言 本来这篇文章需要讲述静态共享包如何实现远程依赖和上传以及关于静态共享包私服的搭建&#xff0c;非常遗憾的告诉大家&#xff0c;由于组织管理申请迟迟未通过&#xff0c;和部分文档官方权限暂未开放&#xff0c;关于这方面的讲解需要延后了&#xff0c;大概需要等到202…

哈工大校园网显示IP地址错误连接不上

您当前获取到的IP地址有误&#xff0c;请重新开关无线获取IP地址(注:电脑端还可以通过cmd窗口&#xff0c;输入ipconfig /release、ipconfig /renew命令)。如未解决此问题请联系网络安全和信息化办公室处理。 当校园网登录时会出现如上情况&#xff0c;并且当你按照他的方法尝试…

数据结构——图(图的存储及基本操作)

文章目录 前言一、邻接矩阵法&#xff08;顺序存储&#xff09;1.无向图存储邻接矩阵算法2.有向图存储邻接矩阵算法 二、邻接表法(图的链式存储结构)总结 前言 邻接矩阵法(图的顺序存储结构) 1.1 无向图邻接矩阵算法 1.2 有向图邻接矩阵算法邻接表法(图的一种链式存储结构) 一…

56、springboot ------ RESTful服务及RESTful接口设计

★ RESTful服务 RESTful服务是“前后端分离”架构中的主要功能&#xff1a; 后端应用对外暴露RESTful服务&#xff0c;前端应用则通过RESTful服务与后端应用交互。后端应用 RESTful接口 <------------------> 前端★ 基于JSON的RESTful服务 使用RestController注解…

vue项目部署,出现两个ip的原因

我宁愿靠自己的力量打开我的前途,而不愿求有力者的垂青。——雨果 tags: 篇首语&#xff1a;本文由小常识网(cha138.com)小编为大家整理&#xff0c;主要介绍了vue项目部署&#xff0c;出现两个ip的原因相关的知识&#xff0c;希望对你有一定的参考价值。 参考技术A 在部署v…

建站系列(五)--- 前端开发语言之HTML、CSS、JavaScript

目录 相关系列文章前言一、前端开发与后端开发二、前端语言简介&#xff08;一&#xff09;、HTML&#xff08;二&#xff09;、CSS&#xff08;三&#xff09;、JavaScript 三、学习指导&#xff08;一&#xff09;、开发环境&#xff08;二&#xff09;、第一个Hello&#xf…

央媒发稿不能改?媒体发布新闻稿有哪些注意点

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 “央媒发稿不能改”是媒体行业和新闻传播领域的普遍理解。央媒&#xff0c;即中央主要媒体&#xff0c;是权威性的新闻源&#xff0c;当这些媒体发布新闻稿或报道时&#xff0c;其他省、…

Pdf文件签名检查

如何检查pdf的签名 首先这里有一个已经签名的pdf文件&#xff0c;通过pdf软件可以看到文件的数字签名。 下面就是如何代码检查这里pdf文件的签名 1.引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId&g…

时序预测 | MATLAB实现ARMA自回归移动平均模型时间序列预测

时序预测 | MATLAB实现ARMA自回归移动平均模型时间序列预测 目录 时序预测 | MATLAB实现ARMA自回归移动平均模型时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现ARMA时间序列预测&#xff08;完整源码和数据&#xff09; 本程序基于MATLAB的armax函…

应用在电子体温计中的国产温度传感芯片

电子体温计由温度传感芯片&#xff0c;液晶显示器&#xff0c;纽扣电池&#xff0c;专用集成电路及其他电子元器件组成。能快速准确地测量人体体温&#xff0c;与传统的水银玻璃体温计相比&#xff0c;具有读数方便&#xff0c;测量时间短&#xff0c;测量精度高&#xff0c;能…

gma 2.0.1 (2023.09.15) 更新日志

安装 gma 2.0.1 pip install gma2.0.1修复 1、【栅格处理-栅格分解】   修复了由于关联模块调整导致类方法失效引起的函数功能异常的问题。 2、【栅格处理-栅格更新相关】   修复了自身数据更新相关的函数&#xff08;例如 添加颜色映射表 等&#xff09;格式检查不通过的…

【机器学习习题】估计一个模型在未见过的数据上的性能

您提到的不等式是统计学中的泛化误差界&#xff08;generalization error bound&#xff09;&#xff0c;它用于估计一个模型在未见过的数据上的性能。这个不等式是由Hoeffding不等式和Union Bound组合而成的。在这个不等式中&#xff0c;我们有以下符号&#xff1a; - P[|E_i…

什么是 Microsoft Office 365? Excel on Cloud 的好处

什么是Office 365 Office 365 是 Microsoft 的一套程序&#xff0c;可以在本地运行&#xff0c;也可以同步到云存储。 可以从访问程序。 借助 Office 365&#xff0c;您可以在任何地方进行工作&#xff0c;并与世界各地的同事共享工作文档。 Office 365 支持的设备&#xff1a…

SpringBoot+若依+图片导出

前言 本文基于若依框架&#xff0c;实现excel中图片导出功能。 自定义导出Excel数据注解 public enum ColumnType{NUMERIC(0), STRING(1), IMAGE(2);private final int value;ColumnType(int value){this.value value;}public int value(){return this.value;}} 工具类中设置…

初识 Linux 文件系统

初识 Linux 文件系统 如果是刚接触 Linux 系统&#xff0c;可能就很难搞清楚 Linux 如何引用文件和目录。对于对已经习惯 使用 Windows 操作系统的人来说&#xff0c;难度更大。所以要想学习 Linux 系统&#xff0c;就必须先了解 Linux 文件系统 文章目录 初识 Linux 文件系统…

【PHP图片托管】CFimagehost搭建私人图床 - 无需数据库支持

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

华为云云耀云服务器L实例评测|部署前后端分离项目

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 学习测评 ✨特色专栏&#xff1a; MyS…

澳洲硕士申请QA

Q&A 申请一般问题 澳洲申请时间 澳洲分2月跟7月开学&#xff0c;不分rolling。随时申请&#xff0c;截止日期前申请就行&#xff0c;&#xff08;具体时间官网有写&#xff09; 研究生学位时长 它整体的要求一般就是如果说你要申请的这个专业是本专业&#xff0c;那他…