• 1.13 MB
  • 2022-04-22 13:43:41 发布

基于Delphi技术的学生信息管理系统毕业论文.doc

  • 34页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'基于Delphi技术的学生信息管理系统毕业论文目录摘要I引言11绪论21.1选题的背景21.2目的和意义22平台简介32.1开发平台和技术简介32.1.1Delphi工具简介32.2数据库平台介绍42.2.1SQLServer数据库简介42.2.2SQLServer数据库系统特点62.3小结73系统分析83.1可行性分析83.1.1技术可行性研究83.1.2经济可行性研究83.2需求分析94系统详细设计104.1数据库分析104.1.1E-R图分析104.1.2表/字段分析和PowerDesign数据库建模114.2数据库设计124.2.1创建数据库124.2.2创建数据表124.3界面设计164.3.1用户登录界面设计164.3.2学生学籍管理信息系统主界面设计16-I- 4.3.3院系设置界面设计174.3.4班级管理界面设置184.3.5学生管理界面设计194.3.6学生查询界面设计204.3.7学籍变更界面设计214.3.8奖励管理界面设计224.3.9处罚管理界面设计235代码编写与分析255.1用户登录的代码实现255.2院系设置的代码实现265.3学籍变更的代码实现275.4学生信息查询界面的代码实现29结论31致谢32参考文献33-I- 引言随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率,通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、增加、修改、删除,另外还考虑到学生选课,奖罚管理,针对这些要求设计了学生信息管理系统。本系统主要包括学生信息查询、教务信息维护、学生选课三部分。其功能主要有:(1)有关学籍等信息的输入,包括输入学生基本信息,所在班级、成绩等。(2)学生信息的查询,包括查询学生基本信息,所在班级、已学课程和成绩等。(3)学生信息的修改。(4)班级管理信息的输入,包括输入班级设置、年级信息等。(5)班级管理信息的查询。(6)班级管理信息的修改。(7)学生课程的设置、修改以及学生奖励处罚的管理。学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。-31- 1绪论1.1选题的背景随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中,软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品。随着社会的发展,软件也在不断的更新换代。 大多数学校里对学生的档案、成绩、入学、毕业等的一些繁琐处理都是通过手工进行记载并进行处理的,对学生数据的处理工作量特别大,不仅浪费大量的人力物力,而且还很容易出错。如果有这样一套完整的学籍管理软件,只需点击几下鼠标就可完成所需操作,那样就会大大的提高教师的工作效率和管理水平。并能进一步提高学校的工作效率并使学校实施规范化管理。1.2目的和意义毕业设计是三年学习的总结,同时也是自己综合运用所学知识解决实际问题的一次锻炼。学籍管理系统的主要目的是为了方便学校对学生的信息进行录入、修改、查询,提高学校的工作效率。这一系统的开发成功,解决了手写速度慢、容易出错的现状。无论是在学籍管理、成绩管理等方面都可以帮助学校最迅速最准确的完成所需的工作。无论是在适用性、灵活性和易操作性方面都显示出了它的强大功能。-31- 2平台简介2.1开发平台和技术简介2.1.1Delphi工具简介Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是ObjectPascal语言,它才是一切的根本。ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(ImageEditor),以及各种开发数据库的应用程序,如DesktopDataBaseExpert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(ResourseWorkshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。Delphi发展至今,从Delphi1、Delphi2到现在的Delphi2009,不断添加和改进各种特性,功能越来越强大。Delphi5添加了对IDE(集成开发环境)的很多改进新特性,扩展了数据库支持(ADO和InterBase数据库),带有Internet支持的MIDAS改进版,TeamSouse版本控制工具,转换功能,框架概念以及很多的新组件与新特性。Delphi10功能十分完善和强大,本设计将以它为基础,利用Delphi的开发环境、基本概念、控件的使用、在短时间内建立系统应用原型。然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。-31- 2.2数据库平台介绍2.2.1SQLServer数据库简介SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、MicrosoftSQLServer、Access、Ingres等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如"Select"、"Insert"、"Update"、"Delete"、"Create"和"Drop"常常被用于完成绝大多数数据库的操作。MSSQLServer就是用的Transact-SQL。SQL语言有着非常突出的优点,主要是:(1)非过程化语言(2)统一的语言(3)是所有关系数据库的公共语言非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了命令,其中包括:(1)查询数据-31- (2)在表中插入、修改和删除记录(3)建立、修改和删除数据对象(4)控制对数据和数据对象的存取(5)保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1)数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。(2)概念设计的任务是从DFD出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表。(3)逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4)物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MSSQLServer,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。(5)加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:(1)基本表的个数越少越好-31- (2)主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单(3)字段的个数越少越好(4)所有基本表的设计均应尽量符合第三范式2.2.2SQLServer数据库系统特点SQLServer2000系统之间之所以成为目前流行的大型商用数据库系统,有着其深刻的内在因素,这与它鲜明的特点是分不开的:(1)与Internet的高度集成 SQLServer2000与其它MicrosoftBackOffice产品紧密集成,在安全事件浏览、WindowsNT服务程序、性能监视器、多处理器支持、索引服务器等方面充分利用了它们的长处,形成了自己独特的优势。 SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的资料存储组件所需的可伸缩性、可用性和安全功能。SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。 SQLServer2000与其它产品共同构成了可靠安全的Internet和Intranet系统的数据存储。例如:SQLServer2000与Windows2000Server和WindowsNTServer安全及加密工具共同实现安全的数据存储:SQLServer2000为在IIS服务下运行或通过防火墙访问数据库的Web应用程序构成了高性能的数据存储服务;SQLServer2000可与SiteServer一起使用,建立并维护大型的复杂电子商Web站点;SQLServer2000TCP/IP套接字通讯支持可与MicrosoftProxyServer集成,以实现安全的Internet和Intranet通讯。(2)高伸缩性和适应性 同一SQLServer2000 数据库引擎运行在Windows2000Professional、Windows2000Server、Windows2000AdvancedServer、Windows98和WindowsMillenniumEdition上。还运行在WindowsNT4.0版的所有版本上。此数据库引擎是一个功能强健的服务器,可管理供上千用户访问的TB数据库。同时,当以默认设置运行时,SQLServer2000还具有动态自调整等功能,这使得它可以有效地运行在便携式电脑和台式机中,用户无需承担管理任务。SQLServer2000WindowsCE版将SQLServer2000程序设计模型扩展到移动的WindowsCE设备上,并且可以很容易地集成到SQLServer2000-31- 环境中。 SQLServer2000与WindowsNT和Windows2000故障转移群集共同支持不间断地将故障即时转移到备份服务器。SQLServer2000还引入了日志传送功能,使您得以在可用性要求较低的环境中维护备用服务器。(3)企业级数据库功能强 SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护资料完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer2000分布式查询使您得以引用来自不同资料源的资料,就好象这些资料是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式资料更新的完整性。复制同样使您得以维护多个资料复本,同时确保单独的资料复本保持同步。可将一组资料复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。(4)易于安装和使用 SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer2000数据库和资料仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。(5)具有决策支持的资料仓库 SQLServer2000提供了数据转换服务、联机分析处理(OLAP)、数据挖掘支持、EnglishQuery、MetaDataServices等等工具,以便对数进行析取、分析汇总资料并对数据库的设计提供帮助。2.3小结本章主要介绍毕业设计所需要了工具,前台用DELPHI,后台数据库是SQLServer2000。简单讲述了DELPHI和SQLServer2000的发展及特点。-31- 3系统分析3.1可行性分析3.1.1技术可行性研究本系统采用的工具软件是Delphi7,Delphi7工具软件是Borland公司开发的分布式数据库应用程序的前端开发工具,它以功能强大、使用灵活的数据窗口、面向对象的开发能力等优势在数据库应用程序开发领域占据了领先的位置。Delphi7是该公司推出的较新版本,该版本在开发环境的集成、对的支持、主件的开发等方面比早期版本增加了许多新的功能,对以前的功能也有了不同程度的改进。通常人们把Delphi7作为一种开发工具,实际上它比其他工具功能强得多,它是一个强有力的开发环境。开发人员不仅能利用它来开发各种具有友好界面的应用程序,还可以通过Delphi7修改数据库,400多个预定义的内置函数为开发适应各种需要的应用程序提供了极大的方便。Delphi7正在成为客户/服务器应用程序开发的标准。与其他客户/服务器开发环境相比,Delphi7可以使开发人员的工作更快、成本更低、质量更高、功能更强。Delphi7为应用开发提供了全面综合的支持,可以概括为以下几点:(1)事件驱动的应用程序(2)功能强大的编程语言与函数(3)面向对象的编程(4)跨平台开发(5)开放的数据库连接系统3.1.2经济可行性研究经过考察比较,引入了学籍的计算机化管理,可使整体计算机应用水平的提高,方便学工人员查询、记录操作,解决管理中存在的问题。它能使学工工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高学工的管理效率及服务质量,从而使学工管理水平和业务水平跃上一个新的台阶。-31- 3.2需求分析高等院校学籍管理涉及院系信息、班级信息、任课教师信息、学生信息、学籍变更信息、学生奖惩信息、课程信息以及选课信息和成绩等多种数据信息。学籍管理用户包括系统管理员、教师和学生。系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作。教师使用该系统可完成教学班信息查询和成绩管理。学生使用该系统主要完成选课和成绩查询等操作。经过调研与分析,高等院校学生学籍管理系统主要应具有以下功能。(1)院系信息管理。院系信息管理包括院系信息数据的录入、修改与删除等功能。(2)班级信息管理。班级信息管理包括班级信息的录入、修改与删除等功能。(3)学生信息管理。学生信息管理包括学生信息的录入、修改与删除等功能。(4)学籍变更信息管理。学籍变更信息管理包括学籍变更信息的录入、修改与删除等功能。(5)学生奖惩信息管理。学生奖惩信息管理包括学生奖惩信息的录入、修改与删除等功能。(6)数据查询。数据查询包括教学班学生信息的查询和学生成绩查询等功能。-31- 4系统详细设计4.1数据库分析在开发学生学籍管理信息系统时,可以先进行E-R图分析,然后对表和字段进行分析,最后进行数据库建模。4.1.1E-R图分析对学生管理信息系统的E-R图分析是建立在UML系统模型基础上的。这里给出E-R图分析的结果。实体关系图的分析结果非常复杂,一般情况下使用从简到繁的方式进行设计。首先从大的方面设计出各个实体之间的关系,然后在这个关系的基础上进行细化。图4.1所示为学生学籍管理信息系统的实体关系简图。图4.1学生学籍管理信息系统的实体关系简图-31- 在简图的基础上进一步设计实体关系的详细结构。图2所示为学生管理信息系统的实体关系详图。图4.2只是学生学籍管理信息系统最基本元素的实体关系图,可以在此基础上根据用户的不同需要进行扩展。图4.2学生管理信息系统的实体关系图4.1.2表/字段分析和PowerDesign数据库建模表/字段分析是建立在实体关系图基础上。对表和字段分析后就可以建立数据库模型了。以图4.2所示的学生学籍管理信息系统的实体关系图为基础,可设计表和字段,然后建立数据库模型。4.2数据库设计-31- 数据库设计与应用等程序设计是分离的,数据库的设计非常重要。有了数据库模型,数据库的设计就简单多了。在学生管理信息系统中,首先要创建学生管理信息系统数据库,然后在数据库中创建需要的表和字段。下面分别讲述本系统中数据库的设计。本例采用SQLServer2000数据库系统来进行数据库的设计。4.2.1创建数据库下面给出在SQLServer2000中创建数据库的过程。运行SQLServer2000应用程序,打开“企业管理器”,右击“数据库”,弹出新建数据库对话框,指定数据库文件名(本例为Stud)确定后即完成数据库的创建。4.2.2创建数据表学籍管理系统数据库各数据表的结构如下。(1)student表(学生信息表)如表4-1所示字段名称类型宽度允许空值主键studentIDchar20NOTNULL是namechar20NOTNULLsexchar2NULLnativechar50NULLbirthdaydatetime4NULLclassIDchar7NULL表4-1student表(学生信息表)(2)department表(院系信息表)如表4-2所示。字段名称类型宽度允许空值主键departIDchar5NOTNULL是departnamechar20NOTNULLdepartheadchar10NULLtelephonechar13NULLdescriptionchar50NULL表4-2department表(院系信息表)-31- (3)user表(用户信息表)如表4-3所示字段名称类型宽度允许空值主键IDchar4NOTNULLnamechar20NOTNULLpasswdchar8NOTNULLdescriptionchar50NULL是typechar2NOTNULL表4-3user表(用户信息表)(4)class表(班级信息表)如表4-4所示。字段名称类型宽度允许空值主键classIDchar10NOTNULL是classmamevarchar8NOTNULLdepartIDchar5NULLbegindatedatatime8NULLmasterchar20NULLtelephonechar13NULLdescriptionchar50NULL表4-4class表(班级信息表)(5)change表(学籍变更信息表)如表4-5所示。-31- 字段名称类型宽度允许空值主键changeidint2NOTNULL是studentIDchar9NOTNULLchangechar10NOTNULLRecDatedatetime8NOTNULLdescriptionchar100NULL表4-5change表(学籍变更信息表)(6)reward表(奖励记录信息表)如表4-6所示。字段名称类型宽度允许空值主键RIDint1NOTNULL是studentIDchar9NOTNULLRewrddatadatetime8NULLRewardchar20NULLdescriptionchar100NULL表4-6reward表(奖励记录信息表)(7)punish表(处罚记录信息表)如表4-7所示。字段名称类型宽度允许空值主键Pidint1NOTNULL是studentIDchar9NOTNULLpunishchar20NULLrecdatedatetime8NULLdescriptionchar50NULL表4-7punish表(处罚记录信息表)-31- 4.3界面设计以上内容完成了数据库的后台工作,建立起了能够保障系统顺利、正确运行的后台。界面设计工作在进行系统开发的时候是必不可少,也是十分重要的。下面就对学生学籍管理信息系统的界面设计。4.3.1用户登录界面设计利用用户登录成功能实现对用户操作权限的限制。用户必须输入正确的密码才能进入下一界面,如果用户的密码输入错误,应用程序会提示错误信息。用户如果连续3次输入错误,应用程序会强迫使用者退出并终止应用程序的运行,图4.3所示是用户登录界面窗体。图4.3用户登录界面窗体4.3.2学生学籍管理信息系统主界面设计学生学籍管理信息系统主界面主要实现院系设置、班级管理、新生信息录入、学籍变更、处罚管理、奖励管理和查询修改的功能。选择该界面中工具栏中的不同按钮,就会进入实现不同功能的窗体。图4.4是学籍管理系统主界面窗体。-31- 图4.4学生学籍管理信息系统主界面窗体4.3.3院系管理界面设计院系设置界面主要实现学校院系的添加、删除、查询功能,包括院系号,院系名,负责人,联系电话和说明等信息,图4.5是院系管理界面窗体。-31- 图4.5是院系管理界面窗体4.3.4班级管理界面设置班级管理界面主要实现学校班级的添加、删除、查询功能,包括班级号,班级名,所属院系,入学时间,辅导员,联系电话和说明等信息,图4.6是班级管理的界面窗体。-31- 图4.6是班级管理的界面窗体4.3.5学生管理界面设计学生管理界面主要实现学生信息的添加功能,包括学号、性别、出生日期、籍贯、姓名、班级等信息的添加,图4.7是学生管理界面窗体。-31- 图4.7是学生管理界面窗体4.3.6学生查询界面设计学生查询界面主要实现以学号查询学生信息的功能,包括学号、性别、出生日期、姓名、班级、学籍变更、奖励和处罚等信息的查询,图4.8是学生查询界面窗体。-31- 图4.8是学生查询界面窗体4.3.7学籍变更界面设计学籍变更界面是实现学生学籍变更的功能,学籍变更有休学、转系、结业、复学、转学、毕业六种情况,图4.9是学籍变更界面窗体。-31- 图4.9学籍变更界面窗体4.3.8奖励管理界面设计当学生在校表现优秀,学校应该奖励该学生,以鼓励大家的学习热情。奖励管理界面用于实现学生奖励的功能。相应的奖项有国家级、省级和校级分别三个级别的奖项等,用户可以根据实际情况进行设计。图4.10是奖励管理界面窗体。-31- 图4.10是奖励管理界面窗体4.3.9处罚管理界面设计当学生在校的表现差,学校应该处罚该学生。处罚管理界面就是实现学生处罚的功能。相应的处罚项有警告、记过、开除等,用户可以根据实际情况进行设计。图4.11是处罚管理界面窗体。-31- 图4.11是处罚管理界面窗体-31- 5代码编写与分析5.1用户登录的代码实现学籍管理信息系统启动时,首先出现的是系统登入界面。登入界面中有用户号和用户密码输入框,确定按钮功能是从数据库中获取用户号和密码,和用户输入的密码比较,如果密码正确;如果不正确,则提示用户重输或退出:重输3次以上,系统自动退出。确定按钮部分代码如下:TheEdit.Text:=trim(theedit.Text);TheEdit.Text:=stringReplace(theedit.Text,"""","",[rfreplaceall]);TheEdit.Text:=stringreplace(theedit.Text,"","",[rfreplaceall]);ifTheEdit.Text=""thenshowmessage(strDesc);edtuserID.SetFocus;abort;begincheckInput(edtuserID,"请输入用户号");checkInput(edtpasswd,"请输入密码");queryuser.Close;queryuser.SQL.Clear;queryuser.SQL.Add("select*fromuserswhereID="+""""+edtuserID.Text+""""+"and"+"passwd="+""""+edtpasswd.Text+"""");queryuser.Open;ifqueryuser.Eofthenbeginshowmessage("用户号或密码不正确");edtuserID.SetFocus;inc(times);iftimes>=3thenbeginshowmessage("非法用户不能登陆系统");modalresult:=mrcancel;end;endelsemodalresult:=mrOK;-31- 5.2院系设置的代码实现进入院系界面主要实现学校院系的添加、删除、查询功能,包括院系号,院系名,负责人,联系电话和说明等信息,院系号是主键,也就是说院系号是唯一的,同时院系表和班级表是关联的,但院系里有班级时就不能删除、修改该院系。实现主要代码如下:Beginresult:=false;tblvalid.Active:=false;tblvalid.TableName:="class";tblvalid.Filter:="departID="""+tbldepartment["departID"]+"""";tblvalid.Filtered:=true;tblvalid.Active:=true;ifnottblvalid.Eofthenbeginstr:=format("不能删除该院系’%s"的编号下面的班级#13,[tbldepartment["departname"]]);repeatstr:=str+format("%10S-%s"#13,[tblvalid["classID"],tblvalid["classname"]]);tblvalid.Next;untiltblvalid.Eof;str:=str+"隶属该院系";beginstrmsg1:=format("院系编号已存在!"#13,[tbldepartment["departID"]]);strmsg1:=strmsg1+format("院系号:%S"#13,[tbldepartment["departId"]]);strmsg1:=strmsg1+format("院系名:%S"#13,[tbldepartment["departname"]])strmsg1:=strmsg1+format("院系领导:%S"#13,[tbldepartment["departhead"]])showmessage(strmsg1);-31- dbedepartmentID.SetFocus;result:=false;end;tblvalid.Active:=false;end;beginifhasclass(strmsg)thenbeginshowmessage(strmsg);abort;end;strmsg:=format("确定要删除该院系吗?:"#13,[tbldepartment["departID"]]);strmsg:=strmsg+format("院系号:%S"#13,[tbldepartment["departId"]]);strmsg:=strmsg+format("院系名:%S"#13,[tbldepartment["departname"]]);strmsg:=strmsg+format("院系领导:%S"#13,[tbldepartment["departhead"]]);ifmessageDlg(strmsg,mtconfirmation,[mbyes,mbno],0)<>mryesthenabort;end;5.3学籍变更的代码实现学籍变更界面主要实现学生学籍变更的功能,学籍变更有休学、转系、结业、复学、转学、毕业六种情况,学籍变更根据学号进行具体的数据操作。实现功能主要代码如下:procedureTfrmchange.ToggleMode;procedureenableInput(enabled:boolean);begindbeCID.Enabled:=enabled;-31- dbestudentID.Enabled:=enabled;dberecdate.Enabled:=enabled;dbrgchange.Enabled:=enabled;dbmDesc.Enabled:=enabled;end;begincasetblchange.Stateofdsinsert,dsedit:enableInput(true);dbnchange.VisibleButtons:=[nbpost,nbcancel];dbecid.SetFocus;dberecdate.Text:=datetostr(date);elsebeginenableInput(false);dbnchange.VisibleButtons:=[nbfirst,nbprior,nbnext,nblast,nbinsert,nbdelete,nbedit,nbpost,nbcancel,nbrefresh];procedureTfrmchange.dbeCIDKeyDown(Sender:TObject;varKey:Word;Shift:TShiftState);beginifkey=13thenbeginQuery1.Close;Query1.SQL.Clear;query1.SQL.Add("select*fromchangewherecid=:str");query1.ParamByName("str").AsString:=dbecid.Text;Query1.open;-31- ifnotQuery1.Eofthenbeginshowmessage("该记录号已存在,请重新输入!");dbeCID.SetFocus;elsebegindbestudentid.SetFocus;procedureTfrmchange.tblchangeBeforeDelete(DataSet:TDataSet);varstr:string;beginstr:="确定要删除该条记录?";ifmessageDlg(str,mtconfirmation,[mbyes,mbno],0)<>mryesthenabort;end;5.4学生信息查询界面的代码实现学生查询界面主要实现以学号查询学生信息的功能,包括学号、性别、出生日期、姓名、班级、学籍变更、奖励和处罚等信息的查询,该部分主要是以学号在多表中查询该学号的所有信息,主要代码如下:procedureTfrmstudentquery.FormShow(Sender:TObject);begintblstudent.Active:=false;tblclass.Active:=false;tblchange.Active:=false;tblreward.Active:=false;tblpunish.Active:=false;end;-31- procedureTfrmstudentquery.FormClose(Sender:TObject;varAction:TCloseAction);begintblstudent.Active:=false;tblclass.Active:=false;tblchange.Active:=false;tblreward.Active:=false;tblpunish.Active:=false;end;procedureTfrmstudentquery.edtstudentIDChange(Sender:TObject);begintblstudent.Active:=false;tblclass.Active:=false;tblchange.Active:=false;tblreward.Active:=false;tblpunish.Active:=false;tblstudent.Filter:="studentID="""+edtstudentID.Text+"""";tblstudent.Filtered:=true;tblstudent.Active:=true;ifnottblstudent.Eofthenbegintblclass.Active:=true;tblchange.Active:=true;tblreward.Active:=true;tblpunish.Active:=true;end;end;-31- 结论在毕业设计中,我遇到的困难很多,在解决它们的同时我又学到了很多,获益匪浅,特别是如何分析、建立、开发一个系统。在一个系统开发的过程中编码不是重要的,重要的是分析系统、建立起系统模型。在分析一个系统前,必须要对将要开发的系统所涉及到的各方面知识有一个认识,然后将系统的模型建立起来。而且一个成功的系统要符合用户的需要,要以用户为中心,开发出用户想要的系统,而不能自以为是,想当然。在程序编写中,我认识到系统要有简便的界面,良好的程序风格,完备的文挡。拥有这些条件,程序的可读性才会好,开发的复杂度才能大大减少,修改代码时更加容易下手。我认为,所谓良好的界面,就是用户需要的界面,力求简便全面。所以设计一个界面时,开发人员必须要了解用户的想法,从用户的角度去设计,当然,开发不能全听用户的意见,在详细分析了系统后,开发人员可以向用户提出一些修改的意见,在双方多次交流后定出程序所需的功能,以决定界面的实现。在编码中,良好的编程风格与习惯是提高工作效率的一个重要方面,而且良好的编程风格与习惯也是使软件便于维护的基础。那如何是良好的编程风格与习惯呢?我认为主要是程序的模块化、必要的注释和完备的设计文档三个方面。所谓模块化就是使程序的功能实现分成多个单独的功能模块,而不能在一大段代码中实现多个功能,如果这样做,别的人是非常难读懂你的程序。必要的注释,显而易见是要在程序的编写中加入对程序的说明,原因就是为了别人能读懂你的程序,再一段时间后你自己还能读懂自己的程序。总结这次毕业设计给我感受最深的至少有四点:(1)进行系统设计这样的工作,要有恒心,要能静下心来做,而不能浮躁。(2)要遵循系统设计的规律和善于吸收已有的经验。(3)要善于同别人交流与合作,善于获取各种资源。(4)要认真,多查资料,多问,多看。-31- 致谢在论文完成之际,我要特别感谢我的指导老师的热情关怀和悉心指导。在我撰写论文的过程中,魏老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了老师悉心细致的教诲和无私的帮助,特别是她广博的学识、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢和深深的谢意。同时,在此次毕业设计过程中我也学到了许多了关于数据库方面的知识,操作技能有了很大的提高。感谢代课老师在大学的三年中给予我专业课程耐心地指导和精神上的鼓励,使我在大学中学到更多的专业知识和做人的道理。感谢班主任四年来对我的学习、生活等各方面的关心与指导,以及计算机应用373103班的所有同学,我们之间的相互帮助、相互协作使我深切地体会到了班集体精神的可贵和重要,我将永远记得那段美好时光。在论文的写作过程中,也得到了许多同学朋友的宝贵建议,在此致以诚挚的谢意。感谢所有关心、支持、帮助过我的良师益友。祝:各位老师工作顺利、身体健康、万事如意!-31- 参考文献[1]叶核亚,Delphi程序设计[M].人民邮电出版社2006.[2]萨师煊,数据库系统概论[M].高等教育出版社2006.[3]奥多切蒂,面向对象分析与设计(UML2.0版)[M].电子工业出版社2008.[4]杨志国,王小琼.Delphi应用程序开发精彩实例[M].机械工业出版社2003.[5]李维,Delphi7高效数据库程序设计[M].机械工业出版社2007.[6]吕伟臣,周涛主编.delphi7Rose项目实践[M].科学出版社2005.[7]夏邦贵,刘凡馨等编著.Delph数据库开发经典实例精解[专著][M].机械工业出版社2006.[8]周果宏.Delphi程序设计-(Delphi2005)(第二版)[M].清华大学出版社2006.[9]池雅庆,贾小敏.Delphi数据库应用项目开发实践[M].中国铁道出版社2006.[10]陆岚,黄显堂,康祥顺编著.Delphi案例开发集锦[M].电子工业出版社2008.[11]杨富国,Delphi程序开发案例解析[M].北方交大出版社2006.[12]明日科技,Delphi数据库系统开发案例精选[M].人民邮电出版社2006.[13]陆岚,Delphi案例开发集锦-(第二版)[M].电子工业出版社2008.[14]叶鑫,Delphi2005课程设计案例精编[M].高等教育出版社2006.[15]陈润,精通Delphi数据库设计与实例开发[M].中国青年出版社2006.[16]亚林,Delphi管理信息系统项目方案精解[M].航空工业出版社2006.[17](美)巴克纳尔著,Delphi算法与数据结构[M].中国电力出版社2003.[18]明日科技编著,Delphi开发技术大全[M].人民邮电出版社2007.[19]美.巴克纳尔著,林琪,朱涛江译.Delphi算法与数据结构[M].中国电力出版社2003.[20](美)MarcoCantu等著,罗征等译.Delphi7从入门到精通[M].电子工业出版社2003.-31-'