收藏 分销(赏)

Java学生选课系统实验报告.doc

上传人:丰**** 文档编号:4720787 上传时间:2024-10-11 格式:DOC 页数:40 大小:907.01KB
下载 相关 举报
Java学生选课系统实验报告.doc_第1页
第1页 / 共40页
Java学生选课系统实验报告.doc_第2页
第2页 / 共40页
Java学生选课系统实验报告.doc_第3页
第3页 / 共40页
Java学生选课系统实验报告.doc_第4页
第4页 / 共40页
Java学生选课系统实验报告.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、广东商学院华商学院课 程 设 计 论 文基于Delphi7的教务管理系统的设计与实现组员姓名: 郭健聪,郭弈鑫,黄佳华,黄望东,黄心炜,李景行,李珊瑚,梁绮珊组员学号:9到16号专业:06软件技术1班指导老师:叶丽珠老师提交日期:2008年12月基于Delphi7的教务管理系统的设计与实现摘 要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。基于Delphi 7与数据库技术建立一个高校教务管理系统该系统为学生和教师提供了查询、修改

2、、存储、增加记录、选课等功能,功能比较落齐全,基本上能满足学生和老师的要求。目 录摘 要2前言41 需求分析41.1 功能需求分析41.2 性能需求分析51.3 数据库需求分析数据流图61.4数据库需求分析数据流图62概要结构设计122.1系统功能结构设计122.2 数据库概念结构设计143逻辑结构设计184详细设计及功能实现234.1用户登录模块设计与实现235总结41参考文献41前言 教务管理工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织 、协调 、指挥并指导各方面人员的活动,以便高效率、高质量地完成

3、各项教学任务,完成国家所制定的教育目标。教务管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。教务管理工作关系到高校教学秩序的稳定和教学质量的提高,关系到高校的发展和人才的培养,教务管理高校中占有相当重要的地位。随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。同时,运用先进的信息技术,开发高校综合教务管理信息系统,是深化教务体制改革的有利措施。Delphi7是以

4、组件化的编程方式、面向对象的程序设计、快速的Pascal编译器、众多的组件和强大的数据库及网络应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者的青睐。Delphi7是Windows系统下的可视化集成开发工具,提供了强大的可视化组件功能,使程序员能够快速、高效地开发出Windows系统下的应用程序,特别是在数据库和网络方面,Delphi7与其它开发工具相比更是胜出一筹。可视化主要是指开发图形用户界面时,不需编写大量程序代码以描述界面的外观特性,而只需把所需的组件加入窗体相应位置即可。1 需求分析1.1 功能需求分析 该教务管理系统具备两方面的功能:一方面是学生用户,学生通过输入学号和

5、密码进下该系统后,可以进行一些基础维护(学生信息维护、班级信息维护、课程信息维护)、教学管理(课表查询、学生选课)、报表统计(打印成绩单)、用户维护;另一方面老师进入该系统则比学生多一个权限:成绩输入。具体功能的详细描述如下1.1.1 选择基础维护 班级信息维护菜单命令,即可进入 班级信息维护功能窗体,在其中输入学校班级相关的信息,如果需要新增或修改班级信息,则单击相应的按纽,输入新信息后单击保存就可以了。需要删除一条信息,则只要选择这条信息再点击 删除。在搜索条件中输入相关的条件,单击 搜索就可查找信息。1.1.2 选择基础维护 学生信息维护菜单命令,即可进入 学生信息维护功能窗体,在其中输

6、入学号姓名信息。其中班级编号、政治面貌编号民族编号籍贯编号和学籍编号列表框是通过和数据库中相应的代码表相联而生成的。1.1.3 选择基础维护 课程信息维护菜单命令,即可进入 课程信息维护功能窗体。1.1.4 选择教学管理 学生选课菜单命令,即可进入 学生选课功能窗体,在学号框中输入学号。然后在课程信息 组合框中输入条件,查询并选择要选的课程,单击选课,系统将会检查该门课程是否已选择,其中班级编号、政治面貌编号民族编号籍贯编号和学籍编号列表框是通过和数据库中相应的代码表相联而生成的。1.1.5 选择教学管理课表查询 界面,学生输入学号等信息就可以看到自己的课表。1.1.6 选择教学管理成绩输入

7、界面此界面对学生是不可见的,按中止选课按纽后,再选择一门课程,在下面的表格中将显示所有选了这门课的学生信息,教师将学生的成绩输入或修改,按最终提交后成绩不能再修改。1.1.7 选择报表统计 打印成绩单 输入学号等信息就可打印成绩。H 选择用户维护 修改密码 用户可根据界面的提示信息修改自己的密码;选择退出将退出整个系统。1.2 性能需求分析时间特性要求:在软件方面,响应时间,更新处理时间都要求比较快而且迅速,这就需要采用存储过程技术,才能够满足用户的需要,在这个系统中用到了两个存储过程,它们分别是成绩提交 、终止选课, 其中成绩提交用来存储教师在修改成绩后提交的结果,终止选课用来存储结束选课。

8、安全性:设立口令号和密码验证方式,防止非法用户登录进行操作。也就是用户只有学生和教师才能进入这个系统,此系统没有高及到管理员的操作,用户凭学生的口令号 即 学号进入;教师的口令号和密码进入此系统。1.3 数据库需求分析数据流图在教务系统中功能模块主要牵涉到的信息包括:是学生信息(XSXX)、课程信息(KCXX)、选课信息(XKXX)、籍贯代码表(JGDMB)、政治面貌代码表(ZZMMDMB)、成绩表(CJB)、课程表(KCB)、班级信息(BJXX)、民族代码表(MZDMB)、登陆表(DLB)和学籍代码表(XJDMB)。学生信息:包含学号(xh)、姓名(xm)、班级编号(bjbh)、性别(xb)

9、、政治面貌编号(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)、是

10、否重考(sfck)、是否已确定成绩(sfyqdcj)。 课程表包括:编号(bh)、课序号(kxh)、课程编号(kcbh)、上课时间天(sksjt)、上课时间节(sksjj)、上课地点(skdd)。班级信息包括:班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)、班主任(bzr)。民族代码表包括:民族编号(mzbh)、民族(mz)。登陆表包括:口令号(klh)、密码(mm)、权限(qx)。学籍代码表包括:学籍编号(xjbh)、学籍(xj)。用 户数 据 库返回信息账号信息2 开发环境与工具介绍前端客户端我用的是Macromedia Dreamweaver 8来编写JSP文件。

11、中间业务逻辑层的JavaBeans用的是JBuilderX EnterpriseX版。数据库的编写是采用MYSQL数据库。2.1开发环境由于我用的是JBuilderX Enterprise版开发的这个系统,这个开发软件功能十分强大,所以自然对开发环境要求相对来说比较高。1对系统硬件的要求:最小512M RAM,推荐786MB RAM。2. 对系统平台的要求: Windows平台 CPU:Intel PentiumIII 及以上兼容系列500MHz以上。 操作系统:Microsoft Windows2000(SP4)、WindowXP或者WindowsServer2003。Linux平台 CPU

12、:Intel PentiumIII 及以上兼容系列500MHz以上。操作系统:Sun Java Desktop System Release2或者RedHat Enterprise Linux 3 .0 2.2 运行环境: 硬件:适用于数据吞吐量较大的不同服务器; 软件 :服务器端:WINDOWS XP+MySQL用户端: WindowXP+IE登陆信息操 作登 录根据以上划分的具体数据信息,得到数据流图如1.1所示: 寻找信息错误信息1.1数据库需求分析数据流图1.4.1 数据项: 表1-1FieldTypeNullKeyComment Xhchar(14)PRI学号Xmchar(10)YE

13、S姓名BjbhChar(14)班级编号XbChar(2)YES性别NjChar(4)YES年级ZzmmbhChar(2)政治面貌编号MzbhChar(2)民族编号JgbhChar(2)籍贯编号XjbhChar(2)学籍编号SfzhChar(18)YES身份证号BjbhChar(14)PRI班级编号BjmcChar(30)YES班级名称NjChar(4)YES年级RsChar(5)YES人数BzrChar10)YES班主任KcbhChar(14)PRI课程编号KcmcChar(30)YES课程名称BxqkcChar(4)YES本学期课程KkxbChar(5)YES开课系别JsChar10)YES

14、教师XfInt(4)YES学分KcjcChar(10)YES课程简称PymChar(10)YES拼音码BhInt(4)PRI编号XhChar(14)YESPRI学号KxhChar(14)YESPRI课序号BhChar(2)PRI编号kcbhChar(10)YESPRI课程编号KxhChar(14)YESPRI课序号sksjjChar(4)YES上课时间节sksjtChar(4)YES上课时间天skddChar(20)YES上课地点BhChar(2)PRI编号kcbhChar(10)YESPRI课程编号XhChar(14)YESPRI学号CjInt(4)YES成绩kscsint(4)YES考试次

15、数sfbxChar(10)YES是否补修sfckChar(10)YES是否重考sfyqdcjChar(10)YES是否已确定成绩mzbhChar(2)PRI民族编号Mz Char(18)YES民族zzmmbhChar(2)PRI政治面貌编号zzmm Char(14)YES政治面貌jgbhChar(2)PRI籍贯编号 JgChar(18)YES籍贯xjbhChar(2)PRI学籍编号xj Char(10)YES学籍KlhChar(12)PRI口令号Mm Char(10)YES密码QxChar(50)YES权限1.4.2 数据结构:学生信息=组成: 学号(xh)、姓名(xm)、班级编号(bjbh)

16、、性别(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)、是否

17、补修(sfbx)、是否重考(sfck)、是否已确定成绩(sfyqdcj) 课程表包括=组成:编号(bh)、课序号(kxh)、课程编号(kcbh)、上课时间天(sksjt)、上课时间节(sksjj)、上课地点(skdd)班级信息=组成:班级编号(bjbh)、年级(nj)、班级名称(bjmc)、人数(rs)、班主任(bzr)民族代码表=组成:民族编号(mzbh)、民族(mz)登陆表=组成:口令号(klh)、密码(mm)、权限(qx)学籍代码表=组成:学籍编号(xjbh)、学籍(xj)1.4.3 数据流:1.4.3.1 对图1.1中所涉及的数据流描述如下:1) 数据流名:学号信息说明:根据这个口令号

18、定位到用户管理数据库,以便进行身份验证。数据流来源:登陆界面输入的口令号和密码。数据流去向:其中用户口令信息将存在于整个操作过程中,防止非法登陆。数据流组成:口令号(文本);密码(文本)2) 数据流名:寻找信息说明:根据学生在班级信息维护的时候所填写的信息。数据流来源:班级信息维护界面学生输入包含班级编号、班级名称、年级、人数、班主任。数据流去向:班级编号将存在整个操作,其它的存入数据库。数据流组成:班级编号(文本);班级名称(文本);年级(文本);人数(文本);班主任(文本);3) 数据流名:寻找信息说明:根据学生在学生信息维护的时候所填写的信息。数据流来源:学生信息维护界面学生输入包含学号

19、、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号。数据流去向:学号将存在整个操作,其它的存入数据库。数据流组成:学号(文本)、姓名(文本)、班级编号(文本)、性别(文本)、政治面貌编号(文本)、身份证号码(文本)、籍贯编号(文本)、学籍编号(文本)、民族编号(文本)。4) 数据流名:寻找信息说明:根据课程在班级维护的时候所填写的信息。数据流来源:课程信息维护界面学生输入包含课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码。数据流去向:课程编号将存在整个操作,其它的存入数据库。数据流组成:课程编号(文本)、课程名称(文本)、本学期课程(文本)、

20、教师(文本)、开课系别(文本)、学分(整型)、课程简称(文本)、拼音码(文本)。5) 数据流名:返回信息说明:根据课程在学生维护的时候所填写的信息存入数据库后。数据流来源:由课程信息维护界面学生输入的包含课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码存入数据库后。数据流去向:课程信息维护界面。数据流组成:课程编号(文本)、课程名称(文本)、本学期课程(文本)、教师(文本)、开课系别(文本)、学分(整型)、课程简称(文本)、拼音码 (文本)。6) 数据流名:返回信息说明:根据学生在学生信息维护的时候所填写的信息存入了数据库之后。数据流来源:由学生信息维护界面学生输入的包含

21、学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号存入数据库的。数据流去向:学生信息维护界面。数据流组成:学号(文本)、姓名(文本)、班级编号(文本)、性别(文本)、政治面貌编号(文本)、身份证号码(文本)、籍贯编号(文本)、学籍编号(文本)、民族编号(文本)。7) 数据流名:返回信息说明:根据学生在班级维护的时候所填写的信息存入数据库后。数据流来源:由班级信息维护界面学生输入的包含班级编号、班级名称、年级、人数、班主任存入数据库的。数据流去向:班级信息维护界面。数据流组成:班级编号(文本);班级名称(文本);年级(文本);人数(文本);班主任(文本);1.4.

22、4 数据存储:sf成绩提交=输入数据流:成绩, 数据流去向:成绩输入sf终止选课=输入数据流:选择一门课程,数据流去向:数据库1.4.5 数据处理过程:1.4.5.1 对图1.1中所涉及的处理过程描述如下:1) 处理过程名:登陆输入数据流:口令号、密码输出数据流:不符合输入条件的错误信息 处理过程逻辑:用 IF条件进行判断。2) 处理过程名:班级信息维护输入数据流:班级编号、班级名称、年级、人数、班主任。输出数据流:班级编号、班级名称、年级、人数、班主任,其中班级编号将存在整个操作。处理过程号:民族编号,其中学号将存在整个操作。3) 处理过程名:班级信息维护输入数据流:课程编号、课程名称、本学

23、期课程、教师、开课系别、学分、4) 处理过程名:学生信息维护输入数据流:学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号。输出数据流:学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编课程简称、拼音码。输出数据流:课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码。其中课程编号将存在整个操作。5) 处理过程名:学生选课输入数据流:学号、姓名、班级、课程拼音、课程编号、课程名称、课序号输出数据流:学号、课序号、课程编号、课程名称、拼音码、开课系别、教师、其中课程编号将存在整个操作。6) 处理过程名:课表查询输入数据流:学号

24、、姓名、班级输出数据流:学号、课序号、班级名称、课程名称、上课时间节、上课时间天、上课地点、其中课程编号将存在整个操作。7) 处理过程名:成绩输入输入数据流:课程编号、课程名称、拼音码输出数据流:编号、学号、课程名称、成绩 、其中编号和学号将存在整个操作。2概要结构设计2.1系统功能结构设计2.1.1模块的功能设计根据需求分析阶段得到的功能需求,学生和教师用户通过输入口令号(学号)和密码进下该系统后,可以进行一些基础维护(学生信息维护、班级信息维护、课程信息维护)、教学管理(课表查询、学生选课、成绩输入)、报表统计(打印成绩单)、用户维护(修改密码、退出); 模块功能大概可以分为如下4个方面:

25、这几个模块基础维护、教学管理、报表统计、用户维护。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。教学管理包括课表查询、学生选课、成绩输入。报表统计包括打印成绩单。综上所述,得到客户端功能模块图如下2.1所示。学生登陆基础维护教学管理报表统计用户维护 班级信息维护学生信息维护课程信息维护课表查询学生选课打印成绩单图2.1客户模块系统功能模块图修改密码 退出修改密码退出报表统计用户维护学生信息维护班级信息维护老师登陆2.2 数据库概念结构设计 根据需求分析阶段得到的数据字典以及数据流图,由以上分析可以得到系统中出现的实体有:学生信息实体、课程信息实体、班级信息实体等等。 可以画出对

26、应的E-R图如下:用户信息实体的E-R图如图2.4所示登陆表口令号密码图2.3登陆表实体E-R图学籍编号民族编号籍贯编号政治面貌编号班级编号班级编号姓名图2.4学生信息实体E-R图性别学号学生信息身份证号码班级信息班级名称学号年级班主任人数图2.5班级信息实体E-R图课程简称学分开课系别拼音码 课程信息课程编号课程名称图2.6课程信息实体E-R图教师本学期课程是否补修考试次数课程编号是否已确定成绩是否重考成绩表学号编号人数成绩图2.7成绩表实体E-R图课程编号上课时间天课程表课序号编号上课地点上课时间节图2.8课程表实体E-R图课序号图2.9选课表实体E-R图学号编号选课表学籍代码表图2.10

27、学籍代码表实体E-R图图2.11籍贯代码表实体E-R图籍贯代码表图2.12政治面貌代码表实体E-R图政治面貌代码表政治面貌编号图2.13民族代码表实体E-R图民族代码表对以上得到的各分E-R进行合并,得到总E-R图2.14如下:政治面貌代码表 籍贯代码表学籍代码表班级信息学生信息民族代码表成绩表选课表课程表课程信息3逻辑结构设计根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。可以得到对应的关系模式为:学生信息(学号、姓名、班级编号、性别、政治面貌编号、身份证号码、籍贯编号、学籍编号、民族编号)课程信息(课程编号、课程名称、本学期课程、教师、开课系别、学分、课程简称、拼音码

28、)选课信息(编号、学号、课序号)籍贯代码表(籍贯编号、籍贯名称)政治面貌代码表(政治面貌编号、政治面貌名称)成绩表(编号、学号、课程编号、成绩、考试次数、是否补修、是否重考、是否已确定成绩) 课程表(编号、课序号、课程编号、上课时间天、上课时间节、上课地点)班级信息(班级编号、年级、班级名称、人数、班主任)民族代码表(民族编号、民族)登陆表(口令号、密码、权限)学籍代码表(学籍编号、学籍)采用的Microsoft SQL Server 2000数据库,根据得到的关系建立起对应的二维表。首先建立一个学生信息量。该表记录每个学生的具体信息。表的结构如表3.1所示:表3.1学生信息详细列表Field

29、TypeNullKeyComment xhchar(14)PRI学号xmchar(10)YES姓名bjbhChar(14)班级编号xbChar(2)YES性别njChar(4)YES年级zzmmbhChar(2)政治面貌编号mzbhChar(2)民族编号jgbhChar(2)籍贯编号xjbhChar(2)学籍编号sfzhChar(18)YES身份证号建立一个班级信息。该表记录各个班级的详细信息。如表3-2所示。FieldTypeNullKeyComment bjbhChar(14)PRI班级编号bjmcChar(30)YES班级名称njChar(4)YES年级rsChar(5)YES人数bzr

30、Char10)YES班主任建立一个课程信息。该表记录每门课程的详细信息。如表3-3所示。FieldTypeNullKeyComment kcbhChar(14)PRI课程编号kcmcChar(30)YES课程名称bxqkcChar(4)YES本学期课程kkxbChar(5)YES开课系别jsChar10)YES教师xfInt(4)YES学分kcjcChar(10)YES课程简称pymChar(10)YES拼音码建立一个选课表。该表记录了哪个学生选修了哪门课程。如表3-4所示。FieldTypeNullKeyComment bhInt(4)PRI编号xhChar(14)YESPRI学号kxhCh

31、ar(14)YESPRI课序号建立一个课程表。该表记录了哪个学生选修了哪门课程。如表3-5所示。FieldTypeNullKeyComment bhChar(2)PRI编号kcbhChar(10)YESPRI课程编号kxhChar(14)YESPRI课序号sksjjChar(4)YES上课时间节sksjtChar(4)YES上课时间天skddChar(20)YES上课地点建立一个成绩表。该表记录了哪个学生选修了哪门课程。如表3-6所示。FieldTypeNullKeyComment bhChar(2)PRI编号kcbhChar(10)YESPRI课程编号xhChar(14)YESPRI学号cj

32、Int(4)YES成绩kscsint(4)YES考试次数sfbxChar(10)YES是否补修sfckChar(10)YES是否重考sfyqdcjChar(10)YES是否已确定成绩建立一个民族代码表。该表记录了哪个学生选修了哪门课程。如表3-7所示。FieldTypeNullKeyComment mzbhChar(2)PRI民族编号 mz Char(18)YES民族建立一个政治面貌代码表。该表记录了哪个学生选修了哪门课程。如表3-8所示。FieldTypeNullKeyComment zzmmbhChar(2)PRI政治面貌编号zzmmChar(14)YES政治面貌建立一个籍贯代码表。该表记

33、录了哪个学生选修了哪门课程。如表3-9所示。FieldTypeNullKeyComment jgbhChar(2)PRI籍贯编号jgChar(18)YES籍贯建立一个学籍代码表。该表记录了哪个学生选修了哪门课程。如表3-10所示。FieldTypeNullKeyComment xjbhChar(2)PRI学籍编号 xj Char(10)YES学籍建立一个登陆表。该表记录了哪个学生选修了哪门课程。如表3-11所示。FieldTypeNullKeyComment klhChar(12)PRI口令号mm Char(10)YES密码qxChar(50)YES权限根据系统需求,应该基于用户表定义一个视图

34、,其定义用SQL语句描述如下:CREATE VIEW dbo.VIEW1ASSELECT TOP 100 PERCENT dbo.XSXX.xh AS 学号, dbo.XSXX.xm AS 姓名, dbo.KCB.kxh AS 课弃号, dbo.KCB.sksjt, dbo.KCB.sksjj, 单位dbo.KCB.skdd, dbo.BJXX.bjmc, dbo.KCXX.kcmc, dbo.CJB.cj, dbo.KCXX.kcbh, dbo.BJXX.bjbhFROM dbo.XSXX INNER JOIN dbo.XKB ON dbo.XSXX.xh = dbo.XKB.xh INNE

35、R JOIN dbo.KCB ON dbo.XKB.kxh = dbo.KCB.kxh INNER JOIN dbo.BJXX ON dbo.XSXX.bjbh = dbo.BJXX.bjbh INNER JOIN dbo.CJB ON dbo.XSXX.xh = dbo.CJB.xh AND dbo.XSXX.xh = dbo.CJB.xh INNER JOIN dbo.KCXX ON dbo.CJB.kcbh = dbo.KCXX.kcbh AND dbo.CJB.kcbh = dbo.KCXX.kcbhORDER BY dbo.XSXX.xh DESC, dbo.KCXX.kcbh DE

36、SC, dbo.BJXX.bjbh DESC根据系统需求,可以定义两个存储过程,其定义语句用SQL语句描述如下:成绩提交存储过程:CREATE proc sf_CJTJ courseid intasbegin tranupdate CJB set sfyqdcj=Ywhere kcbh=courseid and cj0commitGO终止选课存储过程:CREATE proc sf_ZZXK asbegin traninsert into CJB(xh,kcbh,cj,kscs,sfbx,sfck,sfyqdcj) select distinct a.xh ,b.kcbh,0,1,N,N,Nfr

37、om XKB as a,KCB as b where a.kxh=b.kxh and rtrim(a.xh)+rtrim(b.kcbh) not in ( select rtrim(a.xh)+rtrim(b.kcbh)from CJB ) commitGO4详细设计及功能实现4.1用户登录模块设计与实现设计思路:为了检验登录用户是否是一个合法用户,当用户输入用户名和密码后,需要查询数据库以便验证该用户是否为非法用户。同时通过用户输入的口令号就可知道用户是学生,还是教师,学生和教师的权限不同。实现功能:用户可以从登陆界面进入到教务管理系统界面,然后进行一些操作。 图4.1为系统运行时的截图:图

38、4.1 用户登录模块的系统截图该模块的核心代码如下:判断用户是否合法和用户权限。procedure Tmain.Button1Click(Sender: TObject);beginif(edit1.Text=)or(edit2.Text=)then showmessage(用户名密码不能为空!)else begin DM_Login.ADOQuery1.Close; DM_Login.ADOQuery1.SQL.Clear; DM_Login.ADOQuery1.SQL.Add(select * from DLB where klh=+edit1.Text+and mm=+edit2.Tex

39、t+); DM_Login.ADOQuery1.Open; User_Number:=DM_Login.ADOQuery1.FieldByName(klh).AsString; User_Password:=DM_Login.ADOQuery1.FieldByName(mm).AsString; User_Rright:=DM_Login.ADOQuery1.FieldByName(qx).AsString; if(DM_Login.ADOQuery1.RecordCount=0)then begin showmessage(用户名或密码错误,请重新输入!); edit1.Text:=; ed

40、it2.Text:=; end else begin Main.Caption:=教务管理系统; Main.Width:=820; Main.Height:=660; label1.Visible:=false; label2.Visible:=false; button1.Visible:=false; button2.Visible:=false; edit1.Visible:=false; edit2.Visible:=false; if(trim(User_Rright)=学生)then Main.N8.Visible:=false; end; end;end;图4.2 班级信息维护模块的系统截图 图4.3 学生信息维护模块的系统截图图4.4 课程信息维护模块的系统截图由于上面的二个模块都是由一个父窗体继承而来,则它们的核心代码都一致。该模块的核心代码

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服