1、第9章学生管理信息系统随着学校规模不断扩大,学生数量不断增长,学生信息量也成倍增长。学生管理工作是学校各项工作一种重要某些,其管理水平高低将直接影响到人才培养质量。面对庞大信息量,如何有效地提高学生管理工作效率是一种学校急需解决问题。因而开发适合学校需要学生管理信息系统,通过这样系统,可以做到信息规范管理、科学记录和迅速查询,并减少管理方面工作量。9.1概 述学生管理信息系统作为学校管理中一种子系统,与其她子系统,如教学管理系统、人事管理系统、后勤管理系统,图书馆管理系统等一起构成构园管理信息系统,为校园管理信息化提供一种子功能。因此,几乎所有大、中、小学校都需要一套这样管理系统来提高寻常工作
2、效率。图1和图2所示是两个典型学生管理信息系统界面。图1第一种典型学生管理信息系统界面 图2第二个典型学生管理信息系统界面从界面可以看到,学生管理信息系统应当涉及学生信息管理、学籍管理、成绩管理、奖惩管理和系统管理等基本内容。(1)学生信息管理数据有:学生学号、姓名、性别、出生日期、所属班级、所属院系、籍贯等,当有新生到校时,就启动相应信息管理功能,对所有学生信息进行入库,随时掌握学生基本信息。(2)学籍管理重要是对学生学籍变更状况及时控制和管理,变更因素有:转系、休学、复学、退学和毕业离校。(3)成绩管理是数据量比较大管理工作,每次考试结束后负责对学生各个科目成绩入库工作和对数据库成绩出错校
3、对工作。(4)奖惩管理是针对学生在校体现状况,对学生进行相应解决工作,奖励项目有各种奖学金和文体奖励,惩罚项目有通报批评、警告、严重警告、记过、留校查看、开除等。(5)系统管理重要是执行数据库备份和恢复、数据库表维护等工作,保证系统正常运营。学生管理信息系统作为典型数据库项目应用一种,其开发流程涉及需求分析、UML系统建模、拟定系统集成方案、数据库分析和设计以及各功以模块开发等。下面简介一种学生管理信息系统详细开发过程。9.2需 求 分 析需求分析是数据库系统开发第一步,也是最重要一步。需求分析可以分为两个过程:一是理解需求,二是分析需求。下面分别分析这两个过程。9.2.1 理解需求只有通过对
4、学生管理信息系统终端顾客和客户进行大量调研,才干真正理解终端顾客和客户需求,才干开发出合理、实用管理系统,才干满足各大、中、小学校管理需要。基于大量调研数据,下面列出对最典型、最核心需求。(1)每年开学时,新生来报琶,要对每位新生信息建立个人档案,这某些工作由学籍科管理人员进行维护和操作。学生个人档案涉及学生学号、姓名、性别、出生日期、所属班级、所属院系、籍贯等。(2)考试结束时,教务科管理人员将学生各科成绩录入数据库,以备随时查询。固然录入成绩也有出错也许,因此,必要具备校对修改成绩功能。(3)当学生体现出众或差时候,学生科管理人员应对其进行奖励或惩罚,相应奖项(或惩罚)和奖励(或惩罚)时间
5、数据都应当入库。(4)当学生由于疾病、学业修完等因素学籍需要变更时候,学籍科管理人员应当对其进行学籍变更手续。(5)学生应当具备查询个人信息和成绩权力和权限。(6)系统还应提供强大数据记录、查询、报表生成以及打印等功能。(7)系统客户端运营在Windows平台下,服务器端可以运营在Windows平台或者Unix平台下。(8)系统应当有较好可扩展性。在本系统中重要提供新生信息录入、学籍变更、成绩管理和奖惩管理等有关功能。9.2.2 分析需求分析需求就是描述系统需求,通过定义系统中核心域类来建立模型。分析主线目是在开发者和提出需求人之间建立一种理解和沟通机制,因而学生管理信息系统需求分析是开发人员
6、和学校管理人员一起完毕。分析需求第一步是描述学生管理信息系统功能,即定义用例,以此拟定系统功能需求。一所学校重要成员就是学生和学校管理人员、教师、系统管理员等,管理人员重要指学籍科、学生科和教务科人员,她们是学生管理信息系统重要使用者。学生也是学生管理信息系统重要使用者,只是具备管理权限没有管理人员那么广。系统管理员也是其中一种管理人员,这不影响本系统功能。学生管理信息系统用例涉及如下内容。新生信息学生成绩(涉及录入和校对)学籍变更学生奖励学生惩罚学生信息查询修改需要注意是,学生信息查询修改用例涉及学生对个人基本信息和查询和修改,这些信息指是新生入学时被录入基本信息。此外,学生还具备查询和打印
7、成绩权限,查询奖惩状况、学籍变更记录等权限。学生管理信息系统分析可以用UML用例图来描述。每个用例还可以以文本方式描述,描述内容涉及用例以及用例与角色交互更详细信息,文本内容是通过和顾客讨论后拟定。下面给出上述用例描述。(1)新世界生信息增长学生记录标记学生学号拟定学生院系拟定学生班级(2)学生成绩增长学生成绩记录校对学生成绩(3)学籍变更增长学籍变更记录标记变更因素标记变更时间(4)学生奖励增长学生奖励记录标记奖励项目标记奖励时间(5)学生惩罚增长学生惩罚记录标记惩罚级别标记惩罚时间(6)学生信息查询修改查询个人信息修改个人信息保存个人信息查询奖惩状况查询学籍变更状况打印成绩单9.3UML
8、系 统 建 模完毕需求分析后,就需要对系统进行UML建模。UML建模是对需求分析成果模型建立过程。下面进行学生管理信息系统UML建模过程。9.3.1 学生管理信息系统用例分析在上一节需求分析中列出了学生管理信息系统所有用例:新生信息、学生成绩、学籍变更、学生奖励、学生惩罚、学生信息查询修改。这里,使用权用Rose软件进行UML建模,其用例如图3所示。图3学生管理信息系统用例图该用例图标记了所有学生管理住处系统用例,从中可以得知,学生管理信息系统角色可以划分为两类。学校管理人员:用例涉及学生管理信息系统所有用例。学生:用例只有学生信息查询修改。要注意是,学校管理人员具备查询和修改所有数据权限,处
9、在高权限位置,而学生只有修改个有基本信息、查询奖惩状况、查询学籍变更状况和打印成绩单权限,处在低权限位置。9.3.2 学生管理信息系统域类分析UML建模第二步就是域类分析。实际开发学生管理信息系统时,域类分析是建立在用例分析基本上。要理解系统要解决概念,最佳奖学校管理人员组织起来开个讨论会,详细谈论和列举所需要包括水量用例,理解概念和概念之间关系。学生管理信息系统中域重要涉及:学生(Student)、成绩(Score)、学籍变更(Change)、奖励(Encourage)、惩罚(Punish)。可以在类图中将上面这些域以及它们之间关系表达出来,如图4所示。图4学生管理信息系统域草图需要阐明是,
10、这里域类还是处在“草图”状态,定义操作和属性不是最后片本,只是 在现阶段看来这些操作和属性是比较适当,有些操作奖在时序图草图中定义,而不晨用例哪定义。有些类可以用UML状态图来显示类对象不同状态以及变化状态事件。在本系统中有状态图类是学生,该类状态图将在背面内容中简介。为了描述域类动态行为,可以使用权UML时序图、协作图或者活动图来描述。本文选用时序图。时序图基本是用例。在时序图中要阐明域类是如何协作以操作该系统中用例。固然,在建立时序图时,将会发现新操作,并将其加入类中,这将在背面看到所建立时序图模型。用时序图建模时,需要窗口或对话框作为角色界面。显然,这里需要操作界面有基本信息、奖励、惩罚
11、、学籍变更、修改查询等,此外维护也需要一种操作界面。9.3.3 学生管理信息系统设计在设计阶段,一方面要设计类状态图。类状态图阐明了也许状态以及需要被解决过渡期,使用状态图可以揭示单个对象在整个系统中变化细凶,对理解和实现核心类有较大协助。不是所有类均有状态图,在本系统中,有状态图类是学生。学生状态图如图5所示。图5学生状态图设计阶段最后一步是设计UML模型,也就是将前面设计模型进竽扩展和细化。下面给出各个用例时序图。设计目是产生一种可以使用解决方案,并且可以容易地将方案转换成程序代码。学生时序如图6所示图6学生时序图成绩时序如图7所示。图7成绩时序图学籍变更时序如图8所示。图8学籍变更时序图
12、奖励时序如图9所示。图9奖励时序图惩罚时序如图10所示。图10惩罚时序图查询修改时序如图11所示。图11查询修改时序图时序图设计完毕后,开始进行学生管理信息系统架构设计和细节设计。在架构设计中将定义包(子系统)、包间有关性和基本通信机制。设计架构时,应当将应用逻辑和技术逻辑分割。应用逻辑是需要编码设计,而技术逻辑,重要涉及顾客界面、数据库或者通信普通是已有。学生管理信息系统中包(或者为子系统、层)有如下几种,如图9-12所示。图9-12包和包间关系顾客界面包(User Interface Package):为通用顾客界面类,调用业务对象包中操作检索和插入数据,可以简朴地把它们当作将来顾客要操作
13、界面。业务对象包(Business Object Package):业务对象包包括上面设计分析模型域类。业务对象包同数据库包协同完毕任务。数据库包(Database Package):数据库包向业务对象数据包提供服务。应用包(Utility Package):应用包向其她包提供服务。至此,UML系统建模完毕。9.4系 统 配 置先进数据库系统必有一种相对最优系统配备方案。系统配备要依照顾客实际状况设计,重要根据就是系统吞吐量和系统对稳定性规定,此外,顾客维护水平也是一种重要方面。9.4.1 软件配备软件配备重要涉及数据库选取和操作系统选取。学生管理信息系统软件配备要依照顾客对系统稳定性规定、系
14、统容量以及顾客维护水平来拟定。(1)数据库选取可以依照数据量大小选取不同数据库,如表1所示。数据量是指数据库中需存储单表最大记录数。表1学生管理信息系统数据库选取用 户数据量(登记表)稳定性规定维护水平备选数据库社区小学100500低差Access、Foxpro公立小学或社区小学5005000低差Access、Foxpro公立中学或社区大学500050000中普通SQL Server专业型大学5000000较高较好SQL Server、Oracle综合型大学00高好Oracle在本系统中,选取Access数据库。(2)操作系统选取可以依照顾客量大小选取不同操作系统。操作系统选取如表2所示。表2
15、学生理管信息系统操作系统选取用 户每秒数据库并发数据访问记录数稳定性规定维护水平备选操作系统社区小学1050低差Windows ProfessionalWindows Professional公立小学或社区中学50500中普通Windows NTWindows Server公立中学或社区大学500较高较好Windows NTWindows ServerLinux、UNIX专业型大学500较高较好Linux、UNIX综合型大学以上高好Linux、UNIX在本例中,选取Windows Server操作系统。9.4.2 硬件配备硬件配备重要涉及客户端硬件选取和服务器端硬件选取。学生管理信息系统硬件配
16、备要依照顾客对系统稳定性规定、系统容量、系统吞吐量以及顾客维护水平来拟定。(1)客户端硬件选取可以依照稳定性规定选取不同客户端。普通状况下,对客户端规定不高。如表3所示。表3学生管理信息系统客户端硬件选取用 户稳定性规定备选客户端查询客户端低Pentium CPU/64MB/4GB管理客户端中Pentium /256MB/20GB(2)服务器端硬件选取可以依照数据量和吞吐量大小选取不同服务器硬件。服务器端选取如表9-4所示。表4 学生管理信息系统服务器端硬件选取用 户每秒数据库并发数据访问登记表稳定性规定维护水平备选服务器社区小学950低差Pentium /256MB/20GB个人计算机公立小
17、学或社区中学50500中普通双CPU/1GB/RAID5372GB公立中学或社区大学50500中普通双CPU/1GB/RAID5372GB专业型大学500较高较好强4CPU/4GB/RAID5672GB综合型大学以上高好小型计逄机/双机热备固然,这种配备不是绝对,这里只给出参照配备范畴。详细配备需要依照顾客需求和建设经费精准计算。9.4.3 网络配备学生管理信息系统网络配备普通有如下几种类型。(1)单机模式:即服务器和客户端在一台计算机上。(2)百兆模式:计算机网络速度为百兆,如图13所示。(3)千兆模式:计算机网络速度为千兆,事实上,没有必要给每个节点都配备千兆网络接口,只需要服务端配备千兆
18、接口即可,如图14所示。图13学生管理信息系统网络百兆配备图14学生管理信息系统网络千兆配备在实际运营中,可以依照顾客状况选取不同网络配备,如表5所示。表5学生管理信息系统配备选取用 户每秒数据并发数据访问记录数稳定性规定维护水平备选网络方案社区小学1050低差单机模式公立小学或社区中学50500中普通百兆模式公立中学或社区大学50500中普通百兆模式专业型大学500较高较好百兆模式综合型大学以上高好千兆模式9.5数 据 库 分 析在开发学生管理信息系统时,可以先进行E-R图分析,然后对表和字段进行分析,最后进行数据库建模。9.5.1 E-R图分析对学生管理信息系统E-R图分析是建立在UML系
19、统模型基本上。这里给出E-R图分析成果。实体关系图分析成果非常复杂,普通状况下使用从简到繁方式进行设计。一方面从大方面设计出各个实体之间关系,然后在这个关系基本上进行细化。图15所示为学生管理信息系统实体关系简图。图15学生管理信息系统实体关系简图在简图基本上进一步设计实体关系详细构造。图16所示为学生管理信息系统实体关系详图。图916只是学生管理信息系统最基本元素实体关系图,可以在此基本上依照顾客不同需要进行扩展。图16学生管理信息系统实体关系图9.5.2 表/字段分析和数据库建模表/字段分析是建立在实体关系图基本上。对表和字段分析后就可以建立数据库模型了。以图16所示学生管理信息系统实体关
20、系图为基本,可设计表和字段,然后建立数据库模型。建立数据库模型如图17所示。图9学生管理信息系统数据库模型9.6数 据 库 设 计数据库设计与应用等程序设计是分离,数据库设计非常重要。有了数据库模型,数据库设计就简朴多了。在学生管理信息系统中,一方面要创立学生管理信息系统数据库,然后在数据库中创立需要表和字段。下面分别讲述本系统中数据库设计。本例采用Access数据库系统来进行数据库设计。9.6.1 创立数据库下面给出在Access中创立数据库过程。(1)运营Access应用程序,在“新建数据库”选项组中选用“空Access数据库”单选,按钮,然后单击“拟定”按钮,如图18所示。(2)在“文献
21、新建数据库”窗口指定数据库存储位置与数据库文献名称(本例为Stu.mdb)然后单击“创立”按钮,如图19所示。图18新建数据库 图19指定数据库存储位置与数据库文献名称9.6.2 创立表下面给出在Access 中创立表过程。(1)在创立数据库后,进入主界面,单击“Stu:数据库”子窗口中“设计”按钮。此时将会出出“表1:表”窗口,如图20所示。图20开始设计表(2)在表设计窗口“表1:表”中,按表6建立数据字段,并指定字段数据类型与有关属性。表6学生信息数据库(Stuinfo)字 段 名 称数 据 类 型说 明StuId数字编号StuNo数字学号DepartMent文本院系Class文本班级N
22、ame文本姓名Sex文本 性别 BirthDay 日期/时间 生日 NativePlace 文本 籍贯建立数据库字段并指定字段数据类型与有关属性后,字段设计界面如图21所示。(3)在StuId字段上单击鼠标右键,选取快捷菜单中“主键”选项,让StuId字段成为重要索引字段,则StuId 字段前方将出邮一种钥匙图标,如图22所示。图21字段设计 图22设立“StuId”字段为主键(4)字段设计完毕后,单击工具栏中“保存”按钮,此时将会浮现“另存为”对话框,在“表名称”文本框输入“StuInfo”,如图23所示,然后单击“拟定”按钮将这个表保存。(5)回到“Stu:数据库”子窗口中,如果浮现了St
23、uInfo 这个表项目,就代体当前已经完毕学生数据文献设计,如图24所示。图23保存表 图24完毕数据库中表创立工作(6)重复环节(1)(5),按表7、表8、表9、表10建立表,并指定表中各字估数据类型与有关属性。表7字籍变更数据表(Change)字 段 名 称数 据 类 型说 明StuNo 数字学号Name 文本 姓名Class文本 班级DeparMent文本 院系ChangeName文本 学籍变更项ChangeTime 日期/时间 学籍变更时间Remark 文本 备注图8学生奖励数据表(Encourage)字 段 名 称数 据 类 型说 明 StuNo 数字 学号 Name 文本 姓名 C
24、lass 文本 班级 DeparMent 文本 院系 EncourageName 文本 奖励项 EncourageTime 日期/时间 奖励时间表9学生惩罚数据表(Punish)字 段 名 称数 据 类 型说 明 StuNo 数字 学号 Name 文本 姓名 Class 文本 班级 DepartMent 文本 院系 PunishName 文本 惩罚项 PunishTime 日期/时间 惩罚时间表10学生成绩数据表(Score)字 段 名 称数 据 类 型说 明 ScoreId 数字 编号 StuNo 数字 学号 Name 文本 姓名 Course 文本 课程 Score 数字 成绩(7)将这些
25、表分别名为Change、Encourage、Punish、Score,主键分别为:StuNo、StuNo、StuNo、Scoreld,设计成果如图25所示。,(8)回到“Stu:数据库”子窗口中,浮现了StuInfo、Change、Encourage、Punish、Scores个表项目,完毕数据文献设计,如图26所示。图25完毕数据库表项目设计 图26完毕后端数据库创立工作9.7界 面 设 计以上内容完毕了数据库后台工作,建立起了可以保障系统顺利、对的运营后台。界面设计工作在进行系统开发时候是必不可少,也是十分重要。下面就对学生管理信息系统界面设计。9.7.1 顾客登录界面设计运用顾客登录成功
26、能实现对顾客操作权限限制。管理员和学生权限不同样,管理员拥有系统所有权限,学生只有查询修改个人信息和打印成绩单权限。顾客必要输入对的密码才干进入下一界面,如果顾客密码输入错误,应用程序会提示错误信息。顾客如果持续3次输入错误,应用程序会逼迫使用者退出并终结应用程序运营,图27所示是顾客登录界面窗体。9.7.2 学生管理信息系统主界面设计学生管理信息系统主界面重要实现新生信息录入、成绩管理、学籍变更、惩罚管理、奖励管理和查询修改功能。选取该界面中工具栏中不同按钮,就会进入实现不同功能窗体。图28是图书馆理系统主界面窗体。图27顾客登录界面窗体 图28学生管理信息系统主界面窗体这里重要简介与数据库
27、有关组件属性,如表11所示。表11学生管理信息系统主界面中数据库组件属性设立组 件属 性属 性 值 Table1 DatebaseName Student TableName Stulnfo Table2 DatebaseName Student TableName Change Table3 DatebaseName Student TableName Encourage Table4 DatebaseName Student TableNsam Punish Table5 DatebasdeName Student TableName Score Query1 DatebaseName S
28、tudent Query2 DatebaseName Student Query3 DatebaseName Student Query4 DatebaseName Student Query5 DatebaseName Student DataSource1 DataSet Table1 DataSource2 DataSet Query2 DataSource3 DataSet Query3 DataSource4 DataSet Query4 DataSource5 DataSet Table5 DataSource6 DataSet Query5 9.7.3 新生信息录入界面设计新生信
29、息录入界面重要实现学生信息添加功能,涉及学号、性别、出生日期、籍贯、姓名、班级、所属院系等信息添加,图29是新生信息录入界面窗体。图29新生信息录入界面窗体9.7.4 成绩管理界面设计成绩管理界面重要实现成绩添加和校对修改功能,图30是成绩管理界面窗体。图30成绩管理界面窗体9.7.5 学籍变更界面设计学籍变更界面是实现学生学籍变更功能,图31是学籍变更界面窗体。图31学籍变更界面窗体9.7.6 奖励管理界面设计当学生在校体现先进,学校应当奖励该学生,以勉励人们学习热情。奖励管理界面用于实现学生奖励功能。相应奖项有校特等奖、校一等校、校二等校、校三等校、工作奖等,顾客可以依照实际状况进行设计。
30、图32是奖励管理界面窗体。图32奖励管理界面窗体9.7.7 惩罚管理界面设计当学生在校体现差,学校应当惩罚该学生。惩罚管理界面就是实现学生惩罚功能。相应惩罚项有警告、记过、开除等,顾客可以依照实际状况进行设计。图33是惩罚管理界面窗体。图33惩罚管理界面窗体9.7.8 查询修改界面设计学生可以依照自己学号在查询修改界面中查询自己个人信息,涉及基本信息、个人成绩、学籍变更状况、奖励和惩罚状况。如果发现基本信息有错误话,有权进行修改,并且学生有权打印自己成绩单。图9-34是查询修改界面窗体。图34查询修改界面9.8代 码 分 析 与 实 现上面对程序界面设计进行了详细设计,基本完毕了程序界面设计工
31、作。程序代码是程序核心所在,是系统开发灵魂。下面对系统代码做详细分析。9.8.1 顾客登录代码实现学生管理信息系统启动时,一方面浮现是系统主界面。单击系统主界面中工具栏“顾客登录”按钮,就弹出顾客登录界面。程序从配备文献中获取管理员和学生密码,和顾客输入密码比较,如果密码对的,则依照身份配权限;如果不对的,则提示顾客重输或退出:重输3次以上,系统自动退出。代码如下:Proctdure TLoginFrm.BitBtn1Click(Sender:TObject);/“顾客登陆”按钮单击事件Var pwdfile:textfile;PwdStr:string;Begin if RadioButto
32、n1.checked=True then assingnfile(pwdfile,.Admini.cfg); if RadioButton2.checked=True then assingfile(pwdfile,.student.cfg); reset(pwdfile); readln(pwdfile,pwdStr); closefile(pwdfile); Times:=Times=1; If edit1.Text=PwdStr then begin close; StuMainFrm.Enabled:=True StuMainFrm.PageControll.ActivePage:=S
33、tuMainFrm.Tabsheet6; StuMainFrm.PageControll.Visible:=true; if Radiobuttonl.checked=True then begin StuMainFrm.ToolButton2.Enabled:=Ture; StuMainFrm.Toolbutton3.Enabled:=True; StuMainFrm.ToolButton4.Enabled:=True; StuMainFrm.ToolButton5.Enabled:=True; StuMainFrm.ToolButton8.Enabled:=True; StuMainFrm
34、.ToolButton6.Enabled:=True; end; if RadioButton2.checked=True then begin StuMainFrm.ToolButton6.Enabled:=True; end;endelsebegin if MessageDlg(密码输入错误,与否退出?,mtContirmation,mbYes,mbNo,0)=mryes then begin close; StuMainFrm.Enabled:=True; end else begin if times3 then editl.SetFocus else begin MessageDlg
35、(对不起,密码输入严重错误,请退出!,mtInformation,mbOk,0); Application.Terminate; end;end;end;end;为了防止顾客多次重输密码,限制了输入了次数为3次,因而需要对次数进行初始化,活加代码如下:Procedure TLoginFrm.FormShow(Sender:TObject);Begin Times:=0;End;9.8.2 成绩管理代码实现当管理员选取了一位学生后,输入各科成绩,程序把数据保存到数据库。代码如下:Procedure TStuMainFrm.BitBtn9Click(Sender:TObject);/“添加”按钮单
36、击事件var StuNo,StuName:string; i:integer;begin with Query do begin close; Sql.Clear; Sql.Add(Select StuNo from Score Whers StuNo=+DbEdit6.Text+); Open; if recordcount=0 then begin StuNo:=DbEdit6.Text; StuName:=DbEdit7.Text; for i:=l to 12 do begin if Coursei0then with Table5 do begin Open; Append; Set
37、Fields(nil,StuNo,kStuName,Coursei,Scorei); Post; end;end;end else MessageDlg(对不起,该记录已经存在!,mtInformation,mbOk,0);end;end;9.8.3 学籍变更代码实现当管理员选取了学籍需要变更学生后,输入变更项和变更时间,程序把数据保存到数据库。代码如下:procedure TStuMainFrm.BitbtnlClick(Sender:Tobject);/“添加”按钮单击事件var StuNo,StuName,StuClass,StuDepart.ChangeName,ChangeRemar
38、k:string;begin winth Table2 do begin Open; StuNo:=Editl.text; StuName:=Edit2.text; StuClass:=Edit3.text; StuDepart:=Edit4.text; ChangeName:=ComboBoxl.Text; ChangeRemark:=Edit5.text; append; SetFields(StuNo,StuName,StuClass,StuDepart,ChangeName,ChangeRemark,Formatdatetime(dddddde,DateTimePicker2.Dat)
39、; Post; end;end;9.8.4 奖励管理代码实现当管理员选取了需要奖励学生后,选取了奖项和奖励时后,程序把数据保存到数据库。代码如下:procedure TStuMainFrm.bitbtn3Click(Sender:TObject);/“添加”按钮单击事件var StuNo,StuName,StuClass,StuDepart,EncourageName:sering;begin with Table3 do begin Open; StuNo:=Edit6.text; StuName:=Edit7.text; StuClass:=Edit8.text; StuDepart:=E
40、dit9.text; if RadioButtonl.checked=true then EncourageName:=RadioButtonl.Caption; if RadioButton2.checked=true then EncourageName:=RadioButton2.Caption; if RadioButton3.checked=true then EncourageName:=RadioButton3.lCaption; if RadioButton4.checked=true then EncourageName:=RadioButton4.Caption; if RadioButton5.checked=true then EncourageName:=RadioButton5.Caption; if RadioButton6.checked=true then EncourageName:=RadioButton6.Caption; if RadioButton7.checked=true then EncourageName:=RadioButton7.Capiton; if R