教学信息管理系统的设计与实现.doc

delphi教学信息管理系统的设计与实现(源代码+论文)

收藏

资源目录
跳过导航链接。
delphi教学信息管理系统的设计与实现源代码论文.rar
delphi教学信息管理系统的设计与实现(源代码+论文)
教学管理系统
aboutboxUnit.dcu
aboutboxUnit.ddp
aboutboxUnit.dfm
aboutboxUnit.pas
aboutboxUnit.~ddp
aboutboxUnit.~dfm
aboutboxUnit.~pas
addcourseUnit.dcu
addcourseUnit.ddp
addcourseUnit.dfm
addcourseUnit.pas
addcourseUnit.~ddp
addcourseUnit.~dfm
addcourseUnit.~pas
addgradeUnit.dcu
addgradeUnit.ddp
addgradeUnit.dfm
addgradeUnit.pas
addgradeUnit.~ddp
addgradeUnit.~dfm
addgradeUnit.~pas
addstudentUnit.dcu
addstudentUnit.ddp
addstudentUnit.dfm
addstudentUnit.pas
addstudentUnit.~ddp
addstudentUnit.~dfm
addstudentUnit.~pas
addteacherUnit.dcu
addteacherUnit.ddp
addteacherUnit.dfm
addteacherUnit.pas
addteacherUnit.~ddp
addteacherUnit.~dfm
addteacherUnit.~pas
adduserUnit.dcu
adduserUnit.ddp
adduserUnit.dfm
adduserUnit.pas
adduserUnit.~ddp
adduserUnit.~dfm
adduserUnit.~pas
advancequeryUnit.dcu
advancequeryUnit.dfm
advancequeryUnit.pas
AverageToolUnit.dcu
AverageToolUnit.ddp
AverageToolUnit.dfm
AverageToolUnit.pas
AverageToolUnit.~dfm
AverageToolUnit.~pas
bukaogradeReportUnit.dcu
bukaogradeReportUnit.dfm
bukaogradeReportUnit.pas
bukaoReportUnit.dcu
bukaoReportUnit.ddp
bukaoReportUnit.dfm
bukaoReportUnit.pas
bukaoReportUnit.~dfm
bukaoReportUnit.~pas
chartUnit.dcu
chartUnit.ddp
chartUnit.dfm
chartUnit.pas
chartUnit.~ddp
chartUnit.~dfm
chartUnit.~pas
ChongXiuReportUnit.dcu
ChongXiuReportUnit.ddp
ChongXiuReportUnit.dfm
ChongXiuReportUnit.pas
ChongXiuReportUnit.~dfm
ChongXiuReportUnit.~pas
classgradeReportUnit.dcu
classgradeReportUnit.ddp
classgradeReportUnit.dfm
classgradeReportUnit.pas
classgradeReportUnit.~dfm
classgradeReportUnit.~pas
classgradeReportUnit1.dfm
classgradeUnit1.dfm
copyfileUnit.dcu
copyfileUnit.dfm
copyfileUnit.pas
coursebrowseunit.dcu
coursebrowseunit.ddp
coursebrowseunit.dfm
coursebrowseunit.pas
coursebrowseunit.~dfm
coursebrowseunit.~pas
coursegradeReportUnit.dcu
coursegradeReportUnit.ddp
coursegradeReportUnit.dfm
coursegradeReportUnit.pas
coursegradeReportUnit.~dfm
coursegradeReportUnit.~pas
crediToolUnit.dcu
crediToolUnit.ddp
crediToolUnit.dfm
crediToolUnit.pas
crediToolUnit.~ddp
crediToolUnit.~dfm
crediToolUnit.~pas
creditReportUnit.dcu
creditReportUnit.ddp
creditReportUnit.dfm
creditReportUnit.pas
creditReportUnit.~dfm
creditReportUnit.~pas
datamoduleUnit.dcu
datamoduleUnit.ddp
datamoduleUnit.dfm
datamoduleUnit.pas
datamoduleUnit.~ddp
datamoduleUnit.~dfm
datamoduleUnit.~pas
datamodulUnit.dfm
courseUnit.dcu
courseUnit.ddp
courseUnit.dfm
courseUnit.pas
courseUnit.~ddp
courseUnit.~dfm
courseUnit.~pas
gradeUnit1.dcu
gradeUnit1.ddp
gradeUnit1.dfm
gradeUnit1.pas
gradeUnit1.~dfm
gradeUnit1.~pas
studentUnit.dcu
studentUnit.ddp
studentUnit.dfm
studentUnit.pas
studentUnit.~ddp
studentUnit.~dfm
studentUnit.~pas
teacherUnit.dcu
teacherUnit.ddp
teacherUnit.dfm
teacherUnit.pas
teacherUnit.~dfm
teacherUnit.~pas
userUnit.dcu
userUnit.ddp
userUnit.dfm
userUnit.pas
userUnit.~ddp
userUnit.~dfm
userUnit.~pas
gradebrowseunit.dcu
gradebrowseunit.ddp
gradebrowseunit.dfm
gradebrowseunit.pas
gradebrowseunit.~ddp
gradebrowseunit.~dfm
gradebrowseunit.~pas
gradeunit.dcu
gradeunit.ddp
gradeunit.dfm
gradeunit.pas
gradeunit.~ddp
gradeunit.~dfm
gradeunit.~pas
GraduateGradeReportUnit.dcu
GraduateGradeReportUnit.ddp
GraduateGradeReportUnit.dfm
GraduateGradeReportUnit.pas
GraduateGradeReportUnit.~dfm
GraduateGradeReportUnit.~pas
JXMS.cfg
JXMS.dof
JXMS.dpr
JXMS.
JXMS.res
JXMS.~dpr
logunit.dcu
logunit.ddp
logunit.dfm
logunit.pas
logunit.~ddp
logunit.~dfm
logunit.~pas
mainunit.dcu
mainunit.ddp
mainunit.dfm
mainunit.pas
mainunit.~ddp
mainunit.~dfm
mainunit.~pas
splashunit.dcu
splashunit.ddp
splashunit.dfm
splashunit.pas
splashunit.~dfm
splashunit.~pas
StatisticsToolUnit.dcu
StatisticsToolUnit.dfm
StatisticsToolUnit.pas
studentgradeReportUnit.dcu
studentgradeReportUnit.ddp
studentgradeReportUnit.dfm
studentgradeReportUnit.pas
studentgradeReportUnit.~dfm
studentgradeReportUnit.~pas
studentgradeUnit.dfm
studentgradeUnit.pas
SysInfoUnit.dcu
SysInfoUnit.dfm
SysInfoUnit.pas
teacherunit.~ddp
passwordUnit.dcu
passwordUnit.ddp
passwordUnit.dfm
passwordUnit.pas
passwordUnit.~ddp
passwordUnit.~dfm
passwordUnit.~pas
Data
jiaoxuedb.mdb
Graph
Help
helpprj.GID
HELPPRJ.HLP
Rav
rvProjectall.rav
论文
压缩包内文档预览:(预览前20页/共52页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:149740891    类型:共享资源    大小:2.17MB    格式:RAR    上传时间:2021-10-10 上传人:好资料QQ****51605 IP属地:江苏
20
积分
关 键 词:
delphi 教学 信息管理 系统 设计 实现 源代码 论文
资源描述:
delphi教学信息管理系统的设计与实现(源代码+论文),delphi,教学,信息管理,系统,设计,实现,源代码,论文
内容简介:
毕 业 设 计(论 文) 学院 信息工程学院 专业 计算机科学与技术 班级 1625 姓名 xucidong33 2007年 3 月 15 日 摘 要教学信息管理系统是校园信息管理系统的一个有机组成部分,本文简要阐述了教学管理系统建设的意义以及系统的开发过程。教学管理系统采用当前最流行的Delphi编程技术,可以实现数据的高效、动态、交互访问,具有强大的Server/Client交互能力。本系统以Delphi7.0 SQL Sever 2000为主要开发平台,从用户的角度出发,对教学管理系统的功能进行了全面的分析。本系统实现的主要功能包括学生成绩查询、学生资料查询、教师资料查询、单科成绩浏览、学年开课清单、学分计算、平均分计算、添加修改学生、教师、课程信息、删除学生、教师、课程信息、数据库的还原、备份、用户信息的管理和维护及其它一些辅助功能。在数据库的建立上主要采用Access作为关系数据库的开发工具。在数据库的连接上采用ADO的数据库访问技术。本文从开发平台、运行环境、系统设计和模块实现等方面阐述了系统的设计以及开发过程,从该系统的开发背景、系统功能、设计思路和一些程序开发的细节等方面进行了论述。尤其是详细的说明了学分计算、平均分计算、添加修改学生、教师、课程信息、删除学生、教师、课程信息、数据库的还原、备份、用户信息的管理和维护这几个模块的设计与开发过程。关键词:Delphi SQL 教学管理系统 数据库AbstractThe teaching information management system is an organism that campus information manage the system to constitute the part, this text synopsis expatiated the teaching manages the meaning of system developments and the process of development of the systems.Teaching management system adoption front most popular of Delphi plait distance technique, can realize data efficiently, development, hand over to visit with each other, have the mighty Server/ Client hands over with each other ability.This system with Delphi7.0 SQLSever 2000 for main the terrace of development, set out from the angle of the customer, manage to the teaching the function of the system proceeded completely of analysis.The main function that this system realizes includes the student the score the search, student data search, teacher data search, single section score view, the academic year has a lecture detailed list, credit calculation, average cent calculation, increase to modify the student, teacher, course the information and delete the student, teacher, course the information, database restores, the management of the backup, customer information with support and other some assistance function.Establish the tool of development of the our main adoption in top Access conduct and actions relation database in the database.The database interview technique of the adoption ADO on the conjunction in database.This text is from the development terrace, circulate the environment, system design with mold a design for realizing etc. expatiating system and development processes, from the background of development, system function of that system, designed the way of thinking to proceed the treatise with details etc. that some procedure develop.Its is management that expatiation credit calculation, average cent calculation, increase to modify the student, teacher, course the information and delete the student, teacher, course the information, database restores, backup, customer information with design that support this a few molds piece and development process.Key Words: Delphi SQL teaching management system data-base目 录摘 要IAbstractII目 录III引 言1第1章 管理信息系统概述21. 1管理信息系统产生的背景21. 2管理信息系统的定义31. 3管理信息系统的类型41. 4管理信息系统设计原则5第2章 开发工具的介绍72. 1 Delphi简介72. 2 Delphi 的特点72. 3 Server数据库开发82. 4 ODBC概述8第3章 系统设计和数据库设计103. 1 系统设计103. 1. 1 系统功能分析103. 1. 2系统功能模块设计103. 2 数据库设计103. 2. 1数据库需求分析103. 2. 2数据库概念结构设计103. 3数据库逻辑结构设计12第4章 教学管理系统的详细设计154. 1用户登陆模块154. 2系统模块154. 3查询模块154. 4浏览模块154. 5计算模块164. 6维护模块164. 7帮助模块17第5章 动态数据访问的实现185. 1 数据库的基础知识185. 1. 1数据库技术的发展185. 1. 2数据库(DataBase,简称DB)205. 1. 3 表(Table)215. 2数据库的建立215. 3 ADO简介235. 4用ADO连接数据库23第6章 教学管理系统的开发过程246. 1登录窗体246. 2主窗体246. 3系统246. 4 查询256. 4. 1学生成绩查询256. 4. 2学生资料查询256. 4. 3 教师资料查询256. 5 浏览266. 5. 1单科成绩浏览266. 5. 2学年开课清单266. 6 计算276. 6. 1 学分累加计算276. 6. 2 平均分计算286. 6. 3 学生成绩分布直方图296. 6. 4 计算器316. 7 维护316. 7. 1 添加学生信息316. 7. 2 添加教师信息336. 7. 3 添加课程信息336. 7. 4 学生成绩录入356. 7. 5 删除学生记录366. 7. 6 删除教师信息376. 7. 7 删除课程信息386. 7. 8 删除成绩记录396. 7. 9备份数据库406. 7. 10 还原数据库416. 7. 11更改密码416. 7. 12 添加新用户426. 7. 13 删除用户436. 8帮助436. 8. 1给我发邮件436. 8. 2关于436. 8. 3系统信息43结 论44参考文献45谢 辞4646引 言教务管理是大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,教务日常管理工作日趋繁重、复杂,迫切需要研制开发教学管理软件。国外高校一般具有较大规模的稳定的技术队伍来提供服务与技术支持,国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,因此国家教育部面向各级各类学校开展了全面学分制改革。因此,各院校迫切学要对自己的现有教务管理系统进行改进和提高,根据国内大学的现在管理模式,结合国际新的思想观念,在校园网络环境下建设先进的、与国际水平接轨的信息化管理平台。提高学校管理工作的现代化水平,使之成为学校公共信息服务体系的重要组成部分。在这样的大环境下,选择了“教学管理信息系统”这个设计题目,符合实际需求。 教学信息管理系统是高校教学、教务管理应用软件。熟悉教学管理工作的全部过程,从教学工作的实际出发,解决工作中关键性的难点问题,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教务管理走向无纸化办公和规范化、现代化管理。 第1章 管理信息系统概述1. 1管理信息系统产生的背景 在过去的30年中,各行各业往往都有不少管理人员和行政首脑孤立地看待数据处理和计算机。造成这种看法的原因是,数据处理(DP)和信息服务(IS)人员不愿使用容易被用户(即“使用”计算机的人员)理解的语言同用户进行交流。管理人员对这种交流缺乏兴趣和无能为力,导致延缓了计算机系统的开发,从而在许多其它方面助长了闭关自守和冗余劳动的现象。 在用户同信息服务人员的交流方面,没有一个单位指望能做到尽善尽美,但是,确有某些单位已经取得了比较好的成功经验。用户同信息服务人员配合默契的一些单位认为:这种成功的原因在于,用户已经掌握了计算机和信息资源管理方面的基本知识。可见,用户管理人员掌握这方面的知识是非常必要的。诚然,信息服务专业人员是具备这方面知识的,但是要使用户管理人员获得这些知识,就必须通过正规的学习、阅读和实践。 妥善处理用户同信息服务人员之间的关系,可以加强双方的互相配合。为了建立和维护一个高质量的信息系统,各方都必须尊重对方的意愿。系统质量的优劣是直接与用户同信息服务人员之间互相配合的好坏成正比的。 凡是那些不愿意掌握有关计算机和信息资源管理方面基本知识的用户管理人员和行政首脑,必将成为落伍者,特别是在当前这种鼓励用户直接参与信息系统开发过程的发展趋势下。过去,用户管理人员在很大程度上是依靠信息服务人员来推荐、开发和实现所需要的信息系统的。鉴于信息服务需要不断的发展变化,现在把鉴别和提高系统的责任留给了用户这也是理所应当的。用户更多地参与信息系统的开发,这种趋势早在70年代中期就开始了,而且,自那时以后不断地发展,现在已进入了信息服务人员同用户合作的时代,因为只有用户更了解他们自己想从信息系统中得到什么。 用户参与信息资源管理(IRM)的典型事例表现在分布式数据处理(DDP)方面。在这方面,用户不仅要参加系统的开发,而且还要负责管理系统运行所需要的硬件设备和人员3。 直到最近几年,人们才认识到:信息是一种资源,必须把这种有价值的资源加以利用,不使其白白浪费掉。在竞争激烈的环境里,管理人员和行政首脑必须有效地利用信息,不然就难以立足于不败之地。过去,管理人员仅仅把计算机看成是省钱的工具,而现在,计算机被看成是创造利润的工具。每个公司都有大量的、尚未发掘的、可利用计算机和信息资源的潜力。发掘这种潜力所需要具有的计算机和信息处理的知识水平,是大多数管理人员和行政首脑力所能及的。 1. 2管理信息系统的定义管理信息系统(Management Information System,简称MIS)是从管理、信息、系统三个概念的基础上发展起来的。它首先是一个系统,其次是信息系统,再次是一个用于管理方面的信息系统。一方面这说明了一切用于管理方面的信息系统均可认为是管理信息系统。另一方面说明这种信息系统不同于卫星通信系统,而强调其用在管理上。管理信息系统综合运用了管理科学、系统科学、运筹学、统计学、计算机科学等学科的知识。对于管理信息系统通俗的理解可以是:管理信息系统=管理业务+数据库+通信网络技术对管理信息系统的理解可从广义和狭义两方面来理解。广义的说:管理信息系统是用系统思想建立起来的,以计算机为信息处理手段,以现代通信设备为基本传输工具,能为管理决策者提供服务的人机系统。狭义的说:管理信息系统是一个由人和计算机等组成的,能进行数据的收集、传递、储存、加工、维护和使用的系统,它具有计划、预测、控制和辅助决策等功能5。这个定义说明了管理信息系统不仅是一个技术系统,而且要考虑人的行为,是个社会系统,是个管理系统。所以说管理信息系统是一个人机系统。现代科学管理就是把管理过程数量化,用计算机解决问题以达到系统的目的。这是现代化管理的标志。概括起来就是系统的观点、数学的方法、计算机的应用。管理信息系统是一个人机系统,但计算机并不一定是管理信息系统的必要条件。实际上,任何地方只要有管理,就要有信息,也就要管理信息系统。计算机的强大能力使管理信息系统更有效。问题不在于用不用计算机,而在于把什么样的信息处理处理交给计算机更合适,什么样的工作交给人更合适。人和计算机的联系是什么?怎样才能充分发挥人和计算机各自的特长,组成一个和谐、有效的系统?现在的管理信息系统都充分强调计算机的作用,所以也称为计算机管理信息系统,为了设计好人机系统,系统设计者不仅要懂得计算机,而且要懂得人,懂得协调和管理。从事管理信息系统工作的高级人才被称为系统分析员。他不单是一个技术人才而且也是个管理人才,对于一个系统分析员来说,了解基本组织功能,如市场、生产、人事、财务等和了解计算机一样重要,了解决策和人机对话中人的行为和了解程序知识一样重要。一个系统分析员应有两方面的能力:一方面能从管理的目标出发,定义信息需求,另一方面能从系统出发定义计算机的硬件、软件要求。他不仅要有反映现实的能力,而且应当有改造现实的能力。管理信息系统的总体概念如图1-1所示。高级管理人员(计划控制决策)中级管理人员(计划控制决策)管理职能人员计算机信息系中央数据库统业务子系统n子系统3子系统1子系统2信息系统图1-1 管理信息系统总体概念图其中数据库中各子系统是不同单位根据自己不同情况进行设计,可以有一般有市场子系统,生产子系统,人事子系统,财务子系统等其他子系统。管理信息系统概念结构主要由四大部分组成,如图1-2所示。数据源信息用户信息管理者信息处理者 图1-2 管理信息系统概念结构图1. 3管理信息系统的类型 信息系统可以是人工的或基于计算机的,独立的或综合的,成批处理的或联机的。通常的信息系统是上述各种类型的组合。当然它不能即是独立的又是综合的。 1.独立的系统是为了满足某个特定的应用领域(如,人事管理)而设计的。独立系统有它自己的文件,这些文件必然带有一定的冗余性。2.综合的信息系统通过它们使用的数据而被综合在一起。系统利用一个资源共享的数据库来达到综合的目的。3.以人工系统为基础已经开发出各种各样的计算机信息系统。到目前为止,在进行人工“计算机化”时,仍然缺乏设计经验和(或)缺少信息服务人员与用户之间的交流。也就是说,基于计算机的系统的工作流程直接借鉴了人工系统的工作流程。通常这些系统是独立的,而且把计算机仅仅用作为数据处理机。在设计这些系统时,很少考虑到最终要将它们综合的意图。 4.信息系统也能按成批处理、联机处理或二者组合来分类。在成批处理系统中,将事务和数据分批地处理或产生报表。 即使出现了信息资源管理(IRM)系统,而且计算机信息系统的潜力得到了广泛的承认之后,大多数系统仍然是独立的成批处理系统。如今这些系统中多数已经失去了使用价值,而且被重新设计成综合的、联机的系统。通过定义可知,“综合”要求业务领域经理和公司领导密切地合作。信息服务专业人员可以作为顾问,而有关综合信息系统与业务领域的冲突和差异则应该由用户团体来解决。解决这些差异以真正实现综合的环境是信息服务人员向用户经理提出的挑战14。1. 4管理信息系统设计原则 管理信息系统的设计与开发是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,尽可能的提高系统的各项指标。具体的设计原则如下:1.实用性原则要力求最大限度的满足工作的需要,充分考虑个业务层次、各管理环节数据处理的实用性,把满足用户生产和管理业务作为第一要素进行考虑。用户接口和操作界面设计尽可能作到界面美观大方,操作简便实用。2.可扩展性与可维护性原则为适应将来的发展,系统应具有良好的可扩展性与可维护性,软件设计尽可能模块化、组件化,使应用系统可灵活配置,适应不同的情况。数据库的设计尽可能考虑到未来的需要。3.安全可靠性原则应用软件与数据库系统的设计要作到安全可靠,防止非法用户的入侵。数据库的备份策略恰当,以防止灾难性事故发生。4.用户界面设计原则图形化原则:用户界面的是设计应符合规范的图形用户界面,作到美观大方。用户界面应当直接、明了、条理清晰。实现傻瓜性管理易学、易用、易管理。5.数据库设计原则(1)一致性原则:对系统进行统一、系统的分析与设计,协调好各数据源,作到数出一门、算法统一、度量统一。保证系统数据的一致性和有效性。(2)完整性原则:数据库的完整性是指数据的正确性和有效性。要防止合法用户使用数据库时向数据库加入不规范的数据。对输入到数据库中的数据要有审核和约束机制。(3)可伸缩性原则:数据库结构的设计应充分考虑发展的需要、移植的需要,具有良好的扩展性、伸缩性和适度冗余。规范化数据库的设计:应遵循规范化理论,规范化程度过低,可能会存在插入、删除异常、修改复杂、数据冗余等问题,解决的方法就是对关系模式进行分解或合并,转换成高级范式。但也应当注意到,并不是规范化程度越高就越好。当一个应用的查询中经常设计到两个或多个关系模式的属性时,系统就必须经常的进行连接运算,而连接运算的代价是非常高的。所以,在具体应用时到底规范化进行到身摸程度需要权衡利弊。一般而言,作到第三范式就足够了4。第2章 开发工具的介绍2. 1 Delphi简介Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。 Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Resourse Workshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件1。Delphi发展至今,不断添加和改进各种特性,功能越来越强大。2. 2 Delphi 的特点 企业应用的MDA开发。通过让开发者从设计到部署都使用一个应用,加速了开发进程,同时显著缩小了代码量,并节省了开发时间。 可视化的快速Web开发。让开发着能够在Delphi7环境中可视化的创建Web应用,并利用用他的应用模型框架,不必在考虑应用器端的开发任务,还能透明的处理会话管理。内建的Linux的跨平台支持。Delphi7在出售时将附带Delphi语言版本的Kylix3.Kylix3是第一个在Linux操作系统上的高性能的可视化整合开发环境,它适合用来快速创建数据库应用、GUI应用、Web应用和Web服务应用1。企业级的报表能力。让开发者能够创建跨平台的报表,这些报表能帮助查看应用程序运行的效率。 免费的DataSnap多层应用开发。新的Delphi7的DataSnap授权协议允许开发者无缝的升级单层和客户/服务器应用到多层应用,而无需额外的运行时使用费。 Windows XP应用。Delphi7对Windows XP风格的支持,让开发者能够创建可以利用Window XP 使用者界面风格的应用。2. 3 Server数据库开发本系统的数据库应用了SQL Server2000 ,是由Microsoft 公司推出的数据库管理系统,它是一个大型数据库管理系统。具有的特点有:(1) 简单的图形化管理工具。(2) 隐含的开发控制能力:可以利用动态锁定功能,防止用户在查询和更新并发操作时相互间发生冲突。(3)丰富的编程接口工具:提供了Transact_SQL,DB_Library for C等开发工具。(4)资源优化:SQL SERVER 2000是Microsoft服务器套件Backoffice的成员之一,它与其他软件有机结合并充分利用它们所提供的服务功能(如安全管理、时间日制等),从而增强SQL SERVER数据库系统的功能,并且仅占用较少的系统资源2。(5)具有很好的伸缩性:既能运行在Windows 2000 下,又可运行在Windows NT Server 等操作系统下。由以上SQL SERVER的特点可知,SQL Server既具有小型数据库的灵活性,又继承大型数据库的许多优点,在性能和安全方面完全可以胜任本系统的要求,维护管理是十分方便的。2. 4 ODBC概述在Internet上,访问的数据库资源很丰富,种类也是各种各样,常见的Web数据库就有ORACLE、Sybase、MS SQL Server、Informix等等,它们运行在不同的操作平台下,具有不同的结构体系。这样就需要一种统一的方法来实现对各种数据库的访问。ODBC的出现为解决了这个问题。ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Servieces Architecture)中有关数据库方面的一个组成部分,它建立了一组规范。该规范为应用程序提供了一组对数据库访问的标准和基于动态链接库的运行支持环境。开发ODBC接口可以使创建与多个数据库系统进行交互的应用程序。在使用ODBC开发的数据库应用程序时,应用程序调用的是标准的ODBC函数和SQL语句,数据库的底层操作由各个数据库的驱动程序完成。而对用户来说,ODBC的驱动程序屏蔽了不同数据库系统间的差异,使得用ODBC编写数据库应用程序可以运行在不同的数据库环境下。这样应用程序就具有很好的可移植性和适应性,从而彻底的克服了传统数据库的缺陷2。ODBC从结构层次上可以分为四个部分:(1) ODBC应用程序;(2) 驱动程序管理器;(3) 数据库驱动程序;(4) 数据源;在ODBC的体系结构中,数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。数据源位于底层,是应用程序与数据库系统连接的桥梁,它为ODBC应用程序指定数据库系统的服务器名称,以及用户的缺省连接参数等。ODBC应用程序不能直接存取数据库,它将所要执行的操作提交给数据库驱动程序,通过数据库驱动程序实现对数据源的各种操作,数据库的操作结果也通过数据库驱动程序返回给应用程序。而驱动程序管理器的作用是装载ODBC驱动程序、管理数据源、检查ODBC调用参数的合法性等。作为底层的数据库应用程序由三部分组成;初始化、程序主体和结束部分。它的主要任务是:建立或断开与数据源的连接、向数据源发送SQL请求并为SQL语句的执行结果分配存储空间、读取执行结果并向用户提交该结果、处理错误等9。图2-1表示了这些组成部分。 ODBC数据库应用程序 驱动程序管理器SQL Server驱动程序FoxPro驱动程序ORACLE驱动程序SQLServer驱动程序FoxPro驱动程序ORACLE驱动程序 图2-1 ODBC结构图第3章 系统设计和数据库设计3. 1 系统设计3. 1. 1 系统功能分析本系统主要有以下功能要求:(1)登陆,包括:注销和退出;(2)查询, 包括: 学生成绩查询、学生资料查询、教师资料查询;(3)浏览, 包括:单科成绩浏览、学年开课清单;(4)计算,包括:学分计算、平均分计算和方差计算;(5)维护,包括:填加修改删除学生、教师、课程信息、数据库的还原、备份及用户信息的维护;(6)帮助,包括:关于、给我发邮件、系统信息。3. 1. 2系统功能模块设计根据系统功能要求,可以将系统分解成几个功能模块来设计,功能模块如图3-1所示。3. 2 数据库设计3. 2. 1数据库需求分析根据数据流程,教学管理信息系统需要以下数据项:(1)登陆表:用户名、密码、权限、角色;(2)课程表:课程名称、讲课、学时、学分、课程状态;(3)课程类型表:课程编号、课程类型;(4)成绩类别表:成绩类别、人数;(5)成绩表:记录编号、课程名称、教师姓名、学年、学期、成绩、课程状态;(6)学生表:学号、姓名、性别、籍贯、生日、电话、电子邮箱;(7)教师表:员工号、姓名、所在教研室、性别、电话、电子邮箱、职称。3. 2. 2数据库概念结构设计为了把用户的数据要求清晰的表达出来,要建立一个概念性数据模型(也称信息模型)。概念模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。它描述了从用户的角度看到的问题,它反映了用户的现实环境,且与软件系统中的现实方法无关。最常用的表示概念模型的方法是实体-联系方法,下面用ER图概述描述现实世界中的实体。图3-2是本系统所需数据的E-R模型图。 教学管理信息系统查询单科成绩浏览学年开课清单浏览维护帮助计算系统 学生资料查询教师资料查询学生成绩查询计算器平均分计算学分计算 学生信息教师信息添加修改记录课程信息删除记录备份记录还原数据帐户学生成绩学生信息教师信息课程信息学生信息更改密码添加帐户删除帐号图3-1 教学信息管理系统功能模块图课程信息表学时学分课程类型课程名教课教师姓名性别邮箱年龄照片职称电话教研室登陆信息密码级别用户名登陆登陆用户角色教学学生学号姓名照片性别籍贯邮箱电话生日查看录入成绩表成绩学年学期授课教师课程名课程类型学号 N 1M 1 1 1 N N 1 1 N N 图3-2教学信息管理系统E-R图3. 3数据库逻辑结构设计根据上面的图, 需要七个基本信息表: 课程表、课程类型表、成绩表、学生表、教师表、登陆表、成绩类别表。此外,需要对不同的人员进行密码验证和权限的限制,防止出现越权行为。用户名、密码和权限单独保存在一个表中。这7个数据表的结构如下所示。表3-1 COURSE表字段名数据类型字段大小是否可空说明CNAME文本30NOT NULL课程名(主关键字)SDUDYTIME数字整型NOT NULL学时CREDIT数字单精度型NOT NULL学分TYPENO数字整型NOT NULL课程类型(外部关键字)表 3-2 COURSETYPE表字段名数据类型字段大小是否可空说明TYPENO数字长整型NOT NULL课程编号(主关键字)TYPENAME文本10NOT NULL课程类型表 3-3 GRADE表字段名数据类型字段大小是否可空说明SNO文本8NOT NULL学号(主关键字)CNAME文本30NOT NULL课程名(外部关键字)TNAME文本8NOT NULL教师姓名GRADE文本6NOT NULL成绩YEAR数字长整型NOT NULL学年(外部关键字)TERM文本2NOT NULL学期(外部关键字)TYPE文本、8NOT NULL考试类型(外部关键字)表3-4 STUDENT表字段名数据类型字段大小是否可空说明SNO文本8NOT NULL学号(主关键字)SNAME文本8NOT NULL学生姓名SSEX文本2NOT NULL性别JIGUAN文本20NOT NULL籍贯BIRTHDAY日期/时间/NOT NULL生日TEL文本15NOT NULL电话EMAIL文本50NOT NULL电子邮箱PHOTOOLE对象/NULL照片表3-5 SYS表字段名数据类型字段大小是否可空说明USER文本5NOT NULL用户名(主关键字)PSW文本10NOT NULL密码TYPE文本1NOT NULL用户类型ROLE文本16NOT NULL用户角色表 3-6 TEMP表字段名数据类型字段大小是否可空说明AREA文本20NOT NULL成绩类别(主关键字)COUNT数字整型NOT NULL人数表 3-7 TEACHER字段名数据类型字段大小是否可空说明TNAME文本8NOT NULL教师姓名(主关键字)TSEX文本2NOT NULL教师性别TEL文本15NOT NULL电话EMAIL文本30NOT NULL电子邮箱AGE数字整型NOT NULL年龄JIAOYANSHI文本10NOT NULL教研室ZHICHENG文本10NOT NULL职称PHOTOOLE对象/NULL照片第4章 教学管理系统的详细设计4. 1用户登陆模块登录系统是为防止非法用户进入系统而设计的。主要用于辨认操作员身份,以确定其使用权限。用户登陆,关键是验证用户名称和口令,用户进入系统要在登陆帐号的文本框中添入自己申请的帐号,然后添入相应的密码。程序以输入的用户名和密码为条件从密码权限表中查询数据,只有注册过的用户,正确输入登陆帐号,以及确认密码无误之后才能进入系统。如果用户输入的登陆帐号和与之相对应的密码错误的时候,系统会显示“密码或用户名错误!请检查!”,这样就需要重新返回登陆界面重新登陆了。如果连续三次输入错误的用户名和密码,系统会提示对话框:“对不起,你已连续三次输入错误!”,然后退出系统。4. 2系统模块系统模块主要包括两个方面:注销,退出。点击注销按钮时回退出系统主界面,返回到登陆窗口,允许下一位用户继续登陆,点击退出时将关闭整个应用程序。4. 3查询模块查询模块主要包括三个方面:学生成绩查询、学生资料查询、教师资料查询。学生成绩查询:在期末输入成绩单后,学生可以在查询成绩界面中查看自己的学科成绩。登录成绩查询界面后,需要输入学生编号、开课年份,然后在课程名称下拉列表中会自动显示已修课程,选择相应课程,单击查询按钮,即可显示相应课程成绩。学生资料查询:登录学生资料界面后,输入学生编号,单击查询按钮,即可显示相应的学生信息。教师资料查询:教师资料查询与学生资料查询相类似,登录教师资料查询界面后,需要输入教师姓名,单击查询按钮,即可显示相应教师信息。4. 4浏览模块浏览模块主要包括两个方面:单科成绩浏览,学年开课清单。单科成绩浏览:学生对录入成绩的查询是教学管理系统的一个重要组成部分,因此有必要开发一个成绩查询窗体,它主要设计数据的查询。登陆成绩浏览界面后,选择要查询的年份及学期信息,便可查询相应的考试成绩。学年开课清单:学年开课清单与单科成绩浏览界面像类似,登陆界面后,选择要查询的年份及学期信息,这一学年的开课信息就可以显示在列表中浏览。4. 5计算模块计算模块主要包括两个方面:学分计算、平均分计算。学分计算:学分累加计算主要用于查询学生已修课程的累计学分,在此界面中,输入要查询的学号及课程类型,系统会自动统计合格学分及不合格学分并显示在列表框中。同时可以查看所有以修课程的成绩信息。平均分计算:平均分是反映学生的整体学习效果,是学生总体成绩情况的直观体现,因此在此系统中,设计了平均分计算模块。输入要查询的年份、课程名称及教师姓名,学生的平均分会自动计算出来并显示,此外还可以生成一个学生成绩分布直方图。4. 6维护模块维护模块主要包括三个方面:添加修改学生信息、教师信息、课程信息、学生成绩,删除学生信息、教师信息、课程信息、学生成绩,备份数据库,还原数据库,更改密码,添加帐号、删除帐号。添加修改学生信息、教师信息、课程信息、学生成绩四个小模块的窗体大致相同,只是实现的具体操作各有不同,以下以“添加学生信息”为例介绍本部分功能。当需要更新一个全新的学生信息后就可以在“添加修改学生信息”模块中添加信息如:学号、姓名、性别、籍贯、出生年月、联系电话、电子邮件、照片。当用户将这部分模块内容添加之后,点击插入按钮添加一个新的学生信息。作为数据库信息管理系统,其信息总是会过时的。因此,如果没有存在的价值,就需要将一些记录按条件进行删除。所以有必要开发专门用于删除信息的功能模块。删除学生信息、教师信息、课程信息、学生成绩三个模块的基本窗体也大致相同,以“删除教师信息”为例介绍本部分功能。此处需要说明的是:具有删除功能的只能是数据库管理员。输入要删除的教师姓名然后按回车键定位,会显示相应的教师信息,点击删除按纽,删除此教师信息。在数据库应用程序中,由于病毒的入侵或磁盘的损坏,常常出现数据丢失的现象。如果预先对数据库中的数据进行备份,那麽在系统遭到破坏时,就可以恢复数据,从而避免重大的损失。备份数据库与还原数据库模块主要完成数据库的备份与恢复。本系统设计了修改用户密码功能模块来提高系统的安全性,用户通过输入用户名和原来的密码可以进行密码的修改。在该窗体中,有输入新的密码和确认密码两项,在这两项的文本框中输入新密码,系统会判断你输入的这两次密码是否相同,若相同则单击“确认”按钮后,密码就修改成功了。若两次输入的密码不同,则光标会自动回到要求输入新密码的文本框中,表示系统要求你重新输入新密码。如果不想修改,单击“取消”按钮即可.此外,用户以数据库管理员的身份登陆即可注册新的帐号。用户只需点击“添加用户”按钮即可弹出“添加用户”对话框,便可以选择添加的用户类型进行新用户的添加。首先判断“新用户名”是否与现有的用户名重名,如果是则终止过程并弹出“用户名已存在”提示框,请用户重新输入用户名。如果“用户名“不重名则验证两次输入的用户密码是否一致,如果不一致则需重新输入。如果以上验证全部通过则弹出“用户添加成功”提示框。删除帐号主要功能是删除一个用户,只有最高级别的管理员才有删除的权利。选择要删除的用户名,确认无误后即可把该用户信息删除。4. 7帮助模块主要包括三个方面:关于、系统信息、给我发邮件。此模块中包含着软件的版本信息、制作时间、制作人的联系方式及一些基本的相关信息。第5章 动态数据访问的实现5. 1 数据库的基础知识5. 1. 1数据库技术的发展数据管理技术的发展可以大体归为三个阶段:人工管理、文件系统和数据库管理系统。 1.人工管理 这一阶段(20世纪50年代中期以前),计算机主要用于科学计算。外部存储器只有磁带、卡片和纸带等还没有磁盘等直接存取存储设备。软件汇编语言,尚无数据管理方面的软件。数据处理方式基本是批处理。这个阶段有如下几个特点:(1)计算机系统不提供对用户数据的管理功能。用户编制程序必须全面考虑好相关的数据,包括数据的定义、存储结构以及存取方法等。程序和数据是一个不可分割的整体。数据脱离了程序就无任何存在的价值,数据无独立性。 (2)数据不能共享。不同的程序均有各自的数据,这些数据对不同的程序通常是不相同的,不可共享;即使不同的程序使用了相同的一组数据,这些数据也不能共享,程序中仍然需要各自加人这组数据,谁也不能省略。基于这种数据的不可共享性,必然导致程序与程序之间存在大量的重复数据,浪费了存储空间。(3)不单独保存数据。基于数据与程序是一个整体,数据只为本程序所使用,数据只有与相应的程序一起保存才有价值,否则就毫无用处。所以,所有程序的数据均不单独保存。2.文件系统 在这一阶段(20世纪50年代后期至60年代中期)计算机不仅用于科学计算,还利用在信息管理方面。随着数据量的增加,数据的存储、检索和维护问题成为紧迫的需要,数据结构和数据管理技术迅速发展起来。此时,外部存储器已有磁盘、磁鼓等直接存取的存储设备。软件领域出现了操作系统操作系统中的文件系统是专门管理外存的数据管理软件,文件是操作系统管理的重要资源之一。数据处理方式有批处理,也有联机实时处理。这个阶段有如下几个特点:(1)数据以“文件”形式可长期保存在外部存储器的磁盘上。由于计算机的应用转向信息管理,因此对文件要进行大量的查询、修改和插人等操作。(2)数据的逻辑结构与物理结构有了区别,但比较简单。程序与数据之间具有“设备独立性”,即程序只需用文件名就可与数据打交道,不必关心数据的物理位置。由操作系统的文件系统提供存取方法(读写)。 (3)文件组织已多样化。有索引文件、链接文件和直接存取文件等。但文件之间相互独立、缺乏联系。数据之间的联系要通过程序去构造。(4)数据不再属于某个特定的程序,可以重复使用,即数据面向应用。但是文件结构的设计仍然是基于特定的用途,程序基于特定的物理结构和存取方法,因此程序与数据结构之间的依赖关系并未根本改变。(5)对数据的操作以记录为单位。这是由于文件中只存储数据,不存储文件记录的结构描述信息。文件的建立、存取、查询、插人、删除、修改等所有操作,都要用程序来实现。 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出一些缺陷: (1)数据冗余。由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储。 (2)不一致性。这往往是由数据冗余造成的,在进行更新操作时,稍不谨慎,就可能使同样的数据在不同的文件中不一样。(3)数据联系弱。这是由于文件之间相互独立,缺乏联系造成的。文件系统阶段是数据管理技术发展中的一个重要阶段。在这一阶段中,得到充分发展的数据结构和算法丰富了计算机科学,为数据管理技术的进一步发展打下了基础,现在仍是计算机软件科学的重要基础。3.数据库管理系统 这一阶段(60年代后期),数据管理技术进入数据库系统阶段。数据库系统克服了文件系统的缺陷,提供了对数据更高级、更有效的管理。这个阶段的程序和数据的联系通过数据库管理系统来实现(DBMS),见图5-1所示。 图5-1程序和数据间的联系概括起来,数据库系统阶段的数据管理具有以下特点: (1)采用数据模型表示复杂的数据结构。数据模型不仅描述数据本身的特征,还要描述数据之间的联系,这种联系通过存取路径实现。通过所有存取路径表示自然的数据联系是数据库与传统文件的根本区别。这样,数据不再面向特定的某个或多个应用,而是面向整个应用系统。数据冗余明显减少,实现了数据共享。 (2)有较高的数据独立性。数据的逻辑结构与物理结构之间的差别可以很大。用户以简单的逻辑结构操作数据而无需考虑数据的物理结构。数据库的结构分成用户的局部逻辑结构、数据库的整体逻辑结构和物理结构三级。用户(应用程序或终端用户)的数据和外存中的数据之间转换由数据库管理系统实现。(3)数据库系统为用户提供了方便的用户接口。用户可以使用查询语言或终端命令操作数据库,也可以用程序方式(如用C一类高级语言和数据库语言联合编制的程序)操作数据库。(4)数据库系统提供了数据控制功能。例如,1。数据库的并发控制:对程序的并发操作加以控制,防止数据库被破坏,杜绝提供给用户不正确的数据;2。数据库的恢复:在数据库被破坏或数据不可靠时,系统有能力把数据库恢复到最近某个正确状态;3。数据完整性:保证数据库中数据始终是正确的;4。数据安全性:保证数据的安全,防止数据的丢失、破坏4。 (5)增加了系统的灵活性。对数据的操作不一定以记录为单位,可以以数据项为单位。5. 1. 2数据库(DataBase,简称DB)数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务服务。20世纪70年代是数据库蓬勃发展的年代。网状系统和层次系统占据了整个商用市场,而关系系统仅处于实验阶段。许多计算机厂商研制了各种数据库管理系统,许多学者发表了大量的探讨性论文,使数据库技术在实践中和理论上得到飞速发展。数据库技术也日趋成熟。20世纪80年代,关系系统由于使用简便,逐步代替网状系统和层次系统占领了市场。同时关系数据库的理论日趋完善,走向更高的阶段。数据库的理论研究以及新的数据库系统的研究仍在继续,不断深化。现在,数据库技术已成为计算机领域中最重要的技术之一,它是软件科学中一个独立的分支。它的出现使得计算机应用参透到工业、商业、行政、科学研究、工程技术和国防军事的各个部门,参透到社会的每一个角落,并正改变着人们的工作方式和生活方式。管理信息系统、办公自动化、决策支持系统、智能系统等都是使用了数据库技术的计算机应用系统。数据库已经成为信息高速公路的核心部分。数据库技术的基本概念:1.数据管理系统 DBMS是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB方法,包括DB的建立、查询、更新及各种数据控制。DBMS 总是基于某中数据模型,可以分为层次型、网状型、关系型、和面向对象型。2.数据库系统 DBS 是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软件、硬件和数据资源组成的系统,既它是采用了数据库技术的计算机系统。5. 1. 3 表(Table)表:作为具体存储和组织数据的对象,由行和列组成。而表又有五个特性:1.行必须是唯一可标识的,不允许有相同的两行。2.行的顺序无关。3.列必须是唯一可标识的,同一表中列名必须惟一,不同表中列名可以相同。4.列的排列顺序无关。5.列的原子性,列不能再被细分为更小的成分。主键:是一个属性集合,它能惟一标识一个元组,又不含多余属性。5. 2数据库的建立Access2000是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。Microsoft Access 提供两种创建Access 数据库的方法:可以先创建一个空数据库,然后再添加表、窗体、报表及其他对象,这是最灵活的方法,但需要分别定义每一个数据库要素。也可以使用“数据库向导”仅一次操作即可为所选数据库创建必要的表、窗体及报表,这是开始创建数据库的最简单的方法。无论哪一种方法,在数据库创建之后,都可以随时修改或扩展数据库。使用“数据库向导”建立数据库的过程如下:(1)在“新建文件”任务窗格中的“根据摸板新建”栏目下,单击“通用摸板”选项。此时会弹出“摸板”对话框。在摸板对话框中“常用”和“数据库”两个选项卡。在“常用”选项卡中可以选择“空数据库”、“现有数据库”和“新数据库”等常用选项,在“数据库”选项卡中则提供了各种数据库类型。这里选择了“定单入口”数据库类型。(2)选中数据库类型,单击“确定”按钮后,会弹出“文件新建数据库”对话框,用来指定数据库的名称和位置。(3)在指定了数据库的名称和位置,单击“创建”按钮。接下来会出现“数据库向导”对话框,它将引导用户一步一步地创建数据库的各种对象。对于不同的数据库库类型,“数据库向导”中的选项会有不同,但是具体的步骤大致一样。对于上面选中的“定单入口”数据库类型的“数据库向导”,在对话框显示了“定单入口数据库将存储”的表为:客户信息、定单信息、定单明细、付款信息、产品信息和公司信息。(4)单击“下一步”按钮,会弹出对话框。该对话框用来选定数据库中不同的表需要的字段,在对话框中例出了该类型数据库中在每个表中可能需要的字段名称,用户只需选择需要的字段即可。(5)选择完表中的字段后,单击“下一步”按钮,出现对话框,用来确定屏幕的显示样式。不同的显示样式可以在对话框左侧的界面中浏览,这里选择“标准”样式。(6)单击“下一步”按钮,接下来弹出对话框用来选择打印报表所用的样式,不同的显示样式可以在对话框左侧的界面中与浏览,这里“正式”样式。(7)单击“下一步”按钮,接下来弹出的对话框用来指定数据库的标题,可以选择是否在报表上加一幅图片。以上基本完成了使用向导构建数据库所需的信息。这时候会出现对话框,在其中选中“是的,启动该数据库”复选框,单击“完成”按钮即可启动该数据库。最后,“数据库向导”开始创建“定单入口”数据库。在创建的过程中可能需要用户输入一些相关信息。完成后,会显示“主切换面板:,利用它可以执行相关的输入或查看数据、预览报表等操作。5. 3 ADO简介ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。5. 4用ADO连接数据库在使用ADO访问数据库时,有两种方法可以进行连接:第一种方法是使用ADO Connection建立与数据库的连接。第二种方法是直接使用TAD Dataset TAD Query TADOTable等连接数据库。 在使用第一种方法后,其他的组件都可以享用该连接,本系统中是通过ADO Connection来建立连接。在ADO Connection中,最主要的参数是ConnectionString,这个属性是多个字符串的集合,之间用逗号隔开,它用于标志ADO Connection连接到数据设备时所需要的信息,指定了这个属性就建立了一个ADO连接。具体方法是单击对象观察器中ConnectionString属性框右边的省略号按钮,在出现的对话框中点击bulid按钮,将出现数据连接属性对话框,选择Microsoft Jet 4.0 OLD DB Provider,选择下一步,输入数据库所在路径,点击测试连接对话框,将提示连接成功对话框,这样数据库就连好了。第6章 教学管理系统的开发过程 在delphi7中创建一个新的工程,将此工程单命名为JXMS。6. 1登录窗体此模块的主要的功能:(1)根据用户名和密码来判断是否可能进入系统;(2)根据用户类型决定用户拥有的权限。根据学校不同的事务,整个系统提供了不同的用户权限,数据库管理员、一般用户两种身份。用户想进入系统首先就要进行身份验证,即在用户名的文本框中添入自己的帐号,然后添入相应的密码。然后在sys表中验证该用户是否合法,只有用户名及密码确认无误之后才能进入。如果用户名和密码一致时,用户可以登录到主窗体;用户单击“退出”子按钮退出此系统。此窗体主要用于用户身份的认证,同时整个程序的数据库连接和用户账号也保存在这个窗体中,登录窗体布局如图6-1所示。 图6-1 登录窗体6. 2主窗体输入用户名和密码后,进入管理系统主界面,主窗体是完成所有管理任务的界面,教学管理应用程序主要有以下功能:学生成绩查询、学生资料查询、教师资料查询、单科成绩浏览、学年开课清单、学分计算、平均分计算、方差计算、填加修改学生、教师、课程信息、删除学生、教师、课程信息、数据库的还原、备份及其它一些辅助功能。主窗体如图6-2所示。6. 3系统此界面主要完成系统的注销和退出,点击注销按钮时,将返回到登陆界面,以便于重新登陆主界面。图6-2 主窗体6. 4 查询此模块的主要功能是按照用户选择字段的值进行信息的查询。包括学生资料、学生成绩、教师资料的查询。6. 4. 1学生成绩查询登录成绩查询界面后,需要输入学生编号、开课年份,然后在课程名称下拉列表中会自动显示已修课程,选择相应课程,单击查询按钮,即可显示相应课程成绩,此处用到“开始查询”(button)按钮的onclick事件,“重新选课”按钮用于新的一轮成绩的查询。6. 4. 2学生资料查询登录学生资料界面后,需要输入学生编号,单击查询按钮,即可显示相应学生信息,此处用到“开始查询”(button)按钮onclick事件。当点击“确定”按钮以后,执行Tstudentform.BitBtn1Click事件。在此程序中,先获取客户端页面提交数据,用到的语句为:sno:=trim(edit1.Text);在这里同样需要建立和数据库的连接,然后执行的语句为 with datamodule1.tablestudent do begin open; 若查找不到该学生,则会显示相应的查找出错信息。6. 4. 3 教师资料查询教师资料查询与学生资料查询开发过程相类似,登录教师资料查询界面后,需要输入教师姓名,单击查询按钮,即可显示相应教师信息,此处用到”开始查询”(button)按钮的onclick事件。当点击“确定”按钮以后,执行Tteacherform.BitBtn1Click事件。在此程序中,先获取客户端页面提交数据,用到的语句为:tname:=trim(edit1.Text);在这里同样需要建立和数据库的连接,获得客户端数据后就会执行一条SQL查询语句,SQL语句为:select * from teacher where tname like :tname6. 5 浏览此模块的主要功能是按照用户选择字段的值进行信息的浏览。包括单科成绩浏览、学年开课清单。6. 5. 1单科成绩浏览登陆成绩浏览界面后,选择要查询的年份及学期信息,获取客户端页面提交数据用到的语句为:Parameters.ParamByName(year).Value:=strtoint(combobox1.Text);Parameters.ParamByName(term).Value:=combobox3.Text. 获得客户端数据后就会执行一条SQL查询语句,SQL语句为:select Distinct cname from grade where year=:year and term=:term.在课程名称的下拉列表中会出现此学年的开设课程,选中某一课程,则成绩浏览表被击活,可查看此门课程的授课情况及课程成绩。6. 5. 2学年开课清单学年开课清单与单科成绩浏览界面相类似,登陆界面后,选择要查询的年份及学期信息,获取客户端页面提交数据用到的语句为:Parameters.ParamByName(year).Value:=dbcombobox1.Text.获得客户端数据后就会执行一条SQL查询语句,SQL语句为:Select distinct ame,studytime,credit,typename,year,term,tname from grade,course,coursetyp where ame=ame and course.typeno=coursetype.typeno. 若选择查看全年的课程,则sql.Add( and term =:term)。在课程名称的下拉列表中回出现此学年的开设课程,选中某一课程,则成绩浏览表被击活,可查看此门课程的授课情况及课程成绩。6. 6 计算6. 6. 1 学分累加计算1.学分累加计算开发过程中的具体操作步骤和方法(1)打开已存在的工程。通过执行Delphi7的主菜单中的File中的New Form命令项,增加一个新的窗体。将窗体的Caption属性修改为“学分累加器”。(2)在窗体中放入三个Pane控件和一个DBGrid控件。(3)在窗体上半部分的Panel1中分别放入两个 Label控件,一个ComboBox控件、一个TEdit控件和一个TBitBtn。控件Label1的Caption属性为“学号”,其所对应的TEdit控件用于输入要查询的学号。控件Label2的Caption属性为“课程类型”,其所对应的ComboBox控件用于显示课程类型的下拉列表(必修课、校内选修课、系内选修课、实践课、其他),供用户选择。TbitBtn控件用于查询功能,是此界面的核心部分。(4)在窗体中间部分的Panel中分别放入两个 Label控件、两个TEdit控件和一个TBitBtn。控件Label2的Caption属性为“合格学分”,其所对应的TEdit控件用于显示合格学分。控件Label3的Caption属性为“不合格学分”,其所对应的TEdit控件用于显示不合格学分。TbitBtn控件用于清空功能。(5)在窗体的下部分放入一个DBGrid控件,以表格的形式显示和操作数据集中的数据,可以同时浏览多条记录。Colums属性是DBGrid组件中用来控制字段列显示格式的最重要的属性。它是用来读取和设置网格中列的特性的。Colums属性可以在设计阶段来实现:通过字段编辑器来设置。该表格的字段名分别是“课程代码”、“课程名”、“学分”、“成绩”。Datasoure属性是DBGrid控件的一个主要属性,它指定数据访问组件的数据源。通过这个数据源数据控制组件才能访问数据库中的数据。该属性一般可以通过下拉列表选择,方法是选中DBGrid组件后,先在对象观察器中选择Datasoure的右列,该右列出现下三角箭头,然后单击该箭头,出现一个列表,从列表中选择所用的数据源,如果窗体上只有一个数据源,直接双击Datasoure右列空白处即可。DBGrid控件一般来说通常是与DataSource一同连用的,而这两个控件的联系正是通过设置DataSource属性来完成的。2学分累加计算模块功能的实现学分累加计算主要用于查询学生以修课程的累计学分,在此界面中,输入要查询的学号及课程类型,获取客户端页面提交数据用到的语句为:Parameters.ParamByName(sno).Value:=edit1.Text; Parameters.ParamByName(typename).Value:=combobox1.Text; 获得客户端数据后执行的语句为:if not datamodule1.passed(fieldbyname(grade).AsString) then notpass:=notpass+fieldbyname(credit).AsFloat else pass:=pass+ fieldbyname(credit).AsFloat;同时在DBGrid组件中会出现此学生该学年所修过的全部课程情况。窗体如图6-3所示。图6-3 学分累加计算窗体6. 6. 2 平均分计算1平均分计算开发过程中的具体操作步骤和方法(1)打开已存在的工程。通过执行Delphi7的主菜单中的File中的New Form命令项,增加一个新的窗体。将窗体的Caption属性修改为“平均分”。(2)在窗体中放入两个Panel控件和一个DBGrid控件。(3)在窗体上半部分的Panel1中分别放入四个 Label控件、三个 ComboBox 控件和一个 SpeedButton 控件、一个DBNavigator控件和两个Bevel控件。三个 Label控件分别用于显示“年份”、 “课程名称”、“教师姓名”,其所对应的ComboBox控件用于输入要查询的相关信息。Label4的Caption属性为“平均分显示区”,将控件SpeedButton的 Caption属性修改为“详细图表”,用于执行显示平均成绩直方图功能。数据库导航器控件DBNavigator主要用来数据操作和数据浏览。DBNavigator组件中的几个按钮可以通过ObjectInspecor中的VisibleButtons属性设置是否显示。使用DBNavigator控件时,首先将该控件的Datasoure 属性和TDataSource组件关联,并保持数据集连接,就可以通过DBNavigator控件浏览和操纵数据了。控件Bevel用来设置窗体区域的突出或下陷,主要用来修饰窗体的外观,使其富于层次性和变化性。(4)在窗体的下部分放入一个DBGrid控件,以表格的形式显示和操作数据集中的数据,可以同时浏览多条记录。该表格的字段名分别是“学号”、“课程名称”、“任课教师”“成绩”、“年份”、“学期”。Datasoure属性是DBGrid控件的一个主要属性,它指定数据访问组件的数据源。通过这个数据源数据控制组件才能访问数据库中的数据。该属性一般可以通过下拉列表选择,方法是选中DBGrid组件后,先在对象观察器中选择Datasoure的右列,该右列出现下三角箭头,然后单击该箭头,出现一个列表,从列表中选择所用的数据源,如果窗体上只有一个数据源,直接双击Datasoure右列空白处即可。2平均分模块功能的实现登陆平均分计算界面后,选择要查询的年份及课程名称,在教师姓名下拉列表中回出现相应的授课教师姓名,在这里用到了ComboBox3的ONChange事件。获取客户端页面提交数据用到的语句为:Parameters.ParamByName(year).Value:=strtoint(combobox1.Text);Parameters.ParamByName(cname).Value:=combobox2.Text;Parameters.ParamByName(tname).Value:=combobox3.Text; 获得客户端数据后就会执行一条SQL查询语句,SQL语句为:select sno,cname,tname,grade,year,term from grade where year=:year and cname=:cname and tname=:tname,同时在DBGrid组件中回出现修过该门课程的学生学号、成绩等信息。在此界面中使用了一个快速按钮(TSpeedButton)按钮,它是一种可以成组工作的按钮,具有与位图按钮一样将位图显示在按钮表面的功能,还具有与单选按钮组一样允许其中一个按钮被选中的功能,当它独立使用的时候可以像复选框一样具有开关的功能。在这里它用来显示学生成绩的总体分布情况。窗体如图6-4所示。6. 6. 3 学生成绩分布直方图学生成绩分布直方图反映了成绩的总体分布情况。在这里使用到了TDBchart组件,它可以说是所有数据库组件中最花哨的了。TDBChart类继承于TChart,具有它的全部功能,他们之间的主要区别在于前者需要BDE的支持,主要用在数据库应用中。图6-4 平均分计算窗体TChart是TeeChart library库中最重要的组件,TChart的基类是TPanel。简而言之,TChart是一个标准的TPanel组件,具有许多专门用来绘制统计图表表的强大功能。一般可以在设计是也可以在运行时产生TChart组件对象。在Form上放置一个DBchart组件,然后在组件上右击,在弹出的快捷菜单中选择Edit Chart,系统弹出统计图编辑对话框。单击chart标签的series子标签上的add按钮,接下来的对话框让用户选择统计图的类型。单击series标签,这里可以为每个series指定数据源和对series的属性进行设置。选择标签,然后在下拉列表中选择,选择数据源和需要画统计图的字段。学生成绩直方图如图6-5所示。图6-5 学生成绩分布直方图窗体6. 6. 4 计算器用到的语句为winexec(calc,SW_RESTORE)6. 7 维护在维护模块中分为四个子菜单。此模块的主要功能是添加修改记录(学生信息、教师信息、课程信息、学生成绩)、删除数据库(学生信息、教师信息、课程信息、学生成绩)、备份数据库、还原数据库、帐户(更改密码、添加帐号、删除帐号)。6. 7. 1 添加学生信息1.添加学生信息开发过程中的具体操作步骤和方法(1)打开已存在的工程。通过执行Delphi7的主菜单中的File中的New Form命令项,增加一个新的窗体。将窗体的Caption属性修改为“添加学生信息”。(2)在窗体中放入两个Panel控件和一个DBGrid控件。(3)在窗体上半部分的Panel1中分别放入七个 Label控件、一个TcomboBox控件、一个TDatetimePicker控件、五个Edit控件 、一个 DBimage控件 、DBimage控件和两个BitBtn控件。七个 Label控件分别用于显示“学号”、 “姓名”、“性别”、“籍贯”、“出生年月”、“电话”、“电子邮件”七个标题,五个Edit1控件用于输入要添加的 “学号”、 “姓名”、 “籍贯”、 “电话”、“电子邮件” 学号。TcomboBox控件用于输入“性别”, TDatetimePicker控件用于输入“出生年月”, DBimage控件用于输入学生的照片,两个BitBtn1控件的 Caption属性修改为“插入”、“返回”,用于插入学生信息和返回操作。(4)在窗体中间部分的Panel2中一个DBNavigator控件数据库导航器控件DBNavigator主要用来数据操作和数据浏览。DBNavigator组件中的几个按钮可以通过ObjectInspecor中的VisibleButtons属性设置是否显示。使用DBNavigator控件时,首先将该控件的Datasoure 属性和TDataSource组件关联,并保持数据集连接,就可以通过DBNavigator控件浏览和操纵数据了。(5)在窗体的下部分放入一个DBGrid控件,以表格的形式显示和操作数据集中的数据,可以同时浏览多条记录。该表格的字段名分别是“学号”、“姓名”、“性别”“籍贯”、“出生年月”、“联系电话”和“电子邮件”。通过这个数据源数据控制组件访问数据库中的数据。2添加学生资料模块功能的实现主要功能是添加一个新的学生信息。在此窗口中有一个TDBgrid控件显示所有学生的信息。TDBgrid组件能以表格形式显示数据库中的数据。它的DataSource属性确定了和数据网格相关联的数据源对象。输入要添加的学生学号,若此学号以存在,TDBgrid控件中将自动定位到此学生信息,此时继续添入其他信息,点击插入按扭会出现系统提示框:“此学生的信息以存在,是否更新原来的记录”,点击确定将覆盖原来的学生信息。否则输入学号后单击Go将定位到制定的学号,添加学生的基本信息(学生表中的字段)。学号、姓名、性别为必填字段)。在次用到了保存图片数据到数据库的技术,利用tpicture和topenpicturedialog组件选择图片和保存图片,然后将图片赋值到数据库图片字段。导入图片语句为:dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName); topenpicturedialog对话框为模式对话框,用于选择和打开图形文件。该组件支持的文件类型包括位图图标图元文件及增强型。其中用于返回选定图片的名称和完整的路径,Execute用于显示打开图片对话框。添加图片的程序语句为:beginif openpicturedialog1.Execute then begin dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName); dbimage1.Tag:=1; end;end;按“插入”按钮将此设备信息输入到了数据库student表中。此功能主要用于学生信息的初始录入。界面如图6-6所示。图6-6 添加学生信息界面6. 7. 2 添加教师信息添加教师资料与添加学生资料查询开发过程和实现功能相类似,此界面中使用了数据库导航器组件,能够在记录中移动当前记录的位置,也可以移动或删除数据,它的DataSource属性确定了和数据网格相关联的数据源对象。此外有一个TDBgrid控件显示所有教师的信息。输入要添加的教师姓名,若此教师信息以存在,TDBgrid控件中将自动定位到此教师信息,此时继续添入其他信息,点击插入按扭会出现系统提示框:“此教师的信息以存在,是否更新原来的记录”,点击确定将覆盖原来的教师信息。否则输入学号后单击Go将定位到制定的教师姓名,在此窗口中你可以添加教师的基本信息(教师表中的字段)。姓名、性别为必填字段。按“插入”按钮将此设备信息输入到了数据库teacher表中。使用的插入语句为insert; fieldbyname(tname).AsString:=trim(dbedit1.Text); fieldbyname(tsex).AsString:=dbcombobox1.Text; if trim(dbedit2.Text) then fieldbyname(age).AsString:=trim(dbedit2.Text); if trim(dbedit3.Text) then fieldbyname(zhicheng).AsString:=trim(dbedit3.Text); if trim(dbedit4.Text) then fieldbyname(jiaoyanshi).AsString:=trim(dbedit4.Text); if trim(dbedit6.Text) then fieldbyname(tel).AsString:=trim(dbedit6.Text); if trim(dbedit7.Text) then fieldbyname(email).AsString:=trim(dbedit7.Text); if dbimage1.Tag=1 then begin pic:=tpicture.Create; pic.LoadFromFile(openpicturedialog1.FileName); dbimage1.Picture.GetNamePath fieldbyname(photo).Assign(pic); dbimage1.Tag:=0; end; post;此功能主要用于教师信息的初始录入。界面如图6-7所示。6. 7. 3 添加课程信息1添加课程信息开发过程中的具体操作步骤和方法(1)打开已存在的工程。通过执行Delphi7的主菜单中的File中的New Form命令项,增加一个新的窗体。将窗体的Caption属性修改为“添加课程信息”。图6-7 添加教师信息界面(2)在窗体中放入一个Panel控件和一个DBGrid控件。(3)在窗体上半部分的Panel中分别放入四个 Label控件、一个TcomboBox控件、一个DBNavigator控件、三个TMaskEdit控件和两个BitBtn控件。四个 Label控件的Caption属性分别为“课程名称”、“学时”、“学分”、“课程类型”, TcomboBox控件用于选择输入“课程类型”,DBNavigator主要用来数据操作和数据浏览,它与数据库中的Course表相连接,两个BitBtn1控件的 Caption属性修改为“插入”、“返回”,用于插入课程信息和返回操作。这里需要重点介绍的是TMaskEdit控件,它与Tedit的功能和属性十分相似,不过增加了约束输入的控制和输出的功能。其中EditMask属性确定用于限制用户输入的掩码,它由三部分组成。第一部分用于输入掩码的格式;第二部分确定是否将掩码中的格式字符作为数据的一部分,0表示不作为数据的一部分,1表示作为数据的一部分;第三部分是指掩码中没有输入数据时出现的替代符。(4)窗体下部分的DBGrid控件以表格的形式显示和操作数据集中的数据,可以同时浏览多条记录。该表格的字段名分别是“课程名称”、“学时”、“学分”“课程类型”。它与数据库中的Course表相连接。2添加课程信息模块功能的实现添加课程信息用于学校在开设一门新的课程时的初始信息录入,正确输入课程名称、学时、学分、课程类型,一门新的课程信息就被加入到课程信息表中。此界面中使用了三个掩码编辑框(MaskEdit)。用于输入课程名称和学时。在此窗口中有一个TDBgrid控件显示所有以开设课程的信息。输入要添加的课程名、学时、学分、课程类型(全部为必添字段),获取客户端页面提交数据用到的语句为:fieldbyname(cname).AsString:=trim(dbedit1.Text); fieldbyname(studytime).AsString:=trim(dbedit2.Text); fieldbyname(credit).AsString:=trim(dbedit3.Text);fieldbyname(TypeNO).AsInteger:=dbcombobox1.Items.IndexOf(dbcombobox1.Text)+1。若是一门全新的课程,获得客户端数据后执行的插入语句为:fieldbyname(cname).AsString:=trim(dbedit1.Text); fieldbyname(studytime).AsString:=trim(dbedit2.Text);fieldbyname(credit).AsString:=trim(dbedit3.Text);fieldbyname(TypeNO).AsInteger:=dbcombobox1.Items.IndexOf(dbcombobox1.Text)+1; post; 此课程信息输入到了数据库course表中。若此课程信息以存在,TDBgrid控件中将自动定位到此课程信息信息,同时出现系统提示框:“此课程的信息以存在,是否更新原来的记录”,点击确定将覆盖原来的课程信息。此功能主要用于课程信息的初始录入。添加课程信息界面如图6-8所示。图6-8 添加课程信息界面6. 7. 4 学生成绩录入每学期当课程结束后系统管理员把考试结果移入成绩单中,这时在成绩录入界面中就会显示所要录入课程的基本信息,包括开课时间、任课教师及考试类型(年份、学期、课程名称、教师为必填字段),此处用到了TCombobox控件,它是在用户更改当前记录中的特定字段时,可以提供给用户一个可以选工程的下拉列表。允许用户从下拉列表中选取适当的值来修改当前记录中的特定字段。Item属性包含着TCombobox控件在运行过程中下拉菜单中的选项,Item中内容可以在设计阶段设置,也可以在程序运行阶段动态的来设计。在此在学生成绩录入界面的Oncreate事件中实现的。以添加任课教师的Item属性为例,使用的语句为:with datamodule1.tableteacher do begin open; while not eof do begin combobox4.Items.Add( FieldByName(tname).AsString); next; end; close; end;获取客户端数据用到的语句为:fieldbyname(sno).AsString:=tmaskedit(controlsi).Text; fieldbyname(cname).AsString:=combobox3.Text; fieldbyname(tname).AsString:=combobox4.Text; fieldbyname(grade).AsString:=tcombobox(controlsj).Text; fieldbyname(year).AsString:=combobox1.Text; fieldbyname(term).AsString:=combobox2.Text; fieldbyname(type).AsString:=combobox5.Text;同时设置了两个整型变量:addcount、updatecount,用来统计被添加的记录和被更新的记录。输入学生的学号和成绩,点击插入按钮保存,这样学生就会在查询成绩界面中查到自己所学课程的成绩,界面如图6-9所示。图6-9 成绩录入界面6. 7. 5 删除学生记录 1删除学生记录开发过程中的具体操作步骤和方法(1)打开已存在的工程。通过执行Delphi7的主菜单中的File中的New Form命令项,增加一个新的窗体。将窗体的Caption属性修改为“删除学生记录”。(2)在窗体中放入两个Panel控件和一个DBGrid控件。(3)在窗体上半部分的Panel中分别放入七个 Label控件、六个DBEdit控件、一个 TMastEdit控件和一个DBNavigator控件。七个 Label控件分别用于显示“学号”、 “姓名”、“性别”、“籍贯”、“出生年月”、“电话”、“电子邮件”七个标题。其所对应的六个DBEdit控件和一个 TMastEdit控件控件用于查看要删除的学生信息。 DBimage控件用于显示学生的照片。该组件提供了一种显示数据库中Graph字段的方法。它的 AutoDisplay属性决定否在运行时自动显示图形6。数据库导航器控件DBNavigator主要用来数据操作和数据浏览。DBNavigator组件中的几个按钮可以通过ObjectInspecor中的VisibleButtons属性设置是否显示。使用DBNavigator控件时,首先将该控件的Datasoure 属性和TDataSource组件关联,并保持数据集连接,在此界面中利用的数据导航器的删除功能进行删除,它是一组按钮集合,提供了在数据集中进行编辑的功能。但数据导航器的功能是有局限性的,只能逐条删除。(4)在窗体下部分的Panel2中放入一个DBGrid控件,以表格的形式显示和操作数据集中的数据,可以同时浏览多条记录。该表格的字段名分别是“学号”、“姓名”、“性别”“籍贯”、“出生年月”、“联系电话”和“电子邮件”。Datasoure属性是DBGrid控件的一个主要属性,它指定数据访问组件的数据源。通过这个数据源数据控制组件才能访问数据库中的数据。2删除学生资料模块功能的实现删除学生记录主要用于学生学籍信息的注销。在此添加了五个TDBEdit组件来显示要删除的学生信息,他们分别和student表中的相应字段相连接。在此窗口中同样有一个TDBgrid控件显示所有学生的信息。输入要删除的学生学号,按回车键定位到相应的学生记录,点击DBNavigator控件中的删除按钮,会出现系统提示框:“delete record?”,点击确定将删除原来的学生信息,同时将信息提交给student表,删除此条学生记录。否则返回到删除学生记录对话框。界面如图6-10所示。6. 7. 6 删除教师信息 删除教师记录与删除学生记录的实现技术基本相同。在此窗口中同样有一个TDBgrid控件显示所有教师的信息。输入要删除的教师姓名,按回车键定位到相应的教师记录。同时在TDBgrid控件中也回自动定位到要删除的教师信息,同样利用的数据导航器的删除功能进行删除,点击DBNavigator控件中的删除按钮,会出现系统提示框:“delete record?”,点击确定将删除原来的教师信息,同时将信息提交给teacger表,删除此条教师记录。否则返回到删除教师记录对话框。界面如图6-11所示。图6-10 删除学生信息界面图6-11删除教师信息界面6. 7. 7 删除课程信息删除课程信息主要用于课程信息的注销。在这里添加了一个GroupBox组件,它是用来对课程类型的一个注释。在此窗口中同样有一个TDBgrid控件显示所有以开设课程的信息。在TDBgrid控件中将定位到要删除的课程信息,点击DBNavigator控件中的删除按钮,会出现系统提示框:“delete record?”,同样利用的数据导航器的删除功能进行删除,点击确定将删除原来的课程信息,同时将信息提交给course表,删除此条课程记录。否则返回到删除课程记录对话框。界面如图6-12所示。图6-12 删除课程信息界面6. 7. 8 删除成绩记录1.删除成绩记录开发过程中的具体操作步骤和方法(1)打开已存在的工程。通过执行Delphi7的主菜单中的File中的New Form命令项,增加一个新的窗体。将窗体的Caption属性修改为“删除成绩记录”。(2)在窗体中放入一个Panel控件和一个DBGrid控件。(3)在窗体上半部分的Panel中分别放入三个 Label控件、一个TEdit控件、两个ComboBox控件和一个DBNavigator控件。七个 Label控件分别用于显示“学号”、 “开课年份”、“课程名称”标题,TEdit控件用来输入要删除的成绩所对应的学生编号,两个ComboBox控件用来选择输入“开课年份”和“课程名称”,数据库导航器控件DBNavigator主要用来数据操作和数据浏览。使用DBNavigator控件时,首先将该控件的Datasoure 属性和TDataSource组件关联,并保持数据集连接。(4)在窗体下部分DBGrid控件以表格的形式显示和操作数据集中的数据,可以同时浏览多条记录。它连接数据库中的gread表,该表格的字段名分别是“学号”、“课程名称”、“任课教师”“成绩”、“年份”、“学期”和“考试类型”。2删除成绩记录模块功能的实现删除成绩记录主要用于学生课程成
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:delphi教学信息管理系统的设计与实现(源代码+论文)
链接地址:https://www.renrendoc.com/paper/149740891.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!