(论文)学籍管理系统-论文最新优秀毕业论文资料搜集呕血奉献_第1页
(论文)学籍管理系统-论文最新优秀毕业论文资料搜集呕血奉献_第2页
(论文)学籍管理系统-论文最新优秀毕业论文资料搜集呕血奉献_第3页
(论文)学籍管理系统-论文最新优秀毕业论文资料搜集呕血奉献_第4页
(论文)学籍管理系统-论文最新优秀毕业论文资料搜集呕血奉献_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 I 摘摘 要要 在计算机技术快速发展的今天,internet 网络这个现代信息高速公路也流行 发展起来,已经成为人们生活、工作、学习越来越离不开的平台。基于.NET 技 术的应用大量出现。为了让用户浏览到美观的,个性化的页面和丰富的内容。 因此,基于 B/S 体系架构创建的这个学籍管理系统,紧跟行业发展,满足各大 高校学习、管理的需要。由于各大高校在进行学籍管理时,需要管理大量的学 生信息、教师信息以及课程信息等。传统的手动操作方式易发生数据丢失和统 计错误,劳动强度大,且速度慢。在计算机上可以高速、快捷地完成这些工作。 计算机联网后,数据在网上传递可以实现数据共享,避免重复劳动,规范教学 管理行为,从而可提高管理效率和水平。 关键词关键词:internet 网络 B/S 体系架构 学籍管理 Abstract II A Abstractbstract(外语专业的需要)(外语专业的需要) The rapid development in computer technology of today, internet network of the modern development of the information superhighway is also popular, and has become the peoples lives, work, learn more and can not be separated from the platform. Based on. NET technologies have emerged. In order to allow users to browse to the beautiful, personalized pages and a wealth of content. Therefore, based on the B / S architecture created by the school management system, keep up with industry developments, major colleges and universities to meet the learning needs of management. As a result of major colleges and universities during the school management, the need to manage information on a large number of students, teachers and curriculum information and other information. The traditional way of manual operation prone to data loss and statistical errors, labor-intensive and slow. High-speed computer, fast to complete the work. After the computer networking, data transfer can be achieved in the online data- sharing to avoid duplication of efforts to standardize the teaching management behavior, which can improve management efficiency and level. Keywords: internet network , B/S Architecture,School management 目 录 III 目目 录录 摘摘 要要I ABSTRACT(外语专业的需要)(外语专业的需要)II 目目 录录 III 第一章第一章 绪论绪论.1 1.1 引言1 1.2 背景1 1.2.1 B/S 结构相关开发技术简介.1 1.2.2 B/S 模型的优点.2 1.2.2 .NET 技术发展背景 2 第二章第二章 数据库理论基础数据库理论基础.4 2.1 数据库系统设计及范式分析.4 2.1.1 数据库系统设计4 2.1.1 数据库设计范式分析5 2.2 SQL 语言介绍.6 2.2.1 SQL 基础6 2.2.2 SQL 语句6 第三章第三章 系统设计系统设计.8 3.1 模块划分8 3.1.1 管理员模块8 3.1.2 学生模块8 3.1.3 公用模块8 3.2 操作流程8 3.3 页面设计8 3.3.1 用户登录.8 3.3.2 学生选课.8 3.3.3 管理教师信息9 3.3.4 管理学生信息9 3.3.5 管理班级信息9 3.3.6 管理课程信息9 3.3.7 管理学生选课10 3.3.8 修改密码和退出系统10 第四章第四章 数据库分析设计与实现数据库分析设计与实现.11 4.1 设计数据库11 4.1.1 数据表11 4.2 数据关系图11 第五章第五章 系统实现系统实现.13 5.1 配置数据库连接13 5.2 用户登录13 目 录 IV 5.3 修改密码15 5.4 学生选课页面16 5.5 学生查看课程详细信息19 5.6 添加教师信息20 5.7 教师信息管理21 5.8 添加学生信息25 5.9 管理学生信息26 5.10 班级添加31 5.11 班级管理页面32 5.12 课程管理32 5.13 管理学生选课33 5.14 学生选课添加34 第六章第六章 总结与展望总结与展望.35 致致 谢谢.36 参考文献参考文献.37 绪论 1 第一章第一章 绪论绪论 1.1 引言引言 建立一个基于 B/S 架构的学籍管理系统,实现信息网络化。通过较丰富的 功能将 .NET 技术特点体现出来。该系统可供包括管理员登录和学生登录使用。 登录者可以查询信息或者发布信息。系统中管理员模块为必不可少的模块项, 该模块主要包括 3 个模块:管理员模块、学生模块、公用模块。为了安全有效 地存储和管理登录网站的用户的信息,赋予管理员特定的权限,可以对用户进 行添加,删除,修改和学生的查询等。方便网站的管理与维护。 要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的 用户点击信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。 本文中数据库服务器端采用了 SQL Server 2005 作为后台数据库,结合 SQL 语句 处理对用户添加,删除,修改等操作,使.NET 与数据库紧密联系起来。 1.2 背景背景 1.2.1 B/S 结结构相关开构相关开发发技技术简术简介介 从 Web 数据库的发展过程来看,实现 B/S 结构下 Web 数据库的应用通常有 两种方法:一种是 Web 服务器端提供中间件连接 Web 服务器和数据库服务器; 一种是把应用程序下载到客户端直接访问数据库。其中第二种方法在程序的编 写、调试上显得较为繁琐,网络安全也较难保证。在第一种方法中较常用的中 间件技术有通用网关接口(CGI)和应用程序编程接口(API)两种,而 API 有 两种版本,ISAPI 和 NSAPI。CGI 的最大不足在于对每个访问都会在服务器端产 生一个应用程序副本,占用系统资源。API 以动态连接库的形式出现虽然克服了 CGI 的这一缺点,却带来了另一个问题,即当需要修改或更新服务程序时必须 重起系统,而这在许多事实性较强的应用服务器上是不允许的。同时,无论是 CGI 还是 API 它们共同的缺点是程序和 HTML 文本分离,编写和调试很不灵活。 第一种方法即是 Web 服务器端提供中间件连接 Web 服务器和数据库服务器。我 们常常称它为 Web 数据库系统,它实质上是一种动态网页技术与数据库系统的 结合。利用数据库系统来存储和管理不断变化的数据信息,并通过动态网页技 术实现利用 Web 页面来访问、存储数据和管理数据库。所谓的动态,主要是具 有以下几个方面的特点:交互性:即网页会根据用户的需求和选择而动态改变 和响应;自动更新:不需要手动更新 HTML 文档,就会自动生成新的页面,可 以大大节省工作量;自动适应性:即当不同的时间、不同的人访问同一网址时 会产生不同的页面。现在,主流的 B/S 结构下的动态网页技术有 JSP,PHP,ASP 等。它们都可以提供 Web 数据库开发的全套解决方案下面将会 对这三种技术进行一个简要的介绍,并比较各自的优点和缺点。 xxxxxxxx 毕业设计论文 2 1.2.2 B/S 模型的模型的优优点点 几乎没有限制的客户端访问和极其简单化的应用程序部署和管理是 B/S 模 型的优势所在。它和 C/S 模型比较优点极为突出。 两层技术模型(Two-Tier Architecture)是指客户机直接与服务器交流,没 有其他服务介入的技术模型。对用户量在 12100 的局域网环境中,两层模型 的确是个不错的方案。由于该模型中,所有的用户连接都是被保持的,也就是 说即使在空闲状态,连接依然存在。所以,用户的并发请求数量有限的。为了 解决这个限制,使得成千上万的用户可以被无顾虑地添加,我们最好选用三层 模型。 B/S 结构,即 Browser/Server(浏览器/服务器)结构,是随着 Internet 技 术的兴起,对 C/S 结构的一种变化或者说是改进的结构。用户界面完全通过浏 览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现, 形成三层结构,是一种全新的软件系统构造技术。B/S 模型结构图如下所示: 图 1-1 B/S 模型图 从上图可见 这种结构的一个重要的特点是,用户可以完全不需要安装客 户端软件,当然也不需要担心任何软件升级和不兼容等任何客户端所遇到的问 题。 相比之下,B/S 模型的优点显而易见,更适合这个网站的构建,有利于网站 的维护和扩充。 1.2.2 .NET 技技术发术发展背景展背景 随着网络经济时代的到来,网络用户希望能够在任何时候、任何地方、利 用任何工具都可以获得网络上所需的信息、文件和程序,并享受网络通信所带 来的快乐。用户不需要知道这些文件放在什么地方,只需要发出请求,然后进 行接收就可以了;而所有后台的复杂性是完全屏蔽起来的。微软公司就是为了 这个目标而设立了.NET 战略。 绪论 3 微软公司公开宣布,今后将着重于网络服务和网络资源共享的开发工作, 并将为公众提供更加丰富,有用的网络资源与服务。微软公司新一代平台的正 式名称为“新一代 Windows 服务” (NGWS) ,并给这个平台注册了正式的商标 Microsoft.NET。 .NET 作为新一代互联软件和服务战略,将使现有微软的软件在网络时代不 仅用于传统的个人计算机,而且能够满足呈快速增长的新设备的需要。到底什 么是.NET?微软公司总裁兼首席执行官 Steve Ballmer 把它定义为:.NET 代表一 个集合、一个环境、一个可以作为平台支持下一代 Internet 的可编程结构。微软 公司官方定义为:Microsoft.NET 是 Microsoft XML Web Services 平台。.NET 方 法可以使编写能够在任意时间、任意地点和任意设备上安全地彼此连接和互操 作的系统变得非常简单。实现这一目标的核心技术是 XML Web Service,这项技 术允许应用程序通过 Internet 进行通信和共享数据,而不管所采用的是哪种操作 系统。设备或编程语言。从开发人员的角度看,.NET 使用 Microsoft Visual Studio.NET、NET Framework 以及 XML Web Service 编写彼此连接的系统变得 非常简单。 xxxxxxxx 毕业设计论文 4 第二章第二章 数据库理论基础数据库理论基础 2.1 数据数据库库系系统设计统设计及范式分析及范式分析 信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须 存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个 系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发 工作好坏的主要指标之一。 2.1.1 数据数据库库系系统设计统设计 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组 系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部 门的存档数据和数据需求,分析各个数据之间的关系,按照 DBMS 提供的功能 和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、 能满足多种查询要求的数据模型。数据库设计的步骤是: (1) 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机 事务处理 CLTP(负责对事务数据进行采集、处理、存储)的操作型 DBMS,有 的可支持数据仓库、有联机分析处理 CLAP(指为支持决策的制定对数据的一种 加工操作)功能的大型 DBMS,有的数据库是关系型的、有的可支持面向对象 数据库。针对选择的 DBMS,进行数据库结构定义。 (2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻 辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、 可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使 效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数 据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或 临时数据表。 (3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设 备等,备份方案,对多版本如何保证一致性和数据的完整性。 (4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用 权限,确保数据安全。 (5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。 为了更好地组织数据和设计出实际应用数据库,应该注意如下问题: 规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。 关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整 体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成, 只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结 构中,一个规范化数据库系统结构就建立起来了。 数据库理论基础 5 2.1.1 数据数据库设计库设计范式分析范式分析 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一 环。一个良好的数据指标体系是建立 DB 的必要条件,但不是充分条件。我们完 全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而 这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接 按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还 必须进行规范化的重新组织。 在数据的规范化表达中,一般将一组相互关联的 数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元 素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基 本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数 据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规 范化理论中表是二维的。在对表的形式进行了规范化定义后,数据结构还有五 种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前 三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范 式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满 足第一、二、三范式,依此类推。 第一范式(first normal form,简称 1st NF)就是指在同一表中没有重复项出现, 如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本 文所讨论的开发方法里,1st NF 实际上是没有什么意义的。因为我们按规范化 建立的指标体系和表的过程都自动保证了所有表都满足 1st NF。 第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅 一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。例 如,在图 l9.7 中如果我们将合同号定义为主关键字(其它数据元素中的记录数据 都有可能重名,故不能作为主关键字),故只要知道了一个合同记录的合同号, 就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种关 系为函数依赖(functional depEndence)关系。即表中其它数据元素都依赖于主关键 字,或称该数据元素唯一地被主关键字所标识。 第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但 要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它 的函数关系。也就是说对于一个满足了 2nd NF 的数据结构来说,表中有可能存 在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。 为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象, 关系型数据库要尽量按关系规范化要求进行数据库设计。 xxxxxxxx 毕业设计论文 6 2.2 SQL 语语言介言介绍绍 2.2.1 SQL 基基础础 SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语 言。SQL 通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL 是 关系数据库管理系统的标准语言。SQL 语句通常用于完成一些数据库的操作任 务,比如在数据库中更新数据,或者从数据库中检索数据。使用 SQL 的常见关 系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres 等等。虽然绝大多数的数据库系统使用 SQL,但是它们同样有它们自立另外的 专有扩展功能用于它们的系统。但是,标准的 SQL 命令,比如 “Select“、 “Insert“、 “Update“、 “Delete“、 “Create“和 “Drop“常常被用于完成绝 大多数数据库的操作。MS SQL Server 就是用的 Transact- SQL。 SQL 语言有着非常突出的优点,主要是: 非过程化语言:SQL 是一个非过程化的语言,因为它一次处理一个记录, 对数据提供自动导航。SQL 允许用户在高层的数据结构上工作,而不对单个记 录进行操作,可操作记录集,所有 SQL 语句接受集合作为输入,返回集合作为 输出。SQL 的集合特性允许一条 SQL 语句的结果作为另一条 SQL 语句的输入。 SQL 不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得 到的结果;所有 SQL 语句使用查询优化器,它是 RDBMS 的一部分,由它决定 对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使 用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。 统一的语言:SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数 据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。 SQL 为许多任务提供了命令,其中包括: 查询数据,在表中插入、修改和删除 记录, 建立、修改和删除数据对象, 控制对数据和数据对象的存取, 保证数据 库一致性和完整性。以前的数据库管理系统为上述各类操作提供单独的语言, 而 SQL 将全部任务统一在一种语言中。 所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持 SQL 语言,用户可将使用 SQL 的技能从一个 RDBMS(关系数据库管理系统)转 到另一个,所有用 SQL 编写的程序都是可以移植的。 2.2.2 SQL 语语句句 SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且 用于数据库中的数据修改和更新,概括起来,它可以分成以下几组: (1)DML(Data Manipulation Language,数据操作语言):用于检索或者修 改数据; (2)DDL(Data Definition Language,数据定义语言): 用于定义数据的结 数据库理论基础 7 构,比如 创建、修改或者删除数据库对象; (3)DCL(Data Control Language,数据控制语言):用于定义数据库用户 的权限。 (4)DML 组可以细分为以下的几个语句:包括数据查询与数据更新。数据查 询主要是由 Select 语句完成,这一点不再赘述。而数据更新所造成的风险大大超过数据 查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进 入数据库,数据库必须保持一致性,DBMS 还必须协调多用户的并行更新,以确保用户 和它们的更改不至于影响其它用户的作业。用于修改数据库内容的 SQL 语句主要有以 下三个: Insert,向一个表中加入新的数据行 Delete,从一个表中删除数据行 Update,更改数据库中已经存在的数据 (5)DDL 语句可以用于创建用户和重建数据库对象。下面是 DDL 命令: CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP I NDEX xxxxxxxx 毕业设计论文 8 第三章第三章 系统设计系统设计 3.1 模模块块划分划分 学籍管理系统可实现学籍管理的所有基本功能,根据系统用户的不同,可 以划分为 3 个模块:管理员模块、学生模块和公用模块。下面介绍各个模块的 基本功能。 3.1.1 管理管理员员模模块块 该模块是本系统的核心模块,其中包括 5 个子模块,分别是学生信息管理、 教师信息管理、班级信息管理、课程信息管理、学生选课信息管理。 a.学生信息管理子模块:实现对学生信息的添加、修改、删除操作,还 可输入查询条件对学生信息进行查询。 b.教师信息管理子模块:实现对教师信息的添加、修改、删除、查询操 作。 c.班级信息管理子模块:实现对班级信息的添加、修改、删除、查询操 作。 d.课程信息管理子模块:实现对课程信息的添加,在添加时为该课程分 配任课教师、上课时间和地点,并实现对课程的修改、删除和查看。 e.学生选课信息管理子模块:实现对学生选课情况的查看,以及对学生 选课记录的增加、修改、删除操作。 3.1.2 学生模学生模块块 实现学生选课功能,查看已选课程,退选某们课程。 3.1.3 公用模公用模块块 实现管理员用户和学生用户的身份验证、密码修改、退出系统等功能。 3.2 操作流程操作流程 用户登录系统后首先进入用户登录界面,可以选择自己的用户角色,如以 管理员用户权限进入。输入管理员用户名和密码后进入系统的欢迎界面,利用 系统左侧的导航栏可实现不同管理页面的切换。对信息进行增加、删除、修改 和查看操作后,单击“退出系统”超链接实现退出系统。 3.3 页页面面设计设计 3.3.1 用用户户登登录录 在进入学籍管理系统之前,需要经过登录页面。在此页面中用户首先选择 自己的用户类型,然后输入用户名和密码进行登录验证。 3.3.2 学生学生选课选课 学生利用自己的用户名和密码登录之后,就可以进行选课以及查看自己的 选课信息,或者对已选修课程进行退选。在这个页面中,上面的“可选修课程” 系统设计 9 表中列出了学生可以选修的课程,下面的“您已经选修的课程”表中列出了学 生已经选修的课程。 在学生选课页面中,学生可以选修课程,通过单击每门课程行中的选修超 链接来实现。 当选修了一门课程后,该门课程将在该学生已选修的课程表中出现。以选 修 C 语言这门课程为例,单击“C 语言”超链接后,效果如下图所示。 学生也可以退选课程,通过单击每门课程行中“退选”超链接来实现。如 果单击“您已经选修的课程”表中的退选超链接,此门课程将不在“您已经选 修的课程”表中列出,同时在“可选修课程”表中列出该门课程。如要退选 C 语言这门课程,单击“退选”超链接。 学生在选修一门课程时可以通过单击“详细”超链接查看课程的详细信息, 如单击计算机基础课程的“详细”超链接后,显示如图所示。单击“返回”按 钮将返回到选课页面。 通过单击页面右侧导航栏中的“修改密码”超链接,学生可以修改登录密 码,而单击“退出系统”超链接,可以退出系统。 3.3.3 管理教管理教师师信息信息 管理员可以对教师信息、学生信息、班级信息、课程信息和学生选课信息 进行增加删除修改和查询。 3.3.4 管理学生信息管理学生信息 管理员对学生的管理包括对学生信息的添加、修改、删除和查询等操作。 3.3.5 管理班管理班级级信息信息 管理员对班级的管理包括增加班级、删除班级、修改班级信息、输入条件 查询班级等。 在页面左侧的导航栏中单击“班级维护”超链接,可以进入班级信息维护 页面。 3.3.6 管理管理课课程信息程信息 管理员通过对课程的管理,可以实现让学生选课,为每门课程安排上课时 间、上课地点和授课教师等。 在页面左侧的导航栏中单击“课程维护”超链接,进入课程维护页面。在 课程信息维护页面中,管理员可以添加课程。在添加课程时,每门课程对应一 个编号,单独一门课程可以由多个教师授课。在【授课教师】下拉列表框中选 择授课的教师,并设置上课的时间和地点,单击【添加】在按钮完成添加课程 的操作。 可以通过表中的“编辑”和“删除”超链接进行修改和删除。 xxxxxxxx 毕业设计论文 10 在页面中通过单击“详细”超链接,可以查看该门课程的详细信息。如单 击计算机基础的“详细”超链接,可在详细页面中显示该课程的详细信息。 3.3.7 管理学生管理学生选课选课 管理员可以管理学生的选课信息,如删除和更改学生的选课记录,为学生 增加一条选课记录,以及查看学生选课的情况。 在页面左侧的导航栏中单击“选课管理”超链接,进入学生选课管理页面。 在学生选课管理页面中,在【课程名称】和【教师姓名】下拉列表框中选 择要查询的课程和授课教师后,将自动列出学生对于该门课程和该教师的选课 情况。 单击表中的“编辑”超链接,可以对学生选课信息进行更改。 在选课信息更改页面中,可以更改学生所选的课程和授课教师,并可添加 学生的选课成绩。 在页面左侧的导航栏中单击“增加选课”超链接,进入增加学生选课页面。 输入学生学号,并选择学修的的课程名称和教师名称,单击【添加】按钮 即可完成添加。添加完成后,系统显示提示“成功添加学生选课信息” 。 3.3.8 修改密修改密码码和退出系和退出系统统 修改密码和退出系统是系统的公用模块,学生和管理员都可以使用该功能 进行密码修改和退出系统,在每个用户的操作页面中均有相应的超链接到此页 面。 用户需要输入旧密码、新密码并对新密码确认,当用户输入旧密码有误时 会显示警告信息“您输入的密码错误,检查后重新输入” ,提示用户必须输入正 确的旧密码之后才能修改密码。 单击用户操作页面左侧导航栏中的“退出系统”超链接,会显示退出系统 的提示,单击【是】按钮后即可退出系统。 数据库分析设计与实现 11 第四章第四章 数据库分析设计与实现数据库分析设计与实现 4.1 设计设计数据数据库库 本系统所使用的数据库的名称是 Student,其中包括 11 个数据表,下面介绍 每个表的功能。 4.1.1 数据表数据表 a.AdminTable 表:存放管理员信息,包括管理员用户的用户名和密码。 b.SchoolTable 表:存放学院信息,包括学员编号和学院名称。 c.DepartTable 表:存放系别信息,包括系别编号、系别名称以及上级学 院编号。 d.SpecialtyTable 表:存放专业信息,包括专业编号、专业名称以及上级 系别编号。 e.GradeTable 表:存放年级信息,包括年级编号、年级名称。 f.ClassTable 表:存放班级信息,包括班级编号、班级名称、上级专业 编号以及年级编号。 g.StudentTable 表:存放学生的基本信息,如学号、姓名、班级、联系 电话等。 h.StudentDuty 表:存放学生职务信息,包括职务编号和职务名称。 i.TeacherTable 表:存放教师信息,包括教师编号、教师名称和教师所 属学院编号。 j.CourseTable 表:存放课程信息,包括课程编号、课程名称、任课教 师、上课地点、上课时间等信息。 k.ElectCourseTable 表:存放学生选课信息,如学生学号和所选课程编 号等。 4.2 数据关系数据关系图图 为了保证数据的完整性和有效性,可以为数据库中的所有表添加外键约束。 设置外键关系对复制、插入、更新的强制关系,而且可级联更新和删除相关字 段,外键设置如下图所示: xxxxxxxx 毕业设计论文 12 图 1-2 主外键关系图 系统实现 13 第五章第五章 系统实现系统实现 5.1 配置数据配置数据库连库连接接 在 Web.config 文件中指定数据库连接字符串的配置信息。在 Web.config 文 件中添加如下代码: 在 Web.config 文件中添加以上的代码之后,在需要数据库连接字符串的地 方用如下的代码替换,表示使用的是 Web.config 文件中配置的数据库连接字符 串信息。 ConfigurationManager.ConnectionStrings“ConnectionString”.ConnectionString 5.2 用用户户登登录录 本节参考文件 StudentControl/Login.aspx 用户登录页面 Login.aspx 的主要功能是根据用户选择的身份对用户输入的 用户名和密码的合法性进行验证,如果不合法,则提示用户重新登录,如果合 法,则进入相应的的操作页面。 参考代码如下(每行前面的数字为代码行号,不是代码内容) 。 protected void btnSubmit_Click(object sender, EventArgs e) string userName = txtName.Text.ToString().Trim(); string userPwd = txtPwd.Text.ToString().Trim(); string userrole = radRole.SelectedValue.Trim(); string sql = “; switch (userrole) case “0“: sql = “select * from StudentTable where StudentID = “ + userName + “; break; case “1“: sql = “select * from AdminTable where AdminName = “ + userName + “; break; SqlConnection conn = new SqlConnection(DBconn.GetConnString(); /conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); / SqlDataReader dr = cmd.ExecuteReader(); try conn.Open(); xxxxxxxx 毕业设计论文 14 SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() if (sdr.GetString(0) = userPwd) Session“UserRole“ = userrole; switch (userrole) case “0“: Session“StudentID“ = userName; Session“AdminName“ = “; Response.Redirect(“StudentCourseElect.aspx“); break; case “1“: Session“StudentID“ = “; Session“AdminName“ = userName; Response.Redirect(“WelcomeTeacher.aspx“); break; else lblMess.Text = “您输入的密码错误,请检查后重新输入! !“; else lblMess.Text = “该用户不存在或用户名错误,请检查后重新输 入!“; catch (Exception ee) Response.Write(“alert(“ + ee.Message.ToString() + “)“); finally conn.Close(); 第 46 行接收用户输入的参数,包括用户名、密码、和用户登录角色。 第 816 行根据用户的身份设置不同的 SQL 查询语句。 第 1721 行创建连接数据库的对象即 SqlConnection 对象和操作数据库对象 即 SqlCommand 对象,并打开数据库连接。 第 22 行进行 查询操作,并生成一个 DataReader 对象。 系统实现 15 第 2352 行判断是否查询到记录,并且密码是否正确。如果正确,则用 Session 对象记录用户名和身份,并根据不同的身份跳转到不同的页面,否则给 出错误信息。 第 5356 行尾系统出错处理。 第 59 行尾关闭数据库连接。 5.3 修改密修改密码码 【正文部分】 本节参考文件 StudentControl/ModifyPwd.aspx 用户修改密码 ModifyPwd.aspx 页面的主要功能是实现用户对个人密码的修 改操作,是一个公用模块。 参考代码如下: protected void btnSubmit_Click(object sender, EventArgs e) string StudentID = Session“StudentID“.ToString(); string AdminName = Session“AdminName“.ToString(); string oldPwd = txtOldPwd.Text.Trim(); string newPwd = txtNewPwd.Text.Trim(); string selectStr = “; string updateStr = “; switch(Session“UserRole“.ToString() case “0“: selectStr = “select * from StudentTable where StudentID = “+StudentID +“ and StudentPassword = “+oldPwd+“; updateStr = “update StudentTable set StudentPassword = “+newPwd+“ where StudentID =“+StudentID+“; break; case “1“: selectStr = “select * from AdminTable where AdminName = “ + AdminName + “ and AdminPassword = “ + oldPwd + “; updateStr = “update AdminTable set AdminPassword = “ + newPwd + “ where AdminName =“ + AdminName + “; break; SqlConnection conn = new SqlConnection(“Data Source =.;Initial Catalog = Student;Integrated Security=True“); /conn.Open(); SqlCommand selectCmd = new SqlCommand(selectStr,conn); try conn.Open(); SqlDataReader dr = selectCmd.ExecuteReader(); if(dr.Read() xxxxxxxx 毕业设计论文 16 dr.Close(); SqlCommand updateCmd = new SqlCommand(updateStr,conn); int i = updateCmd.ExecuteNonQuery(); if(i0) Response.Write(“成功修改密码!“); else Response.Write(“密码修改失败!“); else Response.Write(“您输入的密码错误,检查后请重新输入! !“); catch(Exception ee) Response.Write(“系统出错,错误原因:“ + ee.Message.ToString(); finally conn.Close(); 5.4 学生学生选课页选课页面面 本节参考文件 StudentControl/StudentCourseElect.aspx 本页面采用 Gridview 和 SqlDataSource 来实现显示信息的功能,并根据用户 激活的 Gridview 控件中的命令按钮事件来完成数据库的操作。 在此页面中显示 Content-Contentl 控件是因为在新建该页面的时候选择了使 用母版页 当登录用户进行选修课程是,通过单击“选修”超链接触发 Gridview1 控件 的 RowCommand 事件,完成选修课程的操作。Gridview1_RowCommand 事件的 详细代码如下: protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = “select“) int index = Convert.ToInt32(e.CommandArgument); DataKey key = GridView1.DataKeysindex; string CourseTeacherID = GridView1.DataKeysindex.Values0.ToString().Trim(); 系统实现 17 string CourseID = GridView1.DataKeysindex.Values1.ToString().Trim(); string TeacherID = GridView1.DataKeysindex.Values2.ToString().Trim(); string connStr = ConfigurationManager.ConnectionStrings“ConnectionString“.ConnectionString; SqlConnection conn = new SqlConnection(DBconn.GetConnString(); string SqlExist = “select ElectCourseTable.StudentID,ElectCourseTable.CourseTeacherID,CourseTable.Course ID from ElectCourseTable inner join CourseTable on ElectCourseTable.CourseTeacherID = CourseTable.CourseTeacherID where CourseTable.CourseID = “ + CourseID + “ and StudentID =“ + Session“StudentID“ + “; string Sqlinsert = “insert into ElectCourseTable(StudentID,CourseTeacherID) values(“+Session“StudentID“+“,“+CourseTeacherID+“)“; SqlCommand cmdSqlExist = new SqlCommand(SqlExist,conn); try if (conn.State.ToString() = “Closed“) conn.Open(); SqlDataReader sdrSqlExist = cmdSqlExist.ExecuteReader(); if (sdrSqlExist.Read() Response.Write(“alert(您已经选择了该门课程,该 门课程由不同教师教授,如果想选择该老师的此门课程,请退去其他老师教授 的同名课程);“); sdrSqlExist.Close(); else sdrSqlExist.Close(); if (conn.State.ToString() = “Closed“) conn.Open(); SqlCommand cmdinsert = new SqlCommand(Sqlinsert, conn); cmdinsert.ExecuteNonQuery(); cmdinsert.Dispose(); if (conn.State.ToString() = “Open“) conn.Close(); catch (Exception ex) Response.Write(“数据错误,错误原因:“ + ex.Message); Response.End(); xxxxxxxx 毕业设计论文 18 finally if (conn.State.ToString() = “Open“) conn.Close(); GridView1.DataBind(); GridView2.DataBind(); 当用户单击“退选”超链接时,将触发已选修课程 Gridview2 控件的 RowCommand 事件,完成退选课程的操作。GridView2_RowCommand 事件的详 细代码如下: protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e) if (e.CommandName = “shanchu“) int index = Convert.ToInt32(e.CommandArgument); D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论