课程设计论文:基于delphi7的教务管理系统的设计与实现_第1页
课程设计论文:基于delphi7的教务管理系统的设计与实现_第2页
课程设计论文:基于delphi7的教务管理系统的设计与实现_第3页
课程设计论文:基于delphi7的教务管理系统的设计与实现_第4页
课程设计论文:基于delphi7的教务管理系统的设计与实现_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计论文基于DELPHI7的教务管理系统的设计与实现基于DELPHI7的教务管理系统的设计与实现摘要随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于DELPHI7与数据库技术建立一个高校教务管理系统该系统为学生和教师提供了查询、修改、存储、增加记录、选课等功能,功能比较落齐全,基本上能满足学生和老师的要求。目录摘要2前言41需求分析411功能需求分析412性能需求分析513数据库需求分析数据流图614数据库需求分析数据流图62概要结构设计1221系统功能结构设计1222数据库概念结构设计143逻辑结构设计184详细设计及功能实现2341用户登录模块设计与实现235总结41参考文献41前言教务管理工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织、协调、指挥并指导各方面人员的活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。教务管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。教务管理工作关系到高校教学秩序的稳定和教学质量的提高,关系到高校的发展和人才的培养,教务管理高校中占有相当重要的地位。随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。同时,运用先进的信息技术,开发高校综合教务管理信息系统,是深化教务体制改革的有利措施。DELPHI7是以组件化的编程方式、面向对象的程序设计、快速的PASCAL编译器、众多的组件和强大的数据库及网络应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者的青睐。DELPHI7是WINDOWS系统下的可视化集成开发工具,提供了强大的可视化组件功能,使程序员能够快速、高效地开发出WINDOWS系统下的应用程序,特别是在数据库和网络方面,DELPHI7与其它开发工具相比更是胜出一筹。可视化主要是指开发图形用户界面时,不需编写大量程序代码以描述界面的外观特性,而只需把所需的组件加入窗体相应位置即可。1需求分析11功能需求分析该教务管理系统具备两方面的功能一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础维护(学生信息维护、班级信息维护、课程信息维护)、教学管理(课表查询、学生选课)、报表统计(打印成绩单)、用户维护;另一方面老师进入该系统则比学生多一个权限成绩输入。具体功能的详细描述如下111选择基础维护班级信息维护菜单命令,即可进入班级信息维护功能窗体,在其中输入学校班级相关的信息,如果需要新增或修改班级信息,则单击相应的按纽,输入新信息后单击保存就可以了。需要删除一条信息,则只要选择这条信息再点击删除。在搜索条件中输入相关的条件,单击搜索就可查找信息。112选择基础维护学生信息维护菜单命令,即可进入学生信息维护功能窗体,在其中输入学号姓名信息。其中班级编号、政治面貌编号民族编号籍贯编号和学籍编号列表框是通过和数据库中相应的代码表相联而生成的。113选择基础维护课程信息维护菜单命令,即可进入课程信息维护功能窗体。114选择教学管理学生选课菜单命令,即可进入学生选课功能窗体,在学号框中输入学号。然后在课程信息组合框中输入条件,查询并选择要选的课程,单击选课,系统将会检查该门课程是否已选择,其中班级编号、政治面貌编号民族编号籍贯编号和学籍编号列表框是通过和数据库中相应的代码表相联而生成的。115选择教学管理课表查询界面,学生输入学号等信息就可以看到自己的课表。116选择教学管理成绩输入界面此界面对学生是不可见的,按中止选课按纽后,再选择一门课程,在下面的表格中将显示所有选了这门课的学生信息,教师将学生的成绩输入或修改,按最终提交后成绩不能再修改。117选择报表统计打印成绩单输入学号等信息就可打印成绩。H选择用户维护修改密码用户可根据界面的提示信息修改自己的密码;选择退出将退出整个系统。12性能需求分析时间特性要求在软件方面,响应时间,更新处理时间都要求比较快而且迅速,这就需要采用存储过程技术,才能够满足用户的需要,在这个系统中用到了两个存储过程,它们分别是成绩提交、终止选课,其中成绩提交用来存储教师在修改成绩后提交的结果,终止选课用来存储结束选课。安全性设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有学生和教师才能进入这个系统,此系统没有高及到管理员的操作,用户凭学生的口令号即学号进入;教师的口令号和密码进入此系统。13数据库需求分析数据流图在教务系统中功能模块主要牵涉到的信息包括是学生信息(XSXX)、课程信息KCXX、选课信息XKXX、籍贯代码表JGDMB、政治面貌代码表ZZMMDMB、成绩表CJB、课程表KCB、班级信息BJXX、民族代码表MZDMB、登陆表DLB和学籍代码表XJDMB。学生信息包含学号XH、姓名XM、班级编号BJBH、性别XB、政治面貌编号ZZMMBH、身份证号SFZH、籍贯编号JGBH、学籍编号XJBH、民族编号MZBH。课程信息包括课程编号KCBH、课程名称KCMC、本学期课程BXQKC、教师JS、开课系别KKXB、学分XF、课程简称KCJC、拼音码PYM。选课信息包括编号BH、学号XH、课序号KXH。籍贯代码表包括籍贯编号JGBH、籍贯JG。政治面貌代码表包括政治面貌编号ZZMMBH、政治面貌ZZMM。成绩表包括编号BH、学号XH、课程编号KCBH、成绩CJ、考试次数KSCS、是否补修SFBX、是否重考SFCK、是否已确定成绩SFYQDCJ。课程表包括编号BH、课序号KXH、课程编号KCBH、上课时间天SKSJT、上课时间节SKSJJ、上课地点SKDD。班级信息包括班级编号BJBH、年级NJ、班级名称BJMC、人数RS、班主任BZR。民族代码表包括民族编号MZBH、民族MZ。登陆表包括口令号KLH、密码MM、权限QX。学籍代码表包括学籍编号XJBH、学籍XJ。根据以上划分的具体数据信息,得到数据流图如11所示用户登录操作登陆信息错误信息账号信息2开发环境与工具介绍前端客户端我用的是MACROMEDIADREAMWEAVER8来编写JSP文件。中间业务逻辑层的JAVABEANS用的是JBUILDERXENTERPRISEX版。数据库的编写是采用MYSQL数据库。21开发环境由于我用的是JBUILDERXENTERPRISE版开发的这个系统,这个开发软件功能十分强大,所以自然对开发环境要求相对来说比较高。1对系统硬件的要求最小512MRAM,推荐786MBRAM。2对系统平台的要求WINDOWS平台CPUINTELPENTIUMIII及以上兼容系列500MHZ以上。操作系统MICROSOFTWINDOWS2000(SP4)、WINDOWXP或者WINDOWSSERVER2003。LINUX平台CPUINTELPENTIUMIII及以上兼容系列500MHZ以上。操作系统SUNJAVADESKTOPSYSTEMRELEASE2或者REDHATENTERPRISELINUX3022运行环境硬件适用于数据吞吐量较大的不同服务器;软件服务器端WINDOWSXPMYSQL用户端WINDOWXPIE返回信息寻找信息数据库11数据库需求分析数据流图141数据项表11FIELDTYPENULLKEYCOMMENTXHCHAR14PRI学号XMCHAR10YES姓名BJBHCHAR14班级编号XBCHAR2YES性别NJCHAR4YES年级ZZMMBHCHAR2政治面貌编号MZBHCHAR2民族编号JGBHCHAR2籍贯编号XJBHCHAR2学籍编号SFZHCHAR18YES身份证号BJBHCHAR14PRI班级编号BJMCCHAR30YES班级名称NJCHAR4YES年级RSCHAR5YES人数BZRCHAR10YES班主任KCBHCHAR14PRI课程编号KCMCCHAR30YES课程名称BXQKCCHAR4YES本学期课程KKXBCHAR5YES开课系别JSCHAR10YES教师XFINT4YES学分KCJCCHAR10YES课程简称PYMCHAR10YES拼音码BHINT4PRI编号XHCHAR14YESPRI学号KXHCHAR14YESPRI课序号BHCHAR2PRI编号KCBHCHAR10YESPRI课程编号KXHCHAR14YESPRI课序号SKSJJCHAR4YES上课时间节SKSJTCHAR4YES上课时间天SKDDCHAR20YES上课地点BHCHAR2PRI编号KCBHCHAR10YESPRI课程编号XHCHAR14YESPRI学号CJINT4YES成绩KSCSINT4YES考试次数SFBXCHAR10YES是否补修SFCKCHAR10YES是否重考SFYQDCJCHAR10YES是否已确定成绩MZBHCHAR2PRI民族编号MZCHAR18YES民族ZZMMBHCHAR2PRI政治面貌编号ZZMMCHAR14YES政治面貌JGBHCHAR2PRI籍贯编号JGCHAR18YES籍贯XJBHCHAR2PRI学籍编号XJCHAR10YES学籍KLHCHAR12PRI口令号MMCHAR10YES密码QXCHAR50YES权限142数据结构学生信息组成学号XH、姓名XM、班级编号BJBH、性别XB、政治面貌编号ZZMMBH、身份证号SFZH、籍贯编号JGBH、学籍编号XJBH、民族编号MZBH课程信息组成课程编号KCBH、课程名称KCMC、本学期课程BXQKC、教师JS、开课系别KKXB、学分XF、课程简称KCJC、拼音码PYM选课信息组成编号BH、学号XH、课序号KXH籍贯代码表组成籍贯编号JGBH、籍贯JG政治面貌代码表组成政治面貌编号ZZMMBH、政治面貌ZZMM成绩表包括组成编号BH、学号XH、课程编号KCBH、成绩CJ、考试次数KSCS、是否补修SFBX、是否重考SFCK、是否已确定成绩SFYQDCJ课程表包括组成编号BH、课序号KXH、课程编号KCBH、上课时间天SKSJT、上课时间节SKSJJ、上课地点SKDD班级信息组成班级编号BJBH、年级NJ、班级名称BJMC、人数RS、班主任BZR民族代码表组成民族编号MZBH、民族MZ登陆表组成口令号KLH、密码MM、权限QX学籍代码表组成学籍编号XJBH、学籍XJ143数据流1431对图11中所涉及的数据流描述如下1数据流名学号信息说明根据这个口令号定位到用户管理数据库,以便进行身份验证。数据流来源登陆界面输入的口令号和密码。数据流去向其中用户口令信息将存在于整个操作过程中,防止非法登陆。数据流组成口令号(文本);密码(文本)2数据流名寻找信息说明根据学生在班级信息维护的时候所填写的信息。数据流来源班级信息维护界面学生输入包含班级编号、班级名称、年级、人数、班主任。数据流去向班级编号将存在整个操作,其它的存入数据库。数据流组成班级编号(文本);班级名称(文本);年级(文本);人数(文本);班主任(文本);3数据流名寻找信息说明根据学生在学生信息维护的时候所填写的信息。数据流来源学生信息维护界面学生输入包含学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号。数据流去向学号将存在整个操作,其它的存入数据库。数据流组成学号(文本)、姓名(文本)、班级编号(文本)、性别(文本)、政治面貌编号(文本)、身份证号码(文本)、籍贯编号(文本)、学籍编号(文本)、民族编号(文本)。4数据流名寻找信息说明根据课程在班级维护的时候所填写的信息。数据流来源课程信息维护界面学生输入包含课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码。数据流去向课程编号将存在整个操作,其它的存入数据库。数据流组成课程编号(文本)、课程名称(文本)、本学期课程(文本)、教师(文本)、开课系别(文本)、学分(整型)、课程简称(文本)、拼音码(文本)。5数据流名返回信息说明根据课程在学生维护的时候所填写的信息存入数据库后。数据流来源由课程信息维护界面学生输入的包含课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码存入数据库后。数据流去向课程信息维护界面。数据流组成课程编号(文本)、课程名称(文本)、本学期课程(文本)、教师(文本)、开课系别(文本)、学分(整型)、课程简称(文本)、拼音码(文本)。6数据流名返回信息说明根据学生在学生信息维护的时候所填写的信息存入了数据库之后。数据流来源由学生信息维护界面学生输入的包含学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号存入数据库的。数据流去向学生信息维护界面。数据流组成学号(文本)、姓名(文本)、班级编号(文本)、性别(文本)、政治面貌编号(文本)、身份证号码(文本)、籍贯编号(文本)、学籍编号(文本)、民族编号(文本)。7数据流名返回信息说明根据学生在班级维护的时候所填写的信息存入数据库后。数据流来源由班级信息维护界面学生输入的包含班级编号、班级名称、年级、人数、班主任存入数据库的。数据流去向班级信息维护界面。数据流组成班级编号(文本);班级名称(文本);年级(文本);人数(文本);班主任(文本);144数据存储SF成绩提交输入数据流成绩,数据流去向成绩输入SF终止选课输入数据流选择一门课程,数据流去向数据库145数据处理过程1451对图11中所涉及的处理过程描述如下1处理过程名登陆输入数据流口令号、密码输出数据流不符合输入条件的错误信息处理过程逻辑用IF条件进行判断。2处理过程名班级信息维护输入数据流班级编号、班级名称、年级、人数、班主任。输出数据流班级编号、班级名称、年级、人数、班主任,其中班级编号将存在整个操作。处理过程号民族编号,其中学号将存在整个操作。3处理过程名班级信息维护输入数据流课程编号、课程名称、本学期课程、教师、开课系别、学分、4处理过程名学生信息维护输入数据流学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号。输出数据流学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编课程简称、拼音码。输出数据流课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码。其中课程编号将存在整个操作。5处理过程名学生选课输入数据流学号、姓名、班级、课程拼音、课程编号、课程名称、课序号输出数据流学号、课序号、课程编号、课程名称、拼音码、开课系别、教师、其中课程编号将存在整个操作。6处理过程名课表查询输入数据流学号、姓名、班级输出数据流学号、课序号、班级名称、课程名称、上课时间节、上课时间天、上课地点、其中课程编号将存在整个操作。7处理过程名成绩输入输入数据流课程编号、课程名称、拼音码输出数据流编号、学号、课程名称、成绩、其中编号和学号将存在整个操作。2概要结构设计21系统功能结构设计211模块的功能设计根据需求分析阶段得到的功能需求,学生和教师用户通过输入口令号(学号)和密码进下该系统后,可以进行一些基础维护(学生信息维护、班级信息维护、课程信息维护)、教学管理(课表查询、学生选课、成绩输入)、报表统计(打印成绩单)、用户维护(修改密码、退出);模块功能大概可以分为如下4个方面这几个模块基础维护、教学管理、报表统计、用户维护。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。教学管理包括课表查询、学生选课、成绩输入。报表统计包括打印成绩单。综上所述,得到客户端功能模块图如下21所示。学生登陆基础维护教学管理报表统计用户维护班级信息维护学生信息维护课程信息维护课表查询学生选课打印成绩单图21客户模块系统功能模块图修改密码退出22数据库概念结构设计根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中出现的实体有学生信息实体、课程信息实体、班级信息实体等等。可以画出对应的ER图如下用户信息实体的ER图如图24所示登陆表口令号密码图23登陆表实体ER图老师登陆基础维护教学管理报表统计用户维护班级信息维护学生信息维护课程信息维护课表查询学生选课成绩输入打印成绩单图22客户模块系统功能模块图学籍编号民族编号修改密码退出学生信息学号性别图24学生信息实体ER图姓名班级编号政治面貌编号籍贯编号身份证号码人数班级信息班级名称学号图25班级信息实体ER图班主任年级班级编号课程信息课程编号课程名称图26课程信息实体ER图教师本学期课程开课系别学分课程简称拼音码课程编号考试次数是否补修图27成绩表实体ER图图28课程表实体ER图人数成绩表学号成绩编号是否重考是否已确定成绩上课地点课程表课序号上课时间节编号课程编号上课时间天选课表编号学号图29选课表实体ER图课序号学籍代码表学籍编号学籍图210学籍代码表实体ER图籍贯代码表籍贯编号籍贯图211籍贯代码表实体ER图政治面貌代码表政治面貌编号政治面貌图212政治面貌代码表实体ER图民族代码表民族编号民族图213民族代码表实体ER图对以上得到的各分ER进行合并,得到总ER图214如下3逻辑结构设计根据上面概念结构设计阶段得到的ER图,下一步应该将它转化为关系模型。可以得到对应的关系模式为学生信息(学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号)课程信息(课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码)选课信息(编号、学号、课序号)籍贯代码表(籍贯编号、籍贯名称)政治面貌代码表(政治面貌编号、政治面貌名称)成绩表(编号、学号、课程编号、成绩、考试次数、是否补修、是否重考、是否已确定成绩)课程表(编号、课序号、课程编号、上课时间天、上课时间节、上课地点)班级信息(班级编号、年级、班级名称、人数、班主任)籍贯代码表课程表成绩表选课表学籍代码表政治面貌代码表学生信息民族代码表课程信息班级信息民族代码表(民族编号、民族)登陆表(口令号、密码、权限)学籍代码表(学籍编号、学籍)采用的MICROSOFTSQLSERVER2000数据库,根据得到的关系建立起对应的二维表。首先建立一个学生信息量。该表记录每个学生的具体信息。表的结构如表31所示表31学生信息详细列表FIELDTYPENULLKEYCOMMENTXHCHAR14PRI学号XMCHAR10YES姓名BJBHCHAR14班级编号XBCHAR2YES性别NJCHAR4YES年级ZZMMBHCHAR2政治面貌编号MZBHCHAR2民族编号JGBHCHAR2籍贯编号XJBHCHAR2学籍编号SFZHCHAR18YES身份证号建立一个班级信息。该表记录各个班级的详细信息。如表32所示。FIELDTYPENULLKEYCOMMENTBJBHCHAR14PRI班级编号BJMCCHAR30YES班级名称NJCHAR4YES年级RSCHAR5YES人数BZRCHAR10YES班主任建立一个课程信息。该表记录每门课程的详细信息。如表33所示。FIELDTYPENULLKEYCOMMENTKCBHCHAR14PRI课程编号KCMCCHAR30YES课程名称BXQKCCHAR4YES本学期课程KKXBCHAR5YES开课系别JSCHAR10YES教师XFINT4YES学分KCJCCHAR10YES课程简称PYMCHAR10YES拼音码建立一个选课表。该表记录了哪个学生选修了哪门课程。如表34所示。FIELDTYPENULLKEYCOMMENTBHINT4PRI编号XHCHAR14YESPRI学号KXHCHAR14YESPRI课序号建立一个课程表。该表记录了哪个学生选修了哪门课程。如表35所示。FIELDTYPENULLKEYCOMMENTBHCHAR2PRI编号KCBHCHAR10YESPRI课程编号KXHCHAR14YESPRI课序号SKSJJCHAR4YES上课时间节SKSJTCHAR4YES上课时间天SKDDCHAR20YES上课地点建立一个成绩表。该表记录了哪个学生选修了哪门课程。如表36所示。FIELDTYPENULLKEYCOMMENTBHCHAR2PRI编号KCBHCHAR10YESPRI课程编号XHCHAR14YESPRI学号CJINT4YES成绩KSCSINT4YES考试次数SFBXCHAR10YES是否补修SFCKCHAR10YES是否重考SFYQDCJCHAR10YES是否已确定成绩建立一个民族代码表。该表记录了哪个学生选修了哪门课程。如表37所示。FIELDTYPENULLKEYCOMMENTMZBHCHAR2PRI民族编号MZCHAR18YES民族建立一个政治面貌代码表。该表记录了哪个学生选修了哪门课程。如表38所示。FIELDTYPENULLKEYCOMMENTZZMMBHCHAR2PRI政治面貌编号ZZMMCHAR14YES政治面貌建立一个籍贯代码表。该表记录了哪个学生选修了哪门课程。如表39所示。FIELDTYPENULLKEYCOMMENTJGBHCHAR2PRI籍贯编号JGCHAR18YES籍贯建立一个学籍代码表。该表记录了哪个学生选修了哪门课程。如表310所示。FIELDTYPENULLKEYCOMMENTXJBHCHAR2PRI学籍编号XJCHAR10YES学籍建立一个登陆表。该表记录了哪个学生选修了哪门课程。如表311所示。FIELDTYPENULLKEYCOMMENTKLHCHAR12PRI口令号MMCHAR10YES密码QXCHAR50YES权限根据系统需求,应该基于用户表定义一个视图,其定义用SQL语句描述如下CREATEVIEWDBOVIEW1ASSELECTTOP100PERCENTDBOXSXXXHAS学号,DBOXSXXXMAS姓名,DBOKCBKXHAS课弃号,DBOKCBSKSJT,DBOKCBSKSJJ,单位DBOKCBSKDD,DBOBJXXBJMC,DBOKCXXKCMC,DBOCJBCJ,DBOKCXXKCBH,DBOBJXXBJBHFROMDBOXSXXINNERJOINDBOXKBONDBOXSXXXHDBOXKBXHINNERJOINDBOKCBONDBOXKBKXHDBOKCBKXHINNERJOINDBOBJXXONDBOXSXXBJBHDBOBJXXBJBHINNERJOINDBOCJBONDBOXSXXXHDBOCJBXHANDDBOXSXXXHDBOCJBXHINNERJOINDBOKCXXONDBOCJBKCBHDBOKCXXKCBHANDDBOCJBKCBHDBOKCXXKCBHORDERBYDBOXSXXXHDESC,DBOKCXXKCBHDESC,DBOBJXXBJBHDESC根据系统需求,可以定义两个存储过程,其定义语句用SQL语句描述如下成绩提交存储过程CREATEPROCSF_CJTJCOURSEIDINTASBEGINTRANUPDATECJBSETSFYQDCJYWHEREKCBHCOURSEIDANDCJ0COMMITGO终止选课存储过程CREATEPROCSF_ZZXKASBEGINTRANINSERTINTOCJBXH,KCBH,CJ,KSCS,SFBX,SFCK,SFYQDCJSELECTDISTINCTAXH,BKCBH,0,1,N,N,NFROMXKBASA,KCBASBWHEREAKXHBKXHANDRTRIMAXHRTRIMBKCBHNOTINSELECTRTRIMAXHRTRIMBKCBHFROMCJBCOMMITGO4详细设计及功能实现41用户登录模块设计与实现设计思路为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。同时通过用户输入的口令号就可知道用户是学生,还是教师,学生和教师的权限不同。实现功能用户可以从登陆界面进入到教务管理系统界面,然后进行一些操作。图41为系统运行时的截图该模块的核心代码如下判断用户是否合法和用户权限。PROCEDURETMAINBUTTON1CLICKSENDERTOBJECTBEGINIFEDIT1TEXTOREDIT2TEXTTHENSHOWMESSAGE用户名密码不能为空ELSEBEGINDM_LOGINADOQUERY1CLOSEDM_LOGINADOQUERY1SQLCLEAR图41用户登录模块的系统截图DM_LOGINADOQUERY1SQLADDSELECTFROMDLBWHEREKLHEDIT1TEXTANDMMEDIT2TEXTDM_LOGINADOQUERY1OPENUSER_NUMBERDM_LOGINADOQUERY1FIELDBYNAMEKLHASSTRINGUSER_PASSWORDDM_LOGINADOQUERY1FIELDBYNAMEMMASSTRINGUSER_RRIGHTDM_LOGINADOQUERY1FIELDBYNAMEQXASSTRINGIFDM_LOGINADOQUERY1RECORDCOUNT0THENBEGINSHOWMESSAGE用户名或密码错误,请重新输入EDIT1TEXTEDIT2TEXTENDELSEBEGINMAINCAPTION教务管理系统MAINWIDTH820MAINHEIGHT660LABEL1VISIBLEFALSELABEL2VISIBLEFALSEBUTTON1VISIBLEFALSEBUTTON2VISIBLEFALSEEDIT1VISIBLEFALSEEDIT2VISIBLEFALSEIFTRIMUSER_RRIGHT学生THENMAINN8VISIBLEFALSEENDENDEND由于上面的二个模块都是由一个父窗体继承而来,则它们的核心代码都一致。该模块的核心代码/根据窗口中查询条件的设置来查询PROCEDURETPARENTBITBTN1CLICKSENDERTOBJECTVAR设置一个整数,其二进制的三位分别代表查询条件1到3当某一个查询条件可见,也就是要使用这个条件时,相应的位置为1,否则置0图42班级信息维护模块的系统截图图43学生信息维护模块的系统截图图44课程信息维护模块的系统截图例如第1,2个条件要使用而第3个不使用时,该整数二进制的值为110,也就是6CONDITIONINTEGERBEGIN/初始化该参数,设为7,二进制数为111CONDITION7/如果第1个条件不可用,则将该位置0,方法是和整数3(二进制011)进行与操作IFLABEL3VISIBLEFALSETHENCONDITIONCONDITIONAND3/如果第2个条件不可用,则将该位置0,方法是和整数5(二进制101)进行与操作IFLABEL4VISIBLEFALSETHENCONDITIONCONDITIONAND5/如果第3个条件不可用,则将该位置0,方法是和整数6(二进制110)进行与操作IFLABEL5VISIBLEFALSETHENCONDITIONCONDITIONAND6IFCONDITION7THEN/三个查询条件都存在的情况BEGINADOQUERY1CLOSEADOQUERY1SQLCLEARADOQUERY1SQLADDSELECTFROMADOTABLE1TABLENAMEADOQUERY1SQLADDWHERELABEL3CAPTIONLIKEEDIT1TEXTADOQUERY1SQLADDANDLABEL4CAPTIONLIKEEDIT2TEXTADOQUERY1SQLADDANDLABEL5CAPTIONLIKEEDIT3TEXTADOQUERY1OPEN/将查询得到的数据通过CLONE命令复制到ADOTABLE中去ADOTABLE1CLONEADOQUERY1,LTUNSPECIFIEDENDIFCONDITION6THEN/只存在两个查询条件的情况BEGINADOQUERY1CLOSEADOQUERY1SQLCLEARADOQUERY1SQLADDSELECTFROMADOTABLE1TABLENAMEADOQUERY1SQLADDWHERELABEL3CAPTIONLIKEEDIT1TEXTADOQUERY1SQLADDANDLABEL4CAPTIONLIKEEDIT2TEXTADOQUERY1OPEN/将查询得到的数据通过CLONE命令复制到ADOTABLE中去ADOTABLE1CLONEADOQUERY1,LTUNSPECIFIEDENDIFCONDITION4THEN/只存在一个查询条件的情况BEGINADOQUERY1CLOSEADOQUERY1SQLCLEARADOQUERY1SQLADDSELECTFROMADOTABLE1TABLENAMEADOQUERY1SQLADDWHERELABEL3CAPTIONLIKEEDIT1TEXTADOQUERY1OPEN/将查询得到的数据通过CLONE命令复制到ADOTABLE中去ADOTABLE1CLONEADOQUERY1,LTUNSPECIFIEDENDEND学生选课界面的核心代码PROCEDURETCOURSEELECTEDIT1KEYPRESSSENDERTOBJECTVARKEYCHARBEGINIFNOTKEYIN09,8,13THEN/该文本框中只能输入数字BEGINKEY0EXITEND/回车输入,将在籍学生的信息显示在文本框中IFKEY13THENBEGINIDTRIMEDIT1TEXT/清除上一次的数据EDIT2CLEAREDIT3CLEARADOQUERY2CLOSE图45学生选课模块的系统截图ADOQUERY1CLOSEADOQUERY1SQLCLEARADOQUERY1SQLADDSELECTXSXXXM,BJXXBJMC,XSXXXJBHFROMXSXX,BJXXADOQUERY1SQLADDWHEREXSXXXHIDANDXSXXBJBHBJXXBJBHADOQUERY1OPENIFTRIMADOQUERY1FIELDBYNAMEXJBHASSTRING01THENBEGINEDIT2TEXTTRIMADOQUERY1FIELDBYNAMEXMASSTRINGEDIT3TEXTTRIMADOQUERY1FIELDBYNAMEBJMCASSTRINGLISTCOURSEID/列出已选课程/允许开始选课BITBTN2ENABLEDTRUEBITBTN3ENABLEDTRUE/BITBTN4ENABLEDTRUEENDELSEBEGIN/只有在籍学生才能选课SHOWMESSAGE该生非在籍学生,不能选课BITBTN2ENABLEDFALSEBITBTN3ENABLEDFALSEIDENDENDEND/显示学生已经选的课程PROCEDURETCOURSEELECTLISTCOURSEIDSTRINGBEGIN/将符合选课条件的学生已经选过的课程列在表中ADOQUERY2CLOSEADOQUERY2SQLCLEARADOQUERY2SQLADDSELECTXSXXXH,XKBKXH,KCXXKCMC,JS,KKXB,KCBSKSJT,SKSJJ,SKDDFROMKCB,XSXX,KCXX,XKBWHEREXKBKXHKCBKXHANDXKBXHXSXXXHANDKCXXKCBHKCBKCBHADOQUERY2OPENEND/课程查询PROCEDURETCOURSEELECTBITBTN1CLICKSENDERTOBJECTBEGINIFEDIT4TEXTANDEDIT5TEXTANDEDIT6TEXTANDEDIT7TEXTTHENSHOWMESSAGE请输入查询条件ELSEBEGINADOQUERY3CLOSEADOQUERY3SQLCLEARADOQUERY3SQLADDSELECTKCBKXH,KCXXKCBH,KCMC,JS,KKXB,PYM,KCBSKSJT,SKSJJ,SKDDFROMKCB,XSXX,KCXX,XKBADOQUERY3SQLADDWHEREXKBKXHKCBKXHANDXKBXHXSXXXHANDKCXXKCBHKCBKCBHANDKCXXPYMEDIT4TEXTORKCXXKCMCEDIT5TEXTORKCXXKCBHEDIT6TEXTORXKBKXHEDIT7TEXTADOQUERY3OPENIFADOQUERY3RECORDCOUNT0THENSHOWMESSAGE找不到这门课程ELSEBEGINDBGRID2DATASOURCEDATASETADOQUERY3DBGRID2DATASOURCEDATASETACTIVEFALSEDBGRID2DATASOURCEDATASETACTIVETRUEENDENDEND/将选择的课程添加到学生的选课表中PROCEDURETCOURSEELECTBITBTN2CLICKSENDERTOBJECTVARNUMSTRINGDAY,SECTIONINTEGERBEGIN/未选择课程时,不允许提交IFADOQUERY3RECORDCOUNT0THENBEGINSHOWMESSAGE请先选择一门课程EXITENDNUMTRIMDBGRID2FIELDS0TEXT/保存课序号/判断所选的课程是否已选和是否与其他已经选的课程有时间冲突ADOQUERY1CLOSEADOQUERY1SQLCLEARADOQUERY1SQLADDSELECTSKSJT,SKSJJFROMKCBADOQUERY1SQLADDWHEREKCBHDBGRID2FIELDS1TEXTADOQUERY1OPENWHILENOTADOQUERY1EOFDOBEGINDAYADOQUERY1FIELDBYNAMESKSJTASINTEGERSECTIONADOQUERY1FIELDBYNAMESKSJJASINTEGERADOQUERY2FIRSTWHILENOTADOQUERY2EOFDOBEGIN/判断课程是否已选IFTRIMADOQUERY2FIELDBYNAMEKXHASSTRINGNUMTHENBEGINSHOWMESSAGE所选的课程TRIMADOQUERY2FIELDBYNAMEKCMCASSTRING已在课表中,请选择其他课程EXITEND/判断课程是否与已选课程有时间冲突IFADOQUERY2FIELDBYNAMESKSJTASINTEGERDAYANDADOQUERY2FIELDBYNAMESKSJJASINTEGERSECTIONTHENBEGINSHOWMESSAGE所选课程的上课时间与已选的TRIMADOQUERY2FIELDBYNAMEKCMCASSTRING冲突EXITENDADOQUERY2NEXTENDADOQUERY1NEXTEND/选课ADOCOMMAND1COMMANDTEXTINSERTINTOXKBXH,KXHVALUESID,TRIMDBGRID2FIELDS0TEXTADOCOMMAND1EXECUTELISTCOURSEID/刷新数据表END/删除已选课程PROCEDURETCOURSEELECTBITBTN3CLICKSENDERTOBJECTBEGINIFAPPLICATIONMESSAGEBOX确实删除所选课程,确定删除,MB_OKCANCELIDOKTHENBEGINADOCOMMAND1COMMANDTEXTDELETEFROMXKBWHEREXHTRIMDBGRID3FIELDS0TEXTANDKXHTRIMDBGRID3FIELDS1TEXTADOCOMMAND1EXECUTELISTCOURSEID/刷现列表ENDENDPROCEDURETCOURSEELECTFORMCLOSESENDERTOBJECTVARACTIONTCLOSEACTIONBEGINACTIONCAFREEENDPROCEDURETCOURSEELECTBUTTON1CLICKSENDERTOBJECTBEGINADOQUERY3CLOSEADOQUERY3SQLCLEARADOQUERY3SQLADDSELECTKCBKXH,KCXXKCBH,KCMC,JS,KKXB,PYM,KCBSKSJT,SKSJJ,SKDDFROMKCB,KCXXWHEREKCXXKCBHKCBKCBHADOQUERY3OPENDBGRID2DATASOURCEDATASETADOQUERY3DBGRID2DATASOURCEDATASETACTIVEFALSEDBGRID2DATASOURCEDATASETACTIVETRUEENDPROCEDURETCOURSEELECTFORMSHOWSENDERTOBJECTBEGINADOQUERY3CLOSEADOQUERY3SQLCLEARADOQUERY3SQLADDSELECTXKBKXH,KCXXKCBH,KCMC,JS,KKXB,PYM,KCBSKSJT,SKSJJ,SKDDFROMKCB,XSXX,KCXX,XKBWHEREXKBKXHKCBKXHANDXKBXHXSXXXHANDKCXXKCBHKCBKCBHADOQUERY3OPENENDEND核心代码/根据输入的学号显示学生信息和课表PROCEDURETSCHEDULEEDIT1KEYPRESSSENDERTOBJECTVARKEYCHAR/VARI,JINTEGER/RTTRECTBEGIN/回车输入,将学生的信息显示在文本框中IFKEY13THENBEGINIDTRIMEDIT1TEXTADOQUERY1CLOSEADOQUERY1SQLCLEAR图46课表查询模块的系统截图ADOQUERY1SQLADDSELECTXSXXXH,XM,BJXXBJMC,KCXXKCMC,KCBSKSJT,SKSJJ,SKDDFROMKCXX,KCB,XSXX,BJXXWHEREKCXXKCBHKCBKCBHANDBJXXBJBHXSXXBJBHANDXHIDORDERBYSKSJTASCADOQUERY1OPENEDIT2TEXTTRIMADOQUERY1FIELDBYNAMEXMASSTRINGEDIT3TEXTTRIMADOQUERY1FIELDBYNAMEBJMCASSTRINGIFADOQUERY1RECORDCOUNT0THENBEGINSHOWMESSAGE学号输入错误EDIT1TEXTEXITENDELSEBEGINDBGRID1DATASOURCEDATASETADOQUERY1DBGRID1DATASOURCEDATASETACTIVEFALSEDBGRID1DATASOURCEDATASETACTIVETRUEENDENDENDEND/显示某课程学生的分数PROCEDURETSCOREBITBTN2CLICKSENDERTOBJECTBEGINSHOWSCOREEND/修改选课学生的成绩PROCEDURETSCOREBITBTN4CLICKSENDERTOBJECTVARNUMSTRINGBEGINIFEDIT4TEXTTHENBEGINSHOWMESSAGE必须输入有效成绩EXITENDELSEBEGINADOCOMMAND1COMMANDTEXTUPDATECJBSETCJTRIMEDIT4TEXTWHEREXHDBEDIT1TEXTADOCOMMAND1EXECUTEDBGRID1DATASOURCEDATASETACTIVEFALSE图47成绩输入模块的系统截图DBGRID1DATASOURCEDATASETACTIVETRUEENDNUMTRIMDBGRID1FIELDS0TEXTIFNUMTHENBEGINSHOWMESSAGE请先选中一个选课学生EXITEND/修改学生成绩ADOCOMMAND1COMMANDTEXTUPDATECJBSETCJTRIMEDIT4TEXTWHEREBHNUMADOCOMMAND1EXECUTESHOWSCOREEND/显示某课程学生的分数PROCEDURETSCORESHOWSCOREVARPYCODE,COURSEID,COURSENAMESTRING/保存输入的拼音码和课程名称,课程编号BEGINCOURSENUM/清空保存在全局

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论