




免费预览已结束,剩余23页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SQL server数据库的学籍管理系统的开发与设计* * *摘要:本论文是从学校教育事业管理中的学籍管理现状出发,针对学籍管理的各种事项,经过详细的系统调查,开发出一个操作简单而且方便实用的学生学籍管理系统,它的开发建立主要是实现学生学籍管理的规范化、自动化。本系统的前端开发工具是delphi 7.0,后台数据库引擎选用数据库软件Microsoft SQL Server 2000。本系统经过测试,运行稳定,已得到认可。关键词: 学生学籍管理系统;delphi 7.0;Microsoft SQL Server 2000Based on the SQL server database management system for school development and design* * *ABSTRACT :This thesis is the cause of management education in the status of the school management, school management for a wide range of matters, after careful investigation system, the development of a simple and convenient and practical student enrollment management system, which is the establishment of the development to achieve school students standardizing the management of automation. The systems front-end development tool is delphi 7.0, background database engine selection database software Microsoft SQL Server 2000. After testing the system, operation, and has already been approved.Keywords : Student Information Management System;delphi 7.0;Microsoft SQL Server 20001、 学生学籍管理系统研究概述1.1 课题背景 随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展.学生管理正在逐步迈向管理信息现代化.但是,我国的学生学籍管理信息化水平还处在初级阶段,主要表现在对学生的学籍档案管理还是采用原有的人工管理方式.这就造成了工作效率低、误差大,也造成了人力、物力、财力资源的浪费;与此同时,学校是培养国家栋梁之材的场所,无论在教育,还是在管理上都应走在最前列,而其中管理又是学校运转良好的关键。如何提高管理,是当前学校管理者所面临的重要课题。1.2 课题来源在这种背景下,利用计算机实现学校学生学籍的管理势在必行。对于大中型学校来说,利用计算机支持教育事业高效率地完成学生学籍的管理,是适应现代教育事业制度的要求、推动学校教育管理走向科学化、规范化的必要条件;而学籍管理是一项琐碎、复杂而又十分细致的工作,对学生数据的处理工作量特别大,而且还很容易出错。如果实行手工操作,每个学生的相关信息须手工记载并进行处理,这就会耗费教务人员大量的时间和精力,用计算机进行管理学生学籍,不仅能够快速输出,而且还大大地提高教务人员的工作效率和管理水平。并能进一步提高学校的工作效率并使学校实施规范化管理。 同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好等。这些优点是教育事业的科学化、正规化管理,与世界接轨的重要条件。1.3 目的及意义 毕业设计是大学学习的总结,同时也是自己综合运用所学知识解决实际问题的一次锻炼。学籍管理系统最主要的目的是为了方便学校对学生的信息数据的进行录入、修改、查询,提高学校的工作效率。这一系统的开发成功,解决了手写速度慢、容易出错的现状、帮助学校最迅速最准确的完成所需的工作。无论是在适用性、灵活性和易操作性方面都显示出了它的强大功能。 1.4 系统简介学籍管理系统是学校对学生数据管理信息化需要而开发的管理软件。根据学校对学生的管理要求,实现学生基本信息资料管理、奖罚信息管理、教育经历信息管理、学籍变动管理和班级管理等几个方面的功能。教务员或管理员方可对学生的基本信息资料、奖罚信息、教育经历和学籍变动进行添加、删除、修改和查询等操作,查询结果可生成相应的统计数据及各类统计报表。本系统力求给学校各教务人员提供方便快捷的途径去管理这些繁琐的信息数据。1.5系统的界面特点界面简洁, 操作过程方便紧凑, 可视化程度高, 保障工作的高效率是本系统功能界面设计的宗旨, 同时严格遵循用户界面统一化、功能设计合理化、系统结构化和具有可扩充性的原则以及系统人机界面设计化。而人机界面设计化一般遵循以下一些基本原则:(1)以通信功能作为界面设计的核心人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式;另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。(2)界面必须始终一致统一的人一机界面不至于增加用户的负担,让用户始终用一种方式思考与操作。(3)界面友好、使用方便多数信息管理软件的数据输入量较大,对于一些固定的数据,不应让用户频频输入,而应让用户用鼠标轻松选择,将数据输入量降至最低限度,并减少用户的千预量。(4)输入画面尽可能接近实际。 (5)具有较强的容错功能2、 开发工具2.1 Delphi2.1.1 Delphi简介1由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,将会发现编程不再是枯燥无味的工作Delphi的每一个设计细节,都将会是一份欣喜。 2Delphi是Borland公司开发的可视化软件开发系统,可在Windows3.x、Windows95、WindowsNT、WindowsXP等环境下使用。当前,DELPHI 也可以为LINUX平台上开发应用,其在LINUX上的对应产品Kylix。 DELPHI 拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统;也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。2.1.2 Delphi的基本特点 本系统采用Borland Delphi7作为开发工具,Delphi具有如下特点:(1) Delphi是一个可视化、快速的应用程序开发工具,它具有高效优化的源代 码编译器。(2) Delphi的object pascal是一种面向对象的结构化的编程语言。(3) Delphi具有完善的异常处理机制,可自动处理各种异常。(4) Delphi具有功能强大,使用方便的数据库支持能力,可以支持多种数据库, 如paradox、acess、oracle、SQLserve、syhaseles。(5) Delphi具有操作系统无关性,在windows 95/98环境下开发的Delphi应用程序可以直接在windows NT环境下运行。(6) Delphi全面支持windows95/98及windows NOLE,activeX,muti-thredd,MAPI及unicode等功能。(7) Delphi具有强大的Internet开发功能,为网络应用程序开发提供了大量组 件。2.1.3 Delphi的文件类型 3用Delphi进行应用程序开发时,经常使用的三种文件类型有:项目文件,后缀为“.dpr”;单元文件,后缀为 “.pas”; 窗体文件,后缀为 “.dfm”。(1) 项目文件 一个Delphi应用程序一定有一个项目文件,它用于记录和管理该项目中所有的文件,其中最主要的是窗体文件和单元文件。项目文件是一个可运行的文件,也称为应用程序文件。(2) 窗体文件 窗体是Delphi项目的可视部分,当保存窗体单元时, Delphi提示用户为窗体单元输入一个文件名,这个文件叫做窗体文件。(3) 单元文件 单元文件是一个Object Pascal源程序代码文件,可以在程序代码编辑器中进行编辑和修改。2.1.4 Delphi开发程序的过程4开发一个Delphi应用程序的过程可分为如下六步:(1) 画界面:即在窗体中放置各种控件,并适当调整它们的位置及大小,以满足自己应用程序的需要。(2) 设置各控件的属性。(3) 设置针对这些控件的事件处理程序:首先要决定窗体及控件将识别什么样的 事件,然后编写事件处理代码以设置程序对这些事件的反应。 (4) 执行及调试应用程序。(5) 保存应用程序。(6) 建立可独立运行的.exe文件。2.2 数据库平台介绍 2.2.1 SQL SERVER 数据库简介 数据库技术发展至今已有30多年的历史,数据库技术日趋成熟,应用也越来越广泛,出现了许多商品化的数据库管理系统,如DB2,Informix,Oracle,SQL Server 及Sybase等。其中SQL Server 也经历了一个从产生到发展的过程,今天Microsoft SQL Server 2000 是在成熟和强大的关系型数据库中最受欢迎、应用最广泛的一个。 Microsoft SQL Server 2000 是Microsoft 公司继SQL Server 6.5和SQL Server 7.0以后,在新千年推出的又一改进的新版关系型数据管理系统。它能使用户快捷地管理数据库和开发应用程序。SQL Server 2000 使用了了先进的数据库结构,与Windows DNA紧密集成,具有强大的Web 功能,它可以利用高端硬件平台以及最新网络和存储技术,可以为最大的Web站点和企业应用提供优良的扩展性和可靠性,使用户能够在Internet 领域快速建立服务系统,为占领市场赢得宝贵的时间。同时,SQL Server 2000 还为用户提供了重要的安全性功能的增强,为用户的数据安全提供了可靠的保证。另外,SQL Server 2000还为用户提供了重要的安全性功能的增强,为用户的数据安全提供了可靠的保证。另外,SQL Server 2000 在数据库服务器自动管理技术方面处于数据库领域的领先地位,它可以使用户免去繁琐复杂的工作量,从而有精力处理更重要的问题,使用系统在商业战略上占得先机。 关系型数据库系统是当前最流行的数据库软件系统。它是一个非常复杂的软件系统,对数据库的所有操作,包括定义、查询、更新和各种运行控制最终都通过它来实现的,因它是使数据库系统具有资料共享、并发访问、资料独立等特性的根本保证。 就关系数据库管理系统(RDBMS)而言,它是位于用与操作系统之间的一层数据管理软件,它主要负责强化数据库的结构,简单来说包括如下功能: 1、 维持数据库中资料的关系。 2、 保障资料的正确存储,即保障定义资料之间的关系的种种规则不会被违背。 3、 在系统出错时,把资料恢复到一个能保证一致性的状态。 2.2.2 SQL SERVER 数据库系统特点 5SQL Server 2000 系统之间之所以成为目前流行的大型商用数据库系统,有着其深刻的内在因素,这与它鲜明的特点是分不开的: (1)与Internet 的高度集成 SQL Server 2000与其它Microsoft Back Office 产品紧密集成,在安全、事件浏览、Windows NT 服务程序、性能监视器、多处理器支持、索引服务器等方面充分利用了它们的长处,形成了自己独特的优势。(2)可伸缩性和可用性同一个SQL Server 2000数据库引擎可以同时在Windows 2000 Professional、Windows 2000 Server和Windows ME上运行。还可以在Windows NT4.0版以上的所有版本上运行。此数据库的引擎是一个功能强大的服务器,可管理上千用户访问数据库。同时,当默认设置运行时,SQL Server 2000还具有动态自调节等功能,这使得它可以有效地运行在便携式电脑和台式机中,用户无需承担管理任务。(3)易于安装SQL Server 2000包含了一等系列管理和开发工具,这些工具可以改进在多个站点的安装、部署、管理和使用SQL Server的过程。SQL Server 2000还支持基于标准的、与windows DNA集成的程序设计模型,使SQL Server数据库和数据库的使用成为强大的可伸缩系统。这些功能使应用程序开发者可以快速交付SQL Server应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。(4)企业级数据功能SQL Server 2000关系数据库引擎支持当今比较苛刻的数据处理环境所需的功能。数据库引擎在充分保证数据完整性的同时,将管理上千个并发修改数据用户的开销减少到最小。(5)数据仓库SQL Server 2000中的分析服务(OLAP)可以满足用户所有的商业分析需;数据转换服务可以在不同的数据源之间自动提取、转换和加载数据;数据开采服务对数据库仓库的数据进行数据挖掘,发现商业的模式,为科学决策提供支持;索引化视图通过把查询结果存储在数据库中,以减少查询响应时间,大大改善系统的运行性能。3、 开发环境 6“真正的程序员用C,聪明的程序员用Delphi”,Delphi是开发数据库前端的优秀工具,它以其简洁明快的编程语言、功能强大的组件和灵活方便的编程环境在竞争激烈的市场中越来越赢得青睐。采用Delphi来开发数据库应用程序具有更大的灵活性和可扩展性。Delphi支持单机的dBase、Paradox数据库和流行的关系型数据库,如Oracle,Sybase,SQL Server等。最后完成的系统可以在单机、Netware网络文件共享方式和客户机/服务器条件下运行。Delphi7集成开发环境窗口主要包括:主菜单、工具栏、窗体、组件板、结构视图、对象监视器、代码编辑器和项目管理器等,其各组成部分是协同工作的。当用户设计窗体时,对象监视器中显示窗体中选中组件的属性,同时Delphi在后台自动生成代码。4、 学籍管理系统分析与设计4.1 学籍管理系统的需求分析 7需求分析是整个数据库系统设计过程中最重要的步骤之一,是后继各阶段的基础。在需求分析阶段,需要从多方面对整个系统进行调查,收集和分析系统是对信息和处理两个方面的需求。是第一步也是最重要的一步,对于学籍管理系统也不例外。初步确定需求如下:(1)系统主要的用户是负责学籍管理的教务员或管理员。(2)班级管理的添加、删除、修改和查询。此功能为学生档案的分类管理提供依据;(3)系统应具备学生数据信息存储的功能,具有合理的数据库结构,保证数据的安全性和完整性,便于用户有效地提取、检索和更新数据;(4)系统应能方便地进行学生数据信息的增加、删除、修改以及查询。(5) 由于学生资料信息的保密性,系统应具有用户身份验证功能,只有具有相关权限的用户才能访问系统。 (6)系统界面友好,层次清晰,应具有较强的可操作性和易用性,方便用户使用,使不懂数据库操纵语言的用户也能自如地找到所需的信息。 (7)系统运行平台为常用的Windows系列。(8)系统应有很好的扩展性,随实际需要而不断增加新的功能模块。需求分析就是描述系统的需求,通过定义系统中的关键类域来建立模型。4.2学籍管理系统可行性研究 在当今时代,网络技术与计算机软件技术已经愈来愈广泛地应用到教育系统的各个方面。 学生学籍管理系统就是使用计算机对学生学籍信息进行全面管理的系统。系统以现代信息技术(如计算机技术、数据库技术等)为手段,以简化学校传统的学籍管理模式和工作质量效益为目标,利用先进的硬件设备,对学籍管理工作实行计算机管理与控制。在系统初步调查的基础上,从必要性和可行性两个方面进行了以下的具体分析。4.2.1学籍管理的必要性分析 教育事业建设的改革和发展,对学生学籍管理提出了更高、更新的要求。建立学籍管理系统,是进行学校制度管理化的一项重要的基础工作,也是实现学校事务管理现代化、加速决策科学化的前提条件。 建立学籍管理系统是现代信息化社会教育的需要。手工对学生数据信息的处理工作量特别大,容易出错。而且还会耗费教务人员大量的时间和精力,因此,有必要建立学籍管理系统,保持数据的一致性、完整性和时效性,实现人机交互。4.2.2学籍管理的可行性分析从技术方面来看,目前的计算机硬件、软件技术以及网络技术完全能完成本系统的功能要求。从操作人员方面来看,每个教务员和管理员必须在一定的计算机应用基础和数据库维护知识,都能熟练进行常用的办公软件操作,许多日常工作都是在计算机上进行,保证了系统的可推广。通过以上几个方面的分析可知,开发学生学籍管理系统是十分必要且可行的。5 数据库设计5.1数据库物理结构设计数据库设计是总体设计阶段非常重要的环节,好的数据库结构设计可以简化开发过程,使系统功能更加清晰明确。因为数据库结构的变化会造成编程的改动,所以必须认真设计数据库后再进行编程,从而避免无谓的重复工作。针对本系统,通过对学籍管理内容和过程的分析,设计的数据项和数据结构如下:1 学生基本信息stu表:包括的数据字段有学号、姓名、照片、性别、民族、籍贯、出生日期、身份证号、入校时间、所在班级、职务、联系电话、居住地址、邮编和备注。用来保存学生的基本信息资料,其结构如图5-1所示;2 学生奖励和处罚信息jiangfa表:用来记录学生所受到的奖励或处罚,其结构如图5-2所示;3 学生教育经历jiaoyu表:保存学生教育经历的基本信息,其结构如图5-3所示;4 学籍变动xueji表:保存学生休学、退学、转学和调班的记录,其结构如图5-4所示;5 班级管理banji表:用来保存学校各班级的基本信息,其结构如图5-5所示;6 用户信息yonghu表:用来保存系统用户名ID、密码、密码保护提示问题、提示答案、权限级别和类型等信息,其结构如图5-6所示;图5-1 图5-2图5-3 图5-4图5-5 图5-6 5.2数据库逻辑结构设计8概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。第一种转化是将实体转化为关系表。这种转化较简单,将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。本系统恰好使用了外部键的定义,在表设计器中单击鼠标右键,选择“关系”菜单项,在“属性”窗口中定义外键信息(如图5-7所示). 图5-7分别选定主键表和外键表的字段,SQL Server即可自动生成关系名,本系统中定义的关系如表格5-8所示:关系名主键表主键字段外键表外键字段FK-jiaoyu-stustu学号jiaoyu学号FK-jiangfa-stustu学号Jiangfa学号FK-xueji-stustu学号xueji学号表格5-8数据库中各表创建的完成,即可进入系统的具体实现,下面将进行简述。 6、 学籍管理系统的具体实现6.1 系统功能分析6.1.1 系统基本功能 学籍管理系统必须具备三大基本功能:学籍管理数据库及表的操纵,以实现对学籍管理数据库及其表的创建、表中数据维护;学生基本信息、奖罚信息、教育经历、学籍变动管理的添加、删除和修改,并可根据姓名和学号以实现学籍信息的查询;用户信息的添加、删除和修改以及密码的更改。基于学籍管理的相关结果和相关用户信息用DBGrid显示在窗体上。6.1.2 系统功能模块设计系统的运行是先弹出登录的界面,输入用户ID、密码和用户类别之后进行验证,验证通过方可根据不同的用户类别进入相应的功能模块,否则退出系统。如图6-1所示。根据实际应用需求,需要完成如下功能:用户登陆验证成功学籍变动管理基本信息管理教育经历管理设置学生信息管理针对各个模块不同的表实现添加、删除、修改记录以及查询显示等功能退学休学管理转学调班管理班级管理用户管理奖罚信息管理更改密码更改密码保护资料 图61 系统功能模块示意图 本实例根据上面的设计规划出来的实体有:学生基本信息实体、教育经历实体、奖罚信息实体、学籍变动实体、班级管理实体和用户信息实体。各个实体具体的描述E-R图如下:学号教育经历实体职务学生基本信息实体所在班级学号籍贯姓名 学校名称开始时间 教育经历实体E-R图学生基本信息实体E-R图 姓名学号学籍变动实体籍贯所在班级奖罚说明学号奖罚信息实体奖罚时间奖罚类型 奖罚信息实体E-R图 学籍变动实体E-R图密码姓名用户信息实体班级管理实体权限用户IDid班级编号班级名称 班级管理实体E-R图 用户信息实体E-R图6.2系统模块的具体实现6.2.1 学籍管理系统的主窗体登陆界面:系统运行时,首先弹出此启动窗口。在界面上各有两个Panel、btton和edit控件,一个comboBox控件和四个Label控件。登陆功能: 设置权限控制用户登录,防止非法用户闯入本系统,保证系统的安全,输入口令时屏幕显示为“*”以利保密;当输入的用户ID和密码以及选择的用户类别正确无误方可进入系统主界面进行相应的操作。所有的用户如果一时忘记了密码,还可以点击“忘记密码”进行回答密码提示问题和答案提交正确后即可取回密码的操作。图6-2 登录功能系统主体界面: 本界面是这个工程的主窗体。在这个窗体上添加所需的控件,创建好的窗体如下所示,在界面上放置了菜单栏、工具栏、八个Label和八个timer控件;菜单栏集中了系统操作的入口,各功能模块的执行从此进入;工具框显示了系统菜单中常用项目的快键按纽,不过各个工具按纽的Menultem属性值要与菜单各项的name属性值相对应,这样用户才可以点击相应的按纽连接进入相应的窗体功能模块。每个Label对应有个timer控制,通过设置timer控件的OnTimer事件使相应的Label控件有动漫的效果。图6-3系统主界面创建主窗体的菜单:在主窗体中,需使用一个菜单栏来满足用户的日常方便使用。在此,可利用Delphi中的菜单栏编辑器来创建我们所需要的各个菜单,具体的菜单结构如表6-4所示:captionnamecaptionname系统N1班级管理Nbanji 退出NClose用户管理Nyonghu学生管理N6学生管理Nxues基本资料NStudentInfo其他用户管理Njg奖罚情况Njiangfa设置Nset教育经历Nexperience更改密码NChangePwd学籍管理Nxueji更改密码保护资料Nchmm学籍变动Nout表6-46.2.2 创建公共模块9在Delphi 中可以用公用模块来存放整个工程项目公用的函数、过程和全局变量等。这样可以极大的提高代码的效率。由于系统中各个模块都将大量频繁的使用数据库中的各种数据,因此需要一个公共数据操作,执行相关的数据操作。1 单元文件Config.pas:此文件主要是与数据库建立连接;const/连接字符串,连接数据库connectionStr=Provider=SQLOLEDB.1;+ Password=sa;Persist Security Info=True;+ User ID=sa;Initial Catalog=xsxjgl;+ Data Source=(local);var ADOCon:TADOConnection;2 单元文件DAHelper.pas:在这个单元中,主要是实现与数据操作,有两种方法,一种是执行没有返回值的SQL语句,如果执行正确返回true,否则返回false;另一种是执行有返回值的sql语句,返回得到的ADOQuery;除了要调用连接数据库Config.pas文件外,将程序数据操作进行了有效地封装,提供了两种方法,代码如下:/ 执行有返回值的sql语句,返回得到的ADOQuery;function ExeSqlQuery(sql:string):TADOQuery; var query:TADOQuery;begin try if stClosed in Config.ADOCon.State then /判断连接状态是否关闭, 若关闭则连接打开 Config.ADOCon.Open; query:=TADOQuery.Create(nil); query.Connection:=Config.ADOCon; query.Close; query.SQL.Clear; query.SQL.Add(sql); query.Open; except result:=nil; end; result:=query;end;/执行没有返回值的sql语句,如果正确执行则返回true,否则返回falsefunction ExeSqlNoQuery(sql:string):boolean; var query:TADOQuery; ref:integer;begin ref:=0; if stClosed in Config.ADOCon.State then /判断连接状态是否关闭, 若关闭则打开 Config.ADOCon.Open; query:=TADOQuery.Create(nil); query.Connection:=Config.ADOCon; query.Close; Config.ADOCon.BeginTrans; try query.SQL.Clear; query.SQL.Add(sql); ref:=query.ExecSQL;/影响的行数 Config.ADOCon.CommitTrans; except Config.ADOCon.RollbackTrans; query:=nil; result:=false; end; if ref0 then result:=true else result:=false;end;3 窗体文件frm_infoU.dfm:由于学生基本资料、奖罚情况、教育经历、学籍变动、用户管理和班级管理的功能窗体都要设置一个DBGrid、DataSoure、添加、删除、修改、返回主界面和退出系统按纽,并且各功能模块在功能和界面上都非常相似,为了减少工作量和优化界面代码,对上述功能模块的界面规范化,得到frm_info父窗体类,以便各功能模块的继承。在这个窗体中,为了美观,将其BorderStyle属性设置为bsDialog即设置为对话框窗体,Position属性设置为poOwnerformCenter即设置窗体弹出时位置在用户窗体中心;而设计数据信息显示时,在工具栏中选择Data Controls选项卡中中的DBGrid控件,重命名为DBGrid_info,选择Data Access选项卡中DataSoure控件并命名为DataSoure_info,指向数据库中相应的表,当打开窗体时,程序将应用公共成员public中的FillData过程自动从数据库中读入相关数据并显示在DBGrid中。6.2.3 为每个数据库表创建类模块在工程中,需要为每个表定义一个类,类的成员变量与对应表中的字段名相同,六个类模块全保存在所在工程文件夹的common子文件夹ClassesU.pas中。比如为奖罚情况jiangfa表添加类Tjiangfa,代码如下:type Tjiangfa=class id:integer; stdNo:string;/学号 Edate:string;/奖罚时间 Etype:string;/奖罚类型 remark:string;/奖罚说明 end;其他的类模块的添加与此类大同小异;6.2.4 为每个功能模块建立控制文件针对上述数据实体类的操作方法,为方便各功能模块的调用,故为各功能模块建立各自的控制文件,cstu.pas、cjiangfa.pas、 cexperience.pas、cxueji.pas、cbanji.pas和cyonghu.pas单元文件相对应包含了学生基本资料信息、奖罚情况、教育经历、学籍变动、班级管理和用户管理设置的相关函数,以便对应的各功能模块调用。由于大多数函数的编码格式都是十分相似,故这里只列举三个单元文件说明。(1) cstu.pas:包含了添加AddStu、删除DelStu、修改EditStu、查询(学号查询GetStuByStuNo、学号查找返回TADOQuery类型GetStuQueryByStuNo、姓名查找GetStuByName)和取得GetStuArray学生基本资料信息的函数,每个函数都有一个共同点就是必须调用DAHelper和ClassesU单元文件,调用ClassesU单元文件是要运用其对应的类,调用DAHelper单元文件是要返回result结果值,唯一不同的是使用的SQL语句输写不同。在GetStuArray函数中,要分两个SQL条件查询,即如果是学生登录进去的话,选择的查询条件是学生本人的学号。(2) cyonghu.pas:除了上述cstu.pas中包含类似的函数以外,还包括了密码的更改、忘记密码和判断用户是否存在函数,相应函数的代码如下:function ChangePwd(newPwd:string;id:integer):boolean;/更改密码函数var sql:string; begin sql:=update renshi set 密码=+newPwd+ where id=+inttostr(id); result:=DAHelper.ExeSqlNoQuery(sql); end;function CheckOper(OpID,OpPwd,Opqx:string):Tyonghu; /判断用户函数var yonghu:Tyonghu; sql:string; Adoq:TADOQuery;begin sql:=select 姓名,isnull(备注,),id from renshi+ where 用户ID=+OpID+ and + 密码=+OpPwd+ and + 权限=+Opqx+; Adoq:=DAHelper.ExeSqlQuery(sql); if Adoq.RecordCount1 then begin result:=nil; end else begin yonghu:=Tyonghu.Create; yonghu.Operid:=OpID; yonghu.OperName:=Adoq.Fields0.Value; yonghu.pwd:=OpPwd; yonghu.privilege:=Opqx; yonghu.remark:=Adoq.Fields1.Value; yonghu.id:=Adoq.Fields2.Value; result:=yonghu; end;end;6.2.5 各功能模块的具体实现(1)登录窗体模块输入用户ID、密码和选择用户类别权限,定义变量OpID、OpPwd和Opqx,并令其等于对应的输入信息,还要定义Op继承Tyonghu并分配空间之后调用cyonghu单元文件中的CheckOper(OpID,OpPwd,Opqx)函数,当返回值Op为nil时弹出对话框“你输入的用户登录资料不正确,请重新输入”,这样输出的错误信息超过两次时系统将出示提示并关闭;否则使用系统主界面窗体frm_main中的CurrentUser等于Op保存当前用户,如果当前用户是在校学生的话,则只能查询并修改自己的基本资料信息和查看自己的奖罚情况并修改自己的密码;如果是管理员的话,则可以全权对本系统进行操作,没有任何限制;如果是教务员的话,他的权限只比管理员少一点即在用户管理设置处不能对其他用户管理和班级管理。当用户一时忘记了密码,还可点击“忘记密码”,通过密码提示问题和答案找回密码。当你点击“忘记密码”标签时,系统会将你输入的用户ID和权限通过调用cyonghu单元文件中的Checkzhao(OppID,Oppqx)函数进行查询,如果找到该用户时方可进入找回密码界面,否则系统也会弹出“你输入的用户不存在!请输入正确的用户信息!”这样的对话框,这样连续三次不存在的用户时系统会提示自动关闭。 (2)找回密码窗体zhaom模块:在登录模块中设置一个全局变量zh接收Checkzhao(OppID,Oppqx)函数的返回值,运用zh.pwdqtion和zh.pwdanswer与输入的密码提示问题与答案做比较,如果一致则出示“你的密码是多少,请切记!”否则叫你输入正的密码提示问题和答案,具体的代码如下:if(trim(self.pwdqtion.Text)=zh.pwdqtion) then /判断密码提示的问题begin if(trim(self.pwdanwser.Text)=zh.pwdanswer)then /判断提示答案 begin showmessage(你的登录密码是+zh.pwd+,请切记!); exit; end else begin self.pwdanwser.Text:=; pwdanwser.SetFocus; MessageBox(Handle, 密码提示的答案不正确!请输入正确的密码提示答案!, 信息, MB_ICONEXCLAMATION); exit; end;end else begin self.pwdqtion.Text:=; pwdqtion.SetFocus; MessageBox(Handle, 密码提示的问题不正确!请输入正确的密码提示问题!, 信息, MB_ICONEXCLAMATION); exit; end; (3)学生基本资料窗体stu模块(只有教务员和管理员权限的用户方可进入)首先,在工程资源管理器中,点击“新建”-“其他”,在弹出的对话框中选择工程文件名xjgl,点击frm_info窗体即可添加一个窗体,命名为“frm_student”这燕就继承了frm_info父窗体的所有控件和属性值,再在窗体中放置如图6-5所示(除父窗体的控件以外)的相应控件和设置相应的属性值,在此窗体设计中,设置了只有本窗体方可使用的私有变量:字符串类型的stdNo、WorkPath和PicePath,布而类型的m。stdNo是保存当前学生证号,修改学生基本资料信息时用来与查询到的学号作比较,如果不相等的话,则系统会出示相关的对话框,WorkPath用来保存当创建窗体时取得可执行程序所在的目录,PicePath用来保存相片的路径,m是用来判断添加或修改学生基本资料信息时相片是否被点击的布而值。为了用户人员的方便,对于固定数据信息的输入,采用组合框选择输入;在窗体打开时,系统继承父窗体类将所有记录都显示在DBGrid_info控件中,当触发DBGrid_info OnCellClick即单击DBGrid_info控件任一单元格时,所属的当条记录信息数据将显示在右边相对应的控件;利用单击按钮作出事件处理的方法,实现添加、修改、删除,查询、返回系统主界面等功能,下面将对这些按纽实现的功能具体论述。添加按纽:当学号和姓名为空时出示相关的提示对话框,当在文本框edt_stuNo输入的学号,调用cstu.pas中的GetStuByStuNo函数与之比较,如果返回值不为零时,则说明输入的学号与数据库中的某条记录相同,这时系统会弹出对话框“该学号已存在,请重新设置”,否则再判断相片image_pic是否为空,如果没有上传到相片,则相片路径赋为空,如果是点击了记录表格中的学生基本资料,加上该生有相片时而又没有重新加载相片则添加到的相片是加载后的相片,否则是刚点击记录集并显示在相关右边的相片框中的相片。最后调用Student类和cstu.pas中的AddStu(Student)函数,将数据保存到数据库中并刷新内容显示所有记录到DBGrid组件中,然后系统提示成功添加。删除按纽:当点击删除按纽时弹出如图6-6所示,如果点击“确定”,则调用cstu单元文件中的DelStu函数,删除edt_stuNo文本所属的学生基本资料信息并及时用FillData刷新填充数据;如果是点击“取消”则没有删除到所选学生的基本资料信息。修改按纽:当edt_StuNo.Text为空时,如果你点击了修改按纽,则系统会提示没有可以修改的数据,修改时学生的对应的学号和姓名都不用为空,否则系统也会做出相应的处理,调用GetStuByStuNo函数检查学号是否重复,返回值不为空时,再判断所返回的值是否与私有变量“stdNo”相等,如果不相等系统会弹出如图6-7所示的效果,否则再判断相片的路径,如果所在的数据库表stu中的相片路径不为空,加上点击了相片加载,则相片的路径等于加载后的路径,如果没有加载到,只是原来的相片路径值则保持不变,如果添加时并没有上传到相片,则相片路径赋为空,最后将修改后的该生基本资料信息调用cstu单元文件中的EditStu(Student,stdNo)函数保存进数据库中。添加和修改学生基本资料信息时相片的处理代码大致如下:IF self.DBGrid_info.Fields2.Value THEN /判断相片路径是否为空 begin if m=true then /判断是否点击了相片 begin PicePath := self.OpenD_pic.FileName ; image_pic.Picture.LoadFromFile( PicePath ); end else PicePath:=se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第17课《夏天里的成长》(第二课时)(说课稿)六年级语文上册同步高效课堂系列(五四制)
- 2024年五年级英语上册 Unit 2 My week第一课时说课稿 人教PEP
- 吉林省长春九年级历史上册 活动科三:我看拿破仑说课稿 新人教版
- 古董典当质押借款合同模板
- 员工因个人原因辞职补偿及心理咨询服务协议
- 食堂员工权益保障与劳动纠纷处理协议
- 民用建筑工程施工阶段绿色施工及环保保密合同
- 教育培训咨询服务合同终止及学员权益保障协议
- 土地承包经营权延期及农业科技创新成果转化补充协议
- 2025年FIDIC合同条件体系的发展
- 汉谟拉比法典中文版
- 物业和洗浴合作协议书模板
- 人教部编版道德与法治五年级上册全册教案
- 发挥智库作用
- 《小王子》读书分享成品课件
- 中国消化内镜诊疗镇静麻醉的专家共识
- 医疗废物管理分类及处理
- 劳动教育实践活动设计 课件 主题3、4 劳动最伟大、劳动最美丽
- 陕西省西安市庆安高级中学2023-2024学年高一上学期第一次月考化学试题(解析版)
- 高血压老年人用药安全指导
- 商标肖像权使用授权书(通用)
评论
0/150
提交评论