资源描述
数据库系统课程设计学生档案管理系统目录负责项目11概述12需求分析12.1系统功能描述12.2数据流图13 可行性研究33.1引言33.2可行性研究的前提43.3所建议的系统53.4 可选择的其他系统方案73.5社会因素方面的可行性74总体设计84.1系统功能设计84.2功能模块设计84.3E-R图105详细设计135.1数据库与数据表设计135.2数据完整性设计165.3创建工程和创建数据连接195.4应用程序结构设计206测试编码26参考文献27小结28附录(部分代码编写)291概述课程设计目的和意义: (1)数据库课程设计是为了巩固数据库知识,加强学生的实际动手能力和提高学生综合素质。通过本实验达到以下目的: a.熟练掌握一种数据库系统(如SQL SERVER)的使用。b.熟练掌握一种数据库应用软件开发工具(ASP、VB.NET)的使用。c.通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。(2)系统针对学生的基本情况,设计一个可以查询学生的基本信息、查询学生的选课记录、查询学生的分数、寝室楼等,可以修改学生的一些信息,还可以添加、删除等操作。使老师更加方便了解学生的情况和使学生本人对于自己的信息更直观,该系统用于学院老师和学生本人。2需求分析2.1系统功能描述 模拟一个学生档案管理系统,系统用户是相关的教师和学生,日常的主要管理工作有:实现对学生档案信息的增加、删除、修改、查询等功能,学生基本信息的查询和管理、学生档案变动信息的查询和管理等。2.2数据流图系统业务流程如下:输入用户名、密码密码正确NY进入系统主菜单选择功能管理系统信息管理学生信息管理教育经历信息管理档案信息管理系统信息选择权限添加删除修改查询退出系统YN登录终止学生信息管理系统的顶层图如下用户账号密码学 生信 息档 案系 统院系班级信息学生信息教育经历信息档案信息系统用户信息用户图1学生信息管理系统的顶层图3 可行性研究3.1引言在现今的商品社会是一个讲究效率的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,为此开发学生档案管理系统软件,能够适应现今社会并提高生产效率。该系统软件非常容易被接受,他具有简单易学性,便于管理等功能。他是对学校学生档案管理的一种工具。3.1.1 编写目的本文档是对该学生信息管理系统的一个总体的把握,以便在下一步的开发设计中更好的控制开发。文档适合教务处人员和广大师生使用。通过计算机完成高校学籍管理:用计算机高速,快捷的完成从大量的日常教学活动中提取相关信息,以反映教学情况;计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平,完成对学生档案信息的系统化管理。3.1.2 背景工程的名称:学生档案管理系统工程产品的名称:学生档案管理系统工程组织者:学生档案管理系统开发小组产品用户:学院档案管理学生的领导产品设计者:学生档案管理系统开发小组产品生产者:学生档案管理系统开发小组产品所有权:学生档案管理系统开发小组拥有3.1.3 定义为了便于阅读理解本文,在此解释一些在本文中用到的简写和专业术语:学生档案管理系统以下简称SIMS。3.1.4 参考资料数据库原理及开发应用-实验与课程设计指导清华大学出版社 周屹等编著数据库系统基础教程机械工业出版社 Jeffrey D.Ullman jennifer Widom编著3.2可行性研究的前提3.2.1 要求 主要功能:院系管理功能、学生信息管理功能、教育经历管理功能、档案管理功能,系统管理功能等。 性能:稳定快速,实时控制 输入/输出:条形码英文和汉字输入,英文和汉字输出 安全与保密要求:不能轻易被破坏,不能让管理人员以外的人删改学生的档案信息,对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。完成期限:2013年7月3.2.2 目标学生信息管理系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。本系统基于C#语言开发,数据库采用SQL Server2000。3.2.3 工作负荷学工办工作人员:新生注册时,输入班级信息及新生的基本信息。教务科工作人员:期末考试后,录入学生的考试成绩及奖惩记录。3.2.34费用开支现有系统不考虑经济收益,因此费用开支不作考虑。3.2.5人员运行系统:需学工办工作人员12人,教务科工作人员12 人。维护系统:需开发小组成员12人。3.2.6 设备建议使用奔腾133以上的pc机,内存需在16兆以上3.2.7局限性(1) 系统数据格式单一,仅支持在数据库中存放的数据格式。不能将数据转化为数据Excel格式的数据,或将Excel格式的数据导入数据库。因此,当管理人员拿到外部数据时,不能及时进行文件数据的处理操作,而需要手工输入数据。(2) 系统不完成对选修课的管理。诸如统计学生的选修情况,统计每个学生选修的课是否要书,是否交钱,统计总共选了多少的学分等。(3) 本系统同时对各个部门的输入仅提供简单的输入格式是否合格检查,不提供对输入的核对检查。要确定输入是否正确,还需工作人员自己手工完成。(4) 系统只供管理员使用,普通用户无法使用该系统进行数据查询。(5) 系统未考虑到未来的发展趋势,无法扩充功能。3.3所建议的系统3.3.1对所建议系统的说明针对现有系统的一系列不足行设计新产品,主要负责简化管理人员的工作,完成对学生档案信息的系统化管理,包括新档案的录入,对存档数据的更新、删除、查询等,可以管理学生基本信息、学生成绩信息、学籍信息、奖惩记录、学生课程信息以及学校机构信息等。新系统简明方便,适合学校教务处人员使用。新系统的主要功能如下:(1) 档案上传模块 该模块用来上传学生的档案信息,这也是本系统中数据管理的主要对象。 (2) 档案更新模块 当发现学生档案录入有误或是需要增加相关信息时,就可以利用此模块的功能来实现档案的更新。 (3) 档案查询模块 用户可以利用此模块功能很快查询到任何一个在校学生的档案信息。当然系统应该提供多种查询方式。 (4) 档案删除模块 学生毕业或是退学后,其档案信息也应在调离本校之后,予以销毁。 (5) 档案打印模块 可以使用此功能将档案以纸张的形式输出。 (6) 用户反馈模块 该模块只适用于本系统的终端用户,当某个用户发现相关的档案资料上传有误,而自己又没有修改的权限。这时该用户可以将问题通过此模块反馈到系统管理员处。由系统管理员负责更新。 (7) 反馈信息模块 当系统管理员收到错误反馈时,也就知道要对哪些档案信息进行更新。此模块用来接收用户反馈信息。 (8) 密码设置模块 用户在登陆之后可以修改自已的密码。 (9) 权限设置模块 此模块功能只有系统管理员才能使用,他可以授予某个用户相应的身份,例如,系统用户,普通管理员,普通用户 ( 学生 ) 等等。 (10) 备用功能模块任何一个系统都应当有适应未来发展趋势的功能,此模块的目的是提供一个口,以备将来扩充其它功能。 (11) 系统说明模块 即本系统的说明书,用户作为参考之用。3.3.2影响说明在建立所建议系统时,预期将带来的影响,包括:3.3.3对设备的影响由于使用了较新的技术新产品对设备的要求有所提高。建议使用奔腾 933Hz以上PC机,内存容量256以上。为实现打印功能,相关部门需配备打印机,型号不限。3.3.4 对软件的影响新系统是基于.NET的MIS系统,软件方面需安装DBMS,并能提供对.NET Framework 2.0的支持。3.3.5 对用户单位机构的影响本产品所面向的用户是单位机构已应用为主,人员数量不受任何限制,操作人员熟悉电脑的基本操作,懂得基本汉语操作即可。3.3.6对系统运行过程的影响说明所建议系统对运行过程的影响。如:1) 用户的操作规程;2) 运行中心的操作规程; 3) 运行中心与用户之间的关系;4) 源数据的处理; 5) 数据进入系统的过程;6) 对数据保存的要求,对数据存储、恢复的处理;7) 输出报告的处理过程、存储媒体和调度方法;8) 系统失效的后果及恢复的处理办法。3.3.7 对开发的影响(1) 随着计算机的发展,所有的开发人员要发现在此过程中本产品出的问题和不足,及时更新。(2) 与此同时也要准备好人力和设备资源做紧急事件的更新。3.3.8 对地点和设施的影响新产品对地点和设施要求不高,普通的配有电脑的办公室即可。3.3.9 对经费开支的影响本系统不考虑经济收益,经费开支不做考虑。3.3.10 技术条件方面的可行性本次开发的软件是在原有系统的基础上进行开发的,采用ADO.NET技术连接数据库。现有人员的技术完全可以保证系统的开发。而且,本系统与校方紧密结合,并且得到指导老师的支持。因此本系统具有开发研制条件。3.4 可选择的其他系统方案修改方案是应用于网络,它可以做到从远程终端的输入和输出,它以中央服务器存放数据信息。3.4.1本方案的概况本方案所有界面的思想与选定方案相同,但输出机制不同,它完全通过网络传输。3.4.2不选此方案的原因技术方面的不足,在现行技术中还不能达到网络间数据的写入与读出,并有相关网络协议的支持。而且,如果在此方案中,数据较大,网络间的传输速度也会减慢。3.5社会因素方面的可行性3.5.1 法律方面的可行性开发本系统所涉及的工具和技术都通过了相关单位的授权,不存在 如合同责任、侵犯专利权、侵犯版权等方面的问题,在法律方面是可行的。3.5.2 使用方面的可行性本系统得到了校方相关部门的支持和定,在使用方面具有可行性。4总体设计4.1系统功能设计1)院系信息管理功能(1)院系信息的添加,包括记录编号、院系班级名和上级记录编号等信息;(2)院系信息的修改;(3)院系信息的删除;(4)院系信息的查询;2)学生信息管理功能(1)学生基本信息的添加,包括录入学号、姓名、照片、性别、民族、出生日期、籍贯、入校日期、所在院系、职务等学生基本信息(2)基本的修改;(3)学生基本信息的删除;(4)学生基本信息的查询。3)教育经历管理功能(1)学生教育经历信息的添加,包括教育经历编号、学号、开始日期、终止日期、学生名称、职务等信息;(2)学生教育经历信息的修改;(3)学生教育经历信息的删除;(4)学生教育经历信息的查询。4)档案管理功能(1)学生档案信息的修改,包括退学、休学、调转管理;(2)学生档案信息的查询。5)系统管理功能(1)添加系统用户信息,包括编号、姓名、密码、权限等信息;(2)修改系统用户信息;(3)删除系统用户信息;系统模块设计如图2.4.2功能模块设计根据系统实现功能的不同,可以将系统划分为4个大的功能模块,分别为院系管理模块、学生管理模块、档案变动管理模块和系统管理模块,系统功能模块示意图如图2所示。 在功能模块示意图的树状结构中,每个叶子结点都是一个最小的功能模块。具体完成的功能如下:1) 院系信息管理模块主要管理院系信息情况,包括院系信息的添加、查询、修改、删除功能。系统管理员登 录院系管理功能学生信息管理功能教育经历管理功能档案管理功能系统管理功能添加院系信息修改院系信息删除院系信息查询院系信息添加学生的基本信息修改学生的基本信息修改学生教育经历信息删除学生教育经历信息添加学生教育经历信息修改学生档案信息查询学生档案信息添加系统用户信息修改系统用户信息删除学生的基本信息查询学生的基本信息查询学生教育经历信息删除系统用户信息图2系统模块设计2) 学生信息管理模块主要管理学生的基本信息,包括学生基本信息的录入、查询、修改、删除功能。3) 教育经历管理模块主要管理学生教育经历信息情况,包括学生教育经历信息的录入、查询、修改、删除功能。4)档案管理模块主要处理学生档案变动情况,包括退学、休学、调转管理,可以根据学生学号进行查询。5)系统管理模块主要处理系统的登陆用户信息,包括新用户登陆管理、用户的登陆名和密码的管理。学生档案管理系统院系管理学生管理学生信息管理教育经历管理档案管理系统管理用户信息管理修改密码图3学生档案管理系统功能模块示意图4.3E-R图学生信息描述:以学号为主键,组成有:姓名、照片、性别、民族、出生日期、籍贯、入校日期、所在院系、职务、备注数据流学生信息数据流来源SQL Server 2005数据库中学生信息表数据去向学生信息管理页面数据流组成学号、姓名、照片、性别、民族、出生日期、籍贯、入校日期、所在院系、职务、备注表1学生信息学号姓名照片民族籍贯入校日期所在院系备注性别职务出生日期图4院系信息描述:以记录编号为主键,组成有:院系班级名、上级记录编号数据流院系信息数据流来源SQL Server 2005数据库中院系班级表数据去向院系管理页面表2院系信息记录编号院系班级名上级记录编号图5教育经历描述:以教育经历编号为主键,组成有:学号、开始日期、结束日期、学生名称、职务数据流教育经历信息数据流来源SQL Server 2005数据库中教育经历表数据去向教育经历管理页面数据流组成教育经历编号、学号、开始日期、结束日期、学生名称、职务 表3教育经历信息教育经历编号学号职务开始日期结束日期学生名称图6档案信息描述:以档案变动编号为主键,组成有:学号、变动类型、变动日期、原班级编号、转入学校名称、转入班级编号、档案变动原因、备注数据流档案信息数据流来源SQL Server 2005数据库中档案变动表数据去向档案管理页面数据流组成档案变动编号、学号、变动类型、变动日期、原班级编号、转入学校名称、转入班级编号、档案变动原因、备注表4档案信息档案变动编号学号职务变动类型变动日期原班级编号转入班级编号转入学校名称档案变动原因图7系统用户信息描述:数据流系统用户信息数据流来源SQL Server 2005数据库中用户信息表数据去向系统管理页面数据流组成用户姓名、密码、权限、备注 表5系统用户信息用户姓名密码权限备注图85详细设计数据库结构设计是总体设计阶段非常重要的环节,好的数据库结构可以简化开发过程,使系统功能更加清晰明确。因为数据结构的变化会造成编码的改动,所以必须认真设计数据结构后再进行编码,从而避免无谓的重复工作。5.1数据库与数据表设计分析前面的系统功能要求可知,需要表来存储和管理学生的档案信息,使系统能够接受学生输入的1.学生信息表:学生学号、姓名、照片、性别、民族、出生日期、籍贯、身份证号、 入校日期、所在院系、职务、备注学生信息表:用来保存学生的基本信息,其结构如表6、图9所示:2.院系班级表:记录编号、院系班级名、上级记录编号院系班级表:用来保存院系和班级的信息,其结构如表7、图10所示:编号字段名称数据结构说明1号码varchar(20)主键2姓名varchar(20)允许空3照片varchar(100)允许空4性别varchar(2)不允许空5民族varchar(20)允许空6出生日期smalldatetime允许空7籍贯varchar(40)允许空8身份证varchar(40)允许空9入校日期smalldatetime允许空10所在院系varchar(30)允许空11职务varchar(20)允许空12备注varchar(100)允许空表6图9编号字段名称数据结构说明1记录编号Int主键2院系班级名Varchar(20)允许空3上级记录编号Int允许空表7图103.教育经历表:教育经历编号、学号、开始日期、结束日期、学生名称、职务教育经历表:用来保存学生教育经历的信息,其结构如表8、图11所示:编号字段名称数据结构说明1教育经历编号Int主键2学号Varchar(20)允许空3开始日期Smalldatetime允许空4结束日期Smalldatetime允许空5学生名称Varchar(50)允许空6职务Varchar(20)允许空表8图114.档案变动表:档案变动编号、学号、变动类型、变动日期、原班级编号、转入学校名称、转入班级编号、档案变动原因、备注档案变动表:用来保存学生转学调班的信息,其结构如表9、图12所示:编号字段名称数据结构说明1档案变动编号Int主键2学号Varchar(20)允许空3变动类型Varchar(4)允许空4变动日期Smalldatetime允许空5原班级编号Varchar(20)允许空6转入学校名称Varchar(50)允许空7转入学校编号Varchar(20)允许空8档案变动原因Varchar(100)允许空9备注Varchar(100)允许空表9图125.用户信息表:用户姓名、密码、权限、备注用户信息表:用来保存用户名、密码及权限级别等信息,其结构如表10、图13所示:编号字段名称数据结构说明1用户姓名Varchar(20)允许空2密码Varchar(20)允许空3权限int允许空4备注Varchar(20)允许空表10图135.2数据完整性设计1.主键约束、非空值约束。在5个表中有4个表分别规定了表的主键。学生信息表中学号为主键,则学号不能为空值,不能取重复值;院系班级表中记录编号为主键,则记录编号不能为空值,不能取重复值;教育经历表中教育经历编号为主键,则教育经历编号不能为空值,不能取重复值;主键的创建方法如图14所示。图142.默认值约束。对学生信息表中的性别应该建立一个默认值约束,该列的取值可以输入,也可以不输入,在不输入值时学生的性别默认为“男”,默认值约束的创建方法如图15所示。图153.唯一性约束。除了每个表的主键需要定义唯一性外,对于院系班级表中院系班级名应该是不能为重名,所以应该创建唯一性约束,唯一性约束的创建方法如图16所示。4.外键约束。在数据表设计中还要设置各个表的外键,按设置外键的方法设置外键,如图17所示。图16图175.3创建工程和创建数据连接本课程设计选择Delphi7作为前台界面的开发语言,在设计前期,首先要穿线一个Delphi7工程,然后掌握使Delphi7与SQL2005数据库连接的方法,以及如何在Delphi7中处理SQL2005的数据库对象和数据。1)创建工程 首先在Delphi7中穿件一个工程文件,步骤如下:(1) 建立新的工程(可使用FileNew Application命令)(2) Delphi7中自动产生一个窗体。(3) 选择ViewProject Source命令。(4) 此时,程序代码浏览器(Code Explorer)中会出现Project标签页,并显示工程文件的程序代码内容。(5) 选择FileSave Project AS命令。(6) 此时会出现Save Project1 As对话框,在“文件名称”文本框中输入新的工程名称,冰单机“保存:按钮即可。(7) Delphi会自动将工程名称更改为新的文件名称,创建完成工程。2) 创建数据连接 系统通过ADO(Activex Data Object)组件来访问数据库,使用ADO组件中的TADOConnection对象来建立与SQL sever2005数据库的连接。具体步骤如下:(1) 建立新的项目。(2) 在TForm窗体中加入一个TADOConnection对象。(3) 单机TADOConnection对象ConnectionString属性旁边的“”按钮,以打开“连接信息编辑器”选择Use Connection String选项,再单机Build按钮,如图2-7所示。(4) 此时出现“数据连接属性”对话框,从中选择适合的OLEDB驱动程序。因为要连接SQL Sever数据库,所以选择Microsoft OLE DB Provider for SQL Server并单击“下一步”按钮。(5) 在“链接”标签页中指定服务器名称,本例中的服务器名称为COMPUTER,然后输入登录服务器信息,更具SQL Server数据库的身份验证(windows身份验证)填写,最后在服务器上选择数据库,本例中的“学生档案管理”数据库,如图18所示。(6) 在设置连接信息后,可以通过?测试连接”按钮来进行测试。如果连接信息设置无误。那么系统会响应“测试连接成功”的信息,完成创建数据链接。图185.4应用程序结构设计用户界面是用户控制和使用系统的工具和手段。友好,易用的用户界面有助于对数据库的操作。在程序设计中,第一个要创建的窗体就是系统的主界面。但在系统运行时,首先打开的是登录窗体,只有有权限的用户才能进入系统。登录成功后,将显示系统主界面。1) 设计登录窗体 用户要是用系统,首先必须通过系统的身份认证,登录过程需要完成的任务为:根据用户名和密码来判断是否可以进入系统,根据用户类型决定用户拥有的权限。成功登录的用户将进入系统的主界面,登录窗体的界面设计如图19所示。2) 设计主界面 主界面提供系统菜单,用户通过菜单选择调用各功能模块进行操作。 首先主机界面设计主菜单,在工具栏中选择standard中MainMenu控件,将该控件加入窗体,命名为MainMenu1。双击MainMenu1控件,对主菜单进行编辑,如图20所示。图19图20系统菜单更具功能没模块设计为“系统”“院系管理”“学生管理”“档案管理”和“系统管理”五个菜单项。 “系统”菜单可用于退出系统。“院系管理”菜单包括院系信息管理,“学生管理”菜单包括学生信息管理,教育经历管理,“档案管理”菜单包括档案变动管理,“系统管理”菜单包括用户信息管理和修改密码。3) “院系管理”窗体 系统处理院系信息的管理可通过如图21所示的窗体进行操作。 在对院系信息管理中,通过TDBGrid组件把数据库中院系记录显示出来,然后对显示的院系信息进行添加。修改。删除操作。在窗体中院系名称没有固定内容的文本输入框用Edit组件,对上级院系编号用TComboBox组件,将要输入的文本以列表条目的形式编辑好,避免了用户输入错误的信息,为用户提供了非常人性化的服务。单机“退出”按钮将退出院系管理窗体。图214)“学生信息管理”窗体。 该窗体 要查询学生的基本信息,并显示查询的结果,窗体设计如图22所示。 在对学生基本上信息的管理中,通过学生姓名和学号查找出学生的基本信息,并通过TSBGird组件吧查询的结果显示出来,然后对想、查询就过的学生基本信息进行添加,修改,删除操作。在窗体走、红队学号,姓名,民族,籍贯,身份证号,职务和备注等没有固定内容的文本输入框选用Edit组件,队性别,出生日期,入校日期和所在院系则用TComboBox组件,将要输入的文本以列表条目形式编辑好,从而避免了用户输入错误的信息,为用户提供了人性化的服务。单机“退出”按钮将退出学生信息管理窗体。图225)“教育经历管理”窗体 该窗体为学生教育经历信息管理,通过学号查找出教育经历的信息,通过TDBGird组件把查询结果显示出来,然后对查询结果的学生教育经历信息进行添加,修改,删除操作,学生教育经历管理窗体设计如图23所示。图236)“档案变动管理”窗体 次窗体用来管理学生档案变动信息,当学生档案情况发生改变时候、,可以更具学号查询变动档案的学生信息,然后对查询结果的学生档案信息进行添加,修改,删除操作,档案变动管理窗体设计如图24所示。图247)“用户信息管理:窗体 此窗体使用了3个TEdit和一个TComboBox组合框组件,使用TDBGrid组件吧数据库中用户信息显示出来,在进行添加和修改操作时,用户既可以从下拉列表中选取所需权限,也可以自行输入。确定后,用户信息将被写入数据库,用户边有了访问或操作该系统的权利。对用户信息管理模块的操作权限仅限管理员,学生无此权限,用户信息管理窗体设计如图25所示。图256测试编码(1) 主界面标题名称标题名称系统退出系统院系管理院系信息管理学生管理学生信息管理Da0Da_exitDa1Da_classDa2Da_stu教育经历管理档案管理档案变动管理系统用户管理用户信息管理修改密码Da_expDa3Da_staDa4Da_userDa_pwd表11菜单项的属性(2) 登录界面窗体属性设置值具体说明NamePanel1Label1Label2LoginNameLoginPwdBtnOkBtnExitLoginFormAlignCaptionCaptionTextTextPasswordCharCaptionCaption设置窗体名称AlClient用户名密码空空*确定取消表12登录窗体的控件及其属性(3) 学生信息管理窗体窗体属性设置值具体说明Cbx_sexItemIndex0Items男/女Text男DTP_birthdayDate1986-1-1KinddtkDate表13学生信息管理窗体的控件极其属性参考文献数据库原理及开发应用-实验与课程设计指导清华大学出版社 周屹等编著数据库系统基础教程机械工业出版社 Jeffrey D.Ullman jennifer Widom编著小结经过一个星期的课程设计,我终于完成这次的课程设计:学生信息管理系统。我主要负责需求分析,总体设计,详细设计的部分图片与文档。整个系统是一个综合的信息管理系统,其开发主要包括数据库的建立以及前端应用程序的开发两个方面。其重点核心为数据库建立和开发过程。本次课程设计在数据库系统的设计方面深入地讨论了学生信息管理系统设计的技术要点,系统的开发语言采用了Access实现数据库的设计开发,同时使用流行的JSP程序语言实现应用程序的界面。在本次的课程设计过程中,遵循了数据库开发过程的基本步骤,基本实现了数据库的建立和能够实现数据库的基本操作。通过这次的实践,我对数据库的设计有了深刻的了解,同时对于开发一个数据库系统过程也有了一个比较全面的认识。由于课程设计时间较短,加上本人能力有限,因此该系统还有些不尽如人意的地方,有待进一步改善。我会从这些设计中汲取经验总结,在今后的学习加强锻炼,同时我对加强对数据库学习,加强了动手实践能力。附录(部分代码编写)将主窗体MainForm的visible属性设置为False,这样当主窗体启动时将首先打开“登录”窗体,以保证未经过登录验证时看不到主窗体,代码如下:procedure TMainForm.FormCreate(Sender:TObject);begin LoginForm:=TLoginForm.Create(self);/创建登录窗体LoginForm.ShowModal;end;当选择“系统退出”菜单项时将触发Da_exit事件,代码如下:procedure TMainForm.Da_exitClick(Sender:TObject);begin close;end;当用户单击“确定”按钮时将触发.BtnOkClick事件,进行身份验证,登录窗体的名称为LoginForm,代码如下:procedure TLoginForm.BtnOkClick(Sender;TObject);var i:integer;begin application.Terminate; exit;end;if LoginName.Text=thenbegin showmessage(请输入用户名); LoginName.SetFocus; exit;end;if LoginPwd.Text=thenbegin showmessage(请输入密码); LoginPwd.SetFocus; exit;end;loginQ.Open;loginQ.Close;loginQ.SQL.Clear;loginQ1.SQL.Add(select * from 用户信息where 用户名=+”+LoginName.Text+”+and密码=+”+LoginPwd.Text+”);loginQ.open;if not loginQ.IsEmpty then begin MainForm.Visible:=true; MainForm.SetMmenu(Op.privilege); Self.Close;end;else beginShowMessage(用户名或口令输入错误!);i:=i+1;LoginPwd.Text:=”;LoginPwd.SetFocus;end;end;当用户单击学生基本信息管理下的“添加”按钮时将触发btn_addClick事件,对应的程序代码如下:procedure Tfrm_Student.btn_addClick(Sender:TObject);var Student:TStudent;WorkPath:string;begin inherited;if(self.edt_studentNo.Text=”)or(edt_Name.Text=”) or(edt_nation.Text=”)or(self.edt_native.Text=”)or(edt_IDCard.Text=”)or(self.edt_homeTel.Text=”)or(edt_address.Text=”)or(self.edt_postalcode.Text=”)thenbegin MessageBox(Handle,内容填写不正确!,信息,MB_ICONEXCLAMATION);exit;end;/查找是否存在重复If(Control_StudentU.GetStudentByStudentNo(trim(edt_studentNo.Text)nil then begin MessageBox(Handle,该学号已经存在,请重新设置!,信息,MB_ICONEXCLAMATION); exit;end;WorkPath:=ExtractFilePath(Applicantion.ExeName);Student:=TStudent.Creat;Student.stdNo:=self.edt_studentNo.Text;Student.stdName:=self.edt_name.Text;Student.picPath:=photo+Student.stdNo+.bmp;Student.sex:=self.cbx_sex.Text;Student.nation:=self.edt_ nation.Text;Student.birthday:=DateToStr(self.DTP_birthday.date);Student.native:=self.edt_ native.Text;Student.IDCard:=self.edt_ IDCard.Text;Student.homeTel:=self.edt_ homeTel.Text;Student.address:=self.edt_ address.Text;Student.postalcode:=self.edt_ postalcode.Text;Student.inDate:=DateTostr(self.DTP_ indate.Date);Student.ClassName:=self.cbx_ class.Text;Student.duty:=self.edt_ duty.Text;Student.remark:=self.Memo_ remark .Text;if(Control_StudentU.AddStudent(Student)then begin self.image_pic.Pictuer.SaveToFile(WorkPath+Student.picPath); MessageBox(Handle,添加成功!,信息,MB_ICONASTERISK);/刷新内容 FillData; end;else beginMessageBox(Handle,添加失败!,信息,MB_ICONEXCLAMATION);exit;end;end;30
展开阅读全文