已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计 论文 专用纸 第 1 页 共 53 页 摘要 学生成绩管理信息系统 就是借助计算机技术和数据库管理系统 对学生成绩进行记载 并实行电子化管理 根据学校成绩管理的实际要求 本系统的用户将分为两类 学生类用户和教师类用户 学 生类用户为系统的普通用户 该用户只能对自己的成绩信息进行浏览 没有浏览和查找他人信 息的权限 也不能对自身和他人的信息进行管理 教师类用户为系统的高级用户 他们有特定 的权限对系统中的所有成绩信息进行浏览 查找 并进行管理 而且可以使用相应的报表功能 系统包括三个模块 即按照学生进行成绩管理的模块 按照课程进行成绩管理的模块以及 成绩查找模块 系统使用 Visual basic 6 0 中文版来作为开发工具 后台数据库则采用 Access 2000 关键词 成绩管理信息系统 MDI 多文档界面 ADO Data 控件 设计 论文 专用纸 第 2 页 共 53 页 Summary The management information system of student s score is record and mamange the score using computer and date base manage systems by school fact The users of this systems is two class The students and teachers The student is the common user Can reading the score only himself The teacher is the high level user and can read or manage all of the score of everyone The system There are three modules The module of manage score by student The module of manage score by textbook The module of find score The system s development tool is Visual basic 6 0 Development data base is Access 2000 Key word The management information system of student s score Multiple Document Interface ADO Data Actives 设计 论文 专用纸 第 3 页 共 53 页 目录 昆明理工大学成人高等教育昆明理工大学成人高等教育 1 毕毕 业业 设设 计 论文 计 论文 1 毕业设计 论文 任务书毕业设计 论文 任务书 2 摘要摘要 3 1 应用背景应用背景 7 2 系统设计系统设计 8 2 1 模块设计 8 2 2 开发环境 8 2 3 系统的整体流程 9 2 4 数据库设计 9 2 4 1 成绩表 score 设计 9 2 4 2 学生表 student 系表 Department 和班级表 class 的设计 10 2 4 3 课程表 course 和课程类型表 coursetype 12 2 4 4 教师表 teacher 设计 12 2 4 5 以上各表的关系 13 3 程序浏览程序浏览 15 3 1 SPLASH窗体 15 3 2 登录窗体 FRMLOGIN FRM 15 3 3 MDI 主窗体 MDIMAIN FRM 16 3 4 按课程进行成绩管理 16 3 4 1 frmcoursescore 窗体 17 3 4 2 frmfind 窗体 17 3 4 3 frmAddStudent 窗体 17 3 4 4rptcoursescore 报表 17 3 5 按学生进行成绩管理 17 3 5 1 以教师身份登录 17 3 5 2 以学生身份登录 18 4 创建工程并建立数据连接创建工程并建立数据连接 19 4 1 数据环境设计器的属性设置 20 4 2 数据连接的初始化代码 21 5 系统的初始化和登录机制系统的初始化和登录机制 22 5 1 MDISTANDARD模块设计 22 设计 论文 专用纸 第 4 页 共 53 页 5 2 SPLASH窗体设计 22 5 3 登录窗体的设计 24 6 MDI 主窗体主窗体 29 6 1 菜单设计 29 6 2 代码设计 30 6 3 按课程进行成绩管理 31 6 3 1 课程成绩管理的主窗体设计 31 6 3 2 添加数据连接 35 6 4 变更课程成绩信息的窗体设计 45 参考文献 53 设计 论文 专用纸 第 5 页 共 53 页 1 应用背景应用背景 成绩管理是学校管理的重要组成部分 成绩 不仅仅关系到学生成绩升迁 在很大程度上 度量了一个学生的学习效果 同时 成绩还关系到教师的教学成果的考评 成绩管理的重要性 不言而喻 但是成绩管理在学校中是很繁重的 在每门课中 每个学生都需要有对应的成绩记 录 在学校各项管理中 成绩管理牵涉到的其他管理内容是最复杂的 它牵涉到了学生成绩管 理 教师管理和课程管理等 所以在实际管理工作中往往由于成绩记录的数量众多 管理复杂 造成成绩管理的混乱 对这一混乱 最好的解决办法就是借助计算机技术和数据库管理系统 对整个成绩进行记 载 并实行电子化管理 本系统的目的就是开发 成绩管理信息系统 通过这一系统来掌握学 生的成绩情况实现成绩信息管理的电子化 提供一个电子化的成绩管理平台 根据学校成绩管理的实际要求 结合本系统开发的要求 对于本章所要介绍的 成绩管理 系统 的需要实现如下功能 1 掌握每个学生每一门课的成绩信息并记录在数据库中 以便其他管理信息系统的 使用 2 分权限的管理 在成绩管理中 教师可以对任何一个学生的成绩进行查询和管理 但是对学生类用户 它只能对自己的成绩进行查看 而且不能对其进行更改 3 教师类用户可以对成绩按照课程进行管理 可以对每一门课所学的学生进行添加 删除和修改 4 教师类用户可以对成绩按照课程进行管理 可以对每一学生所选的课程成绩进行 添加 删除和修改 5 可以针对某一门课的学生列表及其成绩生成报表 并打印 6 可以针对某一个学生所选课程及其对应的成绩生成报表 并打印 设计 论文 专用纸 第 6 页 共 53 页 2 系统设计系统设计 2 1 模块设计模块设计 根据本系统的需求 结合实际成绩管理情况 本系统具有如下功能模块 用户类型 本系统的用户将分为两类 学生类用户和教师类用户 学生类用户为系统的普通用户 它 包括当前系统中所有的学生信息 其用户名为学生的姓名 而密码为该学生的学号 该用户只 能对自己的成绩信息进行浏览 没有浏览和查找他人信息的权限 也不能对自身和他人的信息 进行管理 教师类用户为系统的高级用户 他们有特定的权限对系统中的所有成绩信息进行浏 览 查找 并进行管理 而且可以使用相应的报表功能 按照学生进行成绩管理的模块 对于学生类用户而言 只能浏览自身的基本信息和成绩信息 但是不能对这些信息进行变 更 对于教师类用户而言 本模块提供了按照学生进行成绩管理的功能 教师可以选择所要操 作的学生 然后对其成绩进行添加 修改或者删除操作 按照课程进行成绩管理的模块 本模块只对教师类用户开放 本模块提供了按照课程进行成绩管理的功能 教师可以选择 所要操作的课程 然后对学习该门课程的学生及其成绩进行添加 修改或者删除操作 成绩查找模块 本部分只对教师类用户开放 利用该模块可以对学生表中的各个字段进行查找 也可以对 课程表中的各个字段进行查找 2 2 开发环境开发环境 结合所要开发的系统的特点 系统将使用 Visual basic 6 0 中文版来作为开发工具 后台 数据库则采用 Access 2000 设计 论文 专用纸 第 7 页 共 53 页 2 3 系统的整体流程系统的整体流程 根据学校的成绩管理的实际流程 结合上述的各功能模块 系统的整体流程图如下 2 4 数据库设计数据库设计 本系统将使用 Access 2000 作为数据库管理系统 database management system DBMS 在 Access 中 新建一个数据库 将其命名为 Score mdb 将新建的数据库放置在应用程序的目录 中 以便调用 2 4 12 4 1 成绩表 成绩表 scorescore 设计 设计 本系统的主要对象是 成绩 数据 为此需要在数据库中建立一个成绩表 用来记录所有 Splash 表单 用以显示版本信 息和系统信息 登录表单 用户可以分别以学 生和教师身份登录 MDI 主窗口 系统主窗口 按照学生进行成 绩管理 查看学 生的各科成绩 查找模块 按照学生进行成绩管 理 查看的各科学生 成绩 管理成绩变更 管理成绩变更 通过单击登录表 单 通过验证 重新登录 教师登录 登录 教师或学生登 录 若身份为教师 设计 论文 专用纸 第 8 页 共 53 页 的学生的各个科目的成绩记录 在刚刚建立的数据库中建立一个表 取名为 Score 其字段结构 如表 1 所示 需要注意的是 该表的主关键字 primary key pk 为学号 studentID 和课 程编号 courseID 这两个字段所组成的复合关键字 惟一标识授课记录 同时 该表的 studentID 字段为学生表中学号字段的外部关键字 foreign key FK 该表的 courseID 字段为 课程表中课程编号字段的外部关键字 foreign key FK 成绩表 score 图 1 字段名字段说明类型宽度备注 id id 号自动编号长整型递增 studentID 学号文本为主关键字之一 对应 student 的 serial 字段 courseID 课程编号文本为主关键字之一 对应 course 的 serial 字段 score 分数数字整型 2 4 22 4 2 学生表 学生表 studentstudent 系表 系表 DepartmentDepartment 和班级表 和班级表 classclass 的设计 的设计 学生是成绩的载体 学生记录是成绩存在的前提 所以必须设计学生表 student 表 并 掌握学生的基本信息 学生的基本信息包括以下部分 学号 serial 班级 class 学生姓 名 name 出生日期 birthday 性别 sex 家庭住址 address 电话 tel 简历 resume 等 在数据库中创建一个表 sutdent 如表 2 其中 serial 学号 字段为该表的主 关键字 primary key PK 惟一标识了一条记录 class 字段表示学生所在的班级 是表的外 部关键字 foreign FK 它与 class 表的 name 字段构成了参照完整性 图 2 学生表 student 字段名 字段说明类型 宽 度 备注 serial 学号 文本 7 主关键字 设计 论文 专用纸 第 9 页 共 53 页 name 姓名 文本 10 不能为空 class 所属班级文本 5 不能为空对应于 Class 表 name 字段 birthday 生日日期 时 间 不能为空 sex 性别 文本 2 默认值为 男 address 家庭住址 文本 30 可以为空 tel 电话 文本 15 可以为空 resume 简历 备注 500 可以为空 每一个学生属于一个班级 而每一个班级又属于且仅属于某一个系 为了更好和管理学生记 录 还需要在数据库中创建两个表 分别表示系和班级 在数据库中创建两个表 取名为 department 和 class 其字段结构如下图 3 图 4 所示 图 3 班级表 class 字段名字段说明 类型宽度备注 name 班级名 文本 5 主关键字 dept i d 班级所属的部门 的编号 数字长整型不必为空 对应于 Department 表的 ID 字段 图 4 系表 department 字段名字段说明 类型宽度备注 id 部门编号数字长整型主关键字 name 部门名 文本不能为空 设计 论文 专用纸 第 10 页 共 53 页 2 4 32 4 3 课程表课程表 course course 和课程类型表和课程类型表 coursetype coursetype 数据库中还需要建立一个表来表示学校所开设的课程 所开设的每一门课又属于某一课程类 型 为此 需要在数据库中新增两个表 course 表和 coursetype 表 前者代表了所开的课程表 后 者表示课程类型 其字段结构如表 5 表 6 表 5 课程表 course 字段名字段说明类型宽度备注 serial 课程编号文本 50 主关键字 name 课程姓名文本 50 不能为空且不能重复 period 课程学时数数字长整型默认为 32 typeid 课程类型号数字长整型默认为 0 对应于 coursetype 的 ID 字段 表 6 课程类型表 coursetype 字段名字段说明类型宽度备注 id 类型编号自动编号递增主关键字 name 类型名文本 50 不能为空 2 4 42 4 4 教师表教师表 teacher teacher 设计 设计 对成绩的管理中还涉及到教师的管理部分 在本系统所开发的系统中 教师是作为系统的 高级用户存在的 可以对所有学生的各科成绩记录进行管理 所以还需要掌握教师的基本信息 教师基本信息包括以下部分 编号 serial 所属部门编号 dept id 教师姓名 设计 论文 专用纸 第 11 页 共 53 页 name 学历 schooling 职称 title 出生日期 birthday 性别 sex 家庭住址 address 电话 tel 简历 resume 等 在数据库中创建一个表 表名为 teacher 其字 段结构如表 7 所示 其中 编号 serial 字段为主关键字 primary key PK 惟一标识了一 条成绩记录 dept id 字段表示成绩所在部门的编号 是表的外部关键字 foreign key FK 它与 Department 表的 ID 字段构成了参照完整性 表 7 教师表 teacher 字段名 字段说明类型 宽度备注 Serial 学号 文本 7 主关键字 Name 姓名 文本 10 不能为空 Dept id 所属班级文本 5 不能为空 对应于 department 表 id 字段 Schooling 学历文本 50 可以为空 birthday 生日日期 时间可以为空 sex 性别 文本 2 默认值为 男 address 家庭住址 文本 30 可以为空 tel 电话 文本 15 可以为空 resume 简历 备注 500 可以为空 2 4 52 4 5 以上各表的关系以上各表的关系 从实际的成绩管理来说 上述所涉及的各个表之间存在着紧密的联系 根据这一情况 需 要建立各个表的相应字段之间的关系 定义下列几组参照完整性 每一项成绩属于且只属于一个学生 所以建立 student 表的 serial 字段和 score 表的 studentID 字段的一对多的关系 每一项成绩属于且只属于一门课程 所以建立 course 表的 serial 字段和 score 表的 corseID 字段的一对多的关系 设计 论文 专用纸 第 12 页 共 53 页 由于每一门课程属于且只属于一种课程类型 建立 coursetype 表的 id 字段和 course 表 的 typeid 字段的一对多的关系 每一个学生属于且只属于一个班级 所以建立 class 表的 name 字段与 student 表的 class 字段为一对多的关系 每一个班级属于且只属于一个系 所以建立 department 表的 id 字段与 class 表的 dept id 字段为一对多的关系 每一个教师属于且只属于一个系 所以建立 department 表的 id 字段和 teacher 表的 dept id 字段的一对多的关系 上述参照完整性可在 Access 的数据库关系设计图中反映 设计 论文 专用纸 第 13 页 共 53 页 3 程序浏览程序浏览 3 1 splash 窗体窗体 运行本系统 将出现 splash 窗体 frmsplash frm 通常来说 splash 窗体用来向用户展 示有关系统的版本和版权信息 开发情况等 同时 它还可以用来对应用程序系统的参数和所 使用的数据库进行初始化处理 在本系统中 由于没有初始化工作需要做 所以 splash 窗体展 示屏幕的作用 图 1 3 2 登录窗体登录窗体 frmlogin frm 如果用户在 splash 窗体上单击窗体上的任何部位或者按下任何一个键 则将退出 splash 窗体 并进入登录窗体 frmlogin frm 本系统的用户分为两种 学生类用户和教师类用户 使用 者可以在组合框中选择所要登录的用户的类型 并输入相应的用户名和密码 在登录窗体中 用户输入用户名 口令 选择各自的类型 并单击 确定 就会将输入 提交给系统以验证用户 密码及身份 如果用户的密码输错 3 次 则系统自动退出 如果用户 密码正确 则将进入系统的 MDI 主窗体 MDIMain frm 设计 论文 专用纸 第 14 页 共 53 页 图 2 3 3 MDI 主窗体 主窗体 MDIMain frm 图 3 在 frmlogin 窗体中如果用户登录成功 将会出现 MDI 主窗体 在 MDI 主菜单中 设计了 3 项菜单 分别为 通用 成绩管理 帮助 通用 菜单下有两项子菜单 重新登录 和 退出系统 在 帮助 菜单下只有一 项子菜单 关于 若用户以学生身份登录 则在 成绩管理 主菜单下只有一项子菜单 按学生进行 若用户是以教师身份登录 则 成绩管理 主菜单下将会有两项子菜单 按学生进行 和 按课程进行 根据不同的用户身份 其所能使用的权限也不同 3 4 按课程进行成绩管理按课程进行成绩管理 本部分只对教师类用户开放教师类用户借助本模块对所有的成绩按照课程进行查看 并进 设计 论文 专用纸 第 15 页 共 53 页 行相应的管理 3 4 13 4 1 frmcoursescorefrmcoursescore 窗体窗体 用户可以在 课程类型 中选择所要查看的课程所属的类型然后单击 列出 这样就会 列出属于该类型的课程的基本信息 若用户在 课程类型 中选择了 全部 则将会显示出数 据库中所有的课程信息 用户可以使用 浏览框 中的按钮在课程信息栏中移动游标的位置 也可以通过双击网格 控件的当前行或者将选项卡转换到 成绩信息 将会看到属于该课程的成绩信息 3 4 23 4 2 frmfindfrmfind 窗体窗体 如果在 frmcoursescore 窗体中单体 查询 按钮 则会出现一个自定义的查询框 用来查 找满足条件的课程信息 并根据这些信息查看其成绩 3 4 33 4 3 frmAddStudentfrmAddStudent 窗体窗体 如果单击了 成绩管理框 的 添加 或者 编辑 按钮 则会出现一个窗体 以供用 户添加或者修改当前记录的界面 3 4 4rptcoursescore3 4 4rptcoursescore 报表报表 如果在 rptcoursescore 窗体中单击了 报表 按钮 则会生成有关当前课程的所有学生 的成绩列表的报表 rptcoursescore 3 5 按学生进行成绩管理按学生进行成绩管理 3 5 13 5 1 以教师身份登录以教师身份登录 1 frmstudentscore 窗体 如用户以教师身份登录 则用户可以查看所有学生的基本信息和成绩信息 可以单击 所在系 的组合框 在其中选择所要查看的系 这样就会在 所在班 中显示 设计 论文 专用纸 第 16 页 共 53 页 出所有属于该系的班级的信息 也可以在 所在班 在选择所要查看的学生信息所在的班级 然后单击 列出 按钮 这样就会列出属于该班级的学生的基本信息 若用户在 所在班 中 选择了 全部 则将会显示出数据库中所有的学生信息 用户可以使用 浏览框 中的按钮在学生基本信息样中移动游标的位置 通过双击风格 控件的当前行或者将选项卡转换到 成绩信息 将会看到 当前学生的成绩信息 2 frmfind 窗体 如果用户在 frmstudentscore 窗体中单击 查询 按钮 则会出现一个自定义的 查询框 用来查找满足条件的学生信息 并根据这些信息查看其成绩 3 rptsutdentscore 窗体 如果用户在 frmstudntscore 窗体单击了 报表 则会生成有关当前学生的氖成绩列表的 报表 rptstudentscore 3 5 23 5 2 以学生身份登录以学生身份登录 如果用户是以学生的身份登录 而且用户也单击了 成绩管理 菜单项下的 按学生进 行 菜单项 那么也将出现查看学生的基本信息和可看学生的成绩信息的窗体 但是界面中的查 询框 浏览框 和成绩管理框是不可用的 而且在学生基本信息列表中只会显示其本人的信息 设计 论文 专用纸 第 17 页 共 53 页 4 创建工程并建立数据连接创建工程并建立数据连接 在 visual baisc 中创建一个工程 命名为 score vbp 将所创建的 scroe mdb 数据库拷贝 到工程目录中 以便建立数据连接 本系统将使用 ADO 作为数据连接的手段 在 ADO 以前 必须在工程中添加对 ADO 的引用 在使用 ADO 对象的时候 例如 记录集 连接 命令 参数 ADOR RDS 以及 RDS 服 务器对象 开发人员不能获得这类对象或者其属性 事件或方法的上下文相关的帮助 也就是 说 如果开发人员引用一个对象并使用了这个对象的功能 当选择相应的代码并按下 F1 时并 不会显示一个帮助主题 相反 将显示一个错误的主题或者一个 关键词未找到 的主题 不过 通过使用联机文件索引 就可以找到该对象的任何属性 事件或方法的帮助信息 如果没有打开 MSDN 文档查看器 请在帮助菜单上单击内容 单击索引选项卡 键入属性 事件或者方法的名称 如果合适的话 请在名称中包括 集合 属性 事 件 或者 方法 等字 从可选的主题列表中 选择标题中包括 ADO 的主题 Note 通过 MSDN 的查看器目录 在 ADO 主题中还可以找到其他帮助信息 例如 ADO 对 象模型 打开 SDK 平台 以及数据库和信息服务 到 Microsoft 数据访问 SDK ADO 数据控件 FetchProgress 和 FetchComplete 事件不可实现 尽管 ADO 数据控件参考主题包括了指向 FetchProgress 和 FetchComplete 事件的链接 但实际上该控件的这两个事件还不可实现 DataGrid SizeMode 和 Size 属性的值不能是 2 dbgNumberOfColumns 有关 Split 对象的 SizeMode 和 Size 属性的参考主题中提到了一个根本不存在的属性值 2 dbgNumberOfColumns 请忽略这个值 控件 页面设计器上的 ImageList 控件 设计 论文 专用纸 第 18 页 共 53 页 当在一个 DHTML 页面设计器上使用 ImageList 控件时 在设计阶段并不能添加图象 如 果想要在一个未经编译的 dll 项目中使用下列代码 将碰到运行时错误 2147418113 8000ffff 对象 Iimages 的 Add 方法失败 Private Sub DHTMLPage Load ImageList1 ListImages Add LoadPicture C Winnt winnt bmp End Sub 然而 上述代码经过编译将正确地运行 4 1 数据环境设计器的属性设置数据环境设计器的属性设置 本系统采取 ADO 作为数据连接手段 同时采取 数据环境设计器 作为数据连接 ADO 的载 体因工程中添加一个数据环境 并命名 DataEnv 在添加一个数据环境设计器之前 需要引用数据环境设计器 一旦数据环境设计器以前 需要引用数据环境设计器被添加到您的 visual basic 工程中 数 据环境设计器窗口出现 并且将一个 connection 对象添加到您的数据环境中了 在数据环境设计器中将已经添加的 connection 对象 命名为 Conn 查看 conn 的属性 在 提 供者 选项卡中选择 microsoft jet OLEDB 4 0 OLE DB Provider 项 并单击 下一步 按 钮 在属性页的 连接 选项卡中 在 数据库名称 中选择 score mdb 所处的路径 并选中 空白密码 和 允许保存密码 前面的单选框 单击 测试连接 按钮 如果 出现 连接成功 提示框 如果表示设置成功 否则 需要检查数据库连接的设置 经过以上两步设置 数据环境设计器的 con 数据连接的属性设置如下 数据连接 con 的属性 对象属性设置 DEConnectionNameCon 设计 论文 专用纸 第 19 页 共 53 页 Connectionstring Priovider microsoft jet OLEDB 4 0 Pass word data source score mdb persist security info true Cursorlocation3 aduserclient 4 2 数据连接的初始化代码数据连接的初始化代码 在数据环境的初始化 Initialize 事件中 动态改变数据连接 con 的连接字段 connectionstring Private Sub DataEnvironment Initialize ADO 中的数据连接所使用的字段 Dim strConn As String strConn Provider Microsoft Jet OLEDB 4 0 Password Data Source strConn strConn Persist Security Info True Con ConnectionString strConn End Sub 设计 论文 专用纸 第 20 页 共 53 页 5 系统的初始化和登录机制系统的初始化和登录机制 5 1 mdIStandard 模块设计模块设计 全局变量的设置 本系统为一个分权限的系统 学生类用户和教师类用户均可以登录系统 但是不同的用户 所 具有的权限也是不同的 所以需要定义全局变量 用来表示用户的身份以及登录的用户名 在工程 中添加一个 模块 并命名为 mdistandard 在该模块的 通用 段中 定义两个全局变量 gnusertypet gsusername 分别表示用户的身份和用户名 对于 gnusertype 而言 0 表示用户以 教师身份登录 1 表示用户以学生身份登录 启动窗体 设计 Main 过程 在该模块中 首先要对所定义的两个全局变量进行初始化 之后显示快速显 示窗体 frmsplash 如果用户退出了 frmsplash 窗体 则会进入登录窗体 frmlogin 注意 在 main 过程中 当调用 frmsplash 窗体 的 show 方法时 作用了 vbmodal 参数 这个表 示以模式窗体的形式调用 frmspalsh 只有采取了这种方式 才能合 frmsplash 窗体退出后才显 示 frmlogin 窗体 本系统将 main 子过程来作为系统的启动对象 选择 工程 菜单项下 属性 子菜单 改变 工程的启动对象为 submain 5 2 splash 窗体设计窗体设计 界面设计 在工程中添加类型为 展示屏幕 的窗体 命名为 frmsplash frm 该 窗体通常显示的是 如应用程序名 版权信息和一个简单的位图等内容 Frmsplash 窗体上的控件及其属性设置如表 9 所示 为了方便起见 将该窗体中所有的标签控件者设计为名称为 lblinfo 的控件数组 frmsplash 表单的按件 设计 论文 专用纸 第 21 页 共 53 页 对象属性设置 NameFrmsplash Borderstyle3 fixed dialog Caption 为空 Keypreviewtrue showintashbarfalse form startuppostion 2 屏幕中心 NameFraedge Frame Caption 为空 NameImglogo Image Dataformat 图片 NameLblinfo Index0Label Caption 成绩管理系统 NameLblinfo Index1Label Caption 1 0 0 NameLblinfo Index2Label Caption 开发环境 ual basic 6 0 NameLblinfo Index3Label Caption 数据环境 access 设计 论文 专用纸 第 22 页 共 53 页 NameLblinfo Index4Label Caption 版权所有 违者必究 NameLblinfo Label Index5 代码设计 frmsplash 窗体为系统启动时所显示的窗体 有介于 frmsplash 窗体的特点 如果单击窗 体上的任何部分 或者按下任一个键 者将调用 unload me 词句 以退出本窗体 在 form 的 keypress 事件中 也调用了 unloadform 子过程 从以上的 keypress 事件可知 窗体中的 keypress 事件并没有像 click 事件一样 在每一 个控件中都响应 这是因为 frmsplash 窗体的 keypress 属性补设置为 true 窗体的 keypreview 属性是用来返回或设置一个值 以决定是否在控件的键盘事件之前首先 满打满算社会分配的键盘事件 若该属性为 true 则所有对窗体控件的按键都会先经过窗体的 键盘事件 然后才响应各个控件的键盘事件 所以只需响应 form 的 Keypress 事件即可 5 3 登录窗体的设计登录窗体的设计 本系统的用户分两类 教师和学生 在设计登录窗体时 要增加一个 combobox 控件 用户 可以使用它来选择自己的身份 同时 为了避免非法用户的干扰 对于用户登录窗口 如果在 用户连续输错 3 次密码 则系统将会自动退出系统 界面设计 在工程中添加类型为 登录对话框 的类型 命名为 frmlogin frm 该窗体上的控件及其 属性设置如下表 frmlogin frm 表单的控件 对象属性设置 设计 论文 专用纸 第 23 页 共 53 页 NameFrmlogin Borderstyle3 fixed dialog Caption 请登录 KeypreviewFalse showintashbarfalse form startuppostion 2 屏幕中心 NameFraloginFrame Caption 登录 NameLbllabels AutosizeTrue Caption 用户名 Label Index0 Name TxtuserTextbox Text 为空 NameLbllabels AutosizeTrue Caption 口令 Label Index1 Name TxtpwdTextbox Text 为空 NameLbllabels Caption 口令 Label Index1 设计 论文 专用纸 第 24 页 共 53 页 NameCbousertypeCombobox List 教师 学生 NameCmdok Caption 确定 Commandbutto n Defaulttrue NameCmdcancel Caption 取消 Commandbutto n canceltrue 代码设计 1 确定用户身份 在 mdlstandard 模块中的 通用 部分定义公共变量 gnUserType 其中 0 表示教师类用户 1 表示教师类用户 如果用户改变了 cboUserType 的内容 则通过 cboUserType 的 Change 和 Click 事件 将 cboUserType 的值更新 在 Form 的 load 事件中 将 cboUSERtype 的 ListIndex 设为 0 即默认情况下选择教师作为 登录的用户身份 单击 取消 按钮退出整个登录窗体 2 验证输入的用户名和密码 用户输入了用户名和密码 并且选择了对应的身体之后 可以单击 确定 按钮来验证 即激活 cmdOK 控件的 Click 事件 为了完成验证密码用户的工作 确定 按钮 cmdOK 的 Click 事件需要按下列步骤完成 对应的工作 如果用户选择了 教师 身份 则用 Teacher 表中的 name 和 serial 字段来验证对 设计 论文 专用纸 第 25 页 共 53 页 应的用户名和密码 如果用户选择了 学生身份 则要用 Student 表中的 name 和 serial 字段 来难用户所入的用户和密码 由此 可以确定不同的 SQL 语句 创建一个记录集 利用所确定的 SQL 语句打开记录集 如果查到相应的记录 则用 户的登录获得通过 此时可以退出登录窗口 并进入 MDI 主窗体 同时将用户类型和用户名传 递到定义在 mdistandqrd 模块中的公共变量 gnUserTynpe 和 gnUserTynpe 若没有找到相应的记录 则给出提示错误信息 同时将用户输入密码错误的次数增 加 1 如果错误次数达到 3 次 则退出整个系统 若次数还没有超过 3 次 则提示用户重新输入 根据以上机制的设计 确定 按钮 cmdOK 的 Click 事件的代码如下 Private Sub cmdOK Click 取得用户输入的用户名和密码 Dim user As String pwd As String user txtUser pwd txtPwd 根据不同的身份 选择不同的表用以查询 Dim r As New ADODB Recordset Dim strSQL As String Select Case gnUserType Case 0 选择身份为教师 strSQL select from teacher where name user and serial pwd Case 1 选择身份为课程 strSQL select from student where name user and serial pwd 设计 论文 专用纸 第 26 页 共 53 页 End Select 打开记录集 r r Open strSQL DataEnv Con ConnectionString adOpenStatic 用户密码错误的次数 如果错误次数超过 3 次 则退出系统 Static nTryCount As Integer If r EOF Then 登录失败 MsgBox 对不起 无此用户或者密码不正确 请重新输入 vbCritical 错 误 txtUser SetFocus txtUser SelStart 0 txtUser SelLength Len txtUser nTryCount nTryCount 1 If nTryCount 3 Then MsgBox 您无权操作本系统 再见 vbCritical 无权限 Unload Me End If Else 登陆成功 显示 MDI 窗体 并将用户类型和用户名传到 MDI 窗体中 gnUserType cboUserType ListIndex gsUserName txtPwd 注意调用顺序 Unload Me MDIMain Show 设计 论文 专用纸 第 27 页 共 53 页 End If End Sub 6 MDI 主窗体主窗体 本系统采取多文档界面 MultiDocument Interface 在工程中添加一个 MDI 窗口 并取名为 MDIMain frm 并为 MDI 窗体进行菜单的设计和代码 的设计 6 1 菜单设计菜单设计 在 MDI 主菜单中 设计了 3 项菜单 分别为 通用 成绩管理 和 帮助 具体设置如下表所示 MDIMDI 窗体的菜单设计 对象属性设置 标题通用 G 名称 mnuGeneral 一级菜单 通用 显示窗口列表选中 标题 通用 菜单的二级菜单 名称 Mnutem 标题重新登录 L 名称 Mnulogin 通用 菜单的二级菜单 快捷键 F2 标题退出 X 通用 菜单的二级菜单 名称 Mnuexit 设计 论文 专用纸 第 28 页 共 53 页 快捷键 Ctrl X 标题成绩管理 S 一级菜单 成绩管理 名称 mnuscore 标题按学生进行 S 名称 Mnustudentscore 快捷键 F6 成绩管理 菜单的二级菜 单 说明当用户以学生身份登录 时 该菜单不可见 标题帮助 H 一级菜单 帮助 名称 mnuHelp 标题关于 A 名称 mnuabout 帮助 菜单的二级菜单 快捷键 F1 6 2 代码设计代码设计 1 窗体的代码部分 1 Load 事件 根据用户登录时所取得的 gnUserType 和 gsUserName 如果登录的为学生类型的用 户 即 gnUserType 为 0 则用户只能查看自己的信息 不能使用 成绩查询 这一子菜单 而 对于教师类型的用户 即 gnUserType 为 1 则没有此限制 所在在 MDIForm 和 Load 事件中 需要判断用户类型 若为成绩类型的用户 则隐藏 mnuCourseScore 菜单 苦为教师类型的用户 则显示 mnuCourseScore 菜单 2 QueryUnload 事件 当用户要退出 MDI 窗体时 需要在 QueryUnload 事件中进行询问 询问用户是否真的 要退出本系统 如果用户不要退出 则将 Cancel 置为 1 来取消整个退出过程 设计 论文 专用纸 第 29 页 共 53 页 2 通用 菜单的代码 1 重新登录 子菜单的代码 单击了 重新登录 或者按下 F2 键 将会给出提示 如果用户在提示框中按下 确 定 按钮 则退整个 MDI 主窗体 并显示登录窗体 2 退出 子菜单的代码 3 成绩管理 菜单的代码 1 按学生进行 子菜单 2 按课程进行 子菜单 4 帮助 菜单的代码 当用户选择 关于 子菜单时 系统会显示 Splash 窗口 mnuAbout 的 Clikc 事件的代 码如下 6 3 按课程进行成绩管理按课程进行成绩管理 本系统为成绩管理提供了两种方式 按课程进行成绩管理 和 按学生进行成绩管理 对于学生类用户而言 他只能使用 按学生进行成绩管理 有关 按学生进行成绩管理 部分 的介绍自己看相关资料 按课程进行成绩管理 方式 只对教师类用户开放 该子系统包括了 4 个部分的内容 课程 成绩管理的主窗体 frmCourseScore 变更课程成绩信息的窗体 frmAddStudent 处定义查 找窗体 frmFind 和课程成绩列表的报表 ftpCourseScore 以下将分别介绍这 4 个部分的设 计和实现 6 36 3 1 1 课程成绩管理的主窗体设计课程成绩管理的主窗体设计 教师类用户登录之后 如果单击 成绩管理 菜单下的 按课程进行 菜单或者按下 F6 键 就会进入课程成绩管理的主窗体 在改窗体中使用了一个 Tabbded Dialog 控件 在一个选项卡中显示对应的课程列表 如果 设计 论文 专用纸 第 30 页 共 53 页 用户选中了某一课程 可以在第二个选项卡上看到选修了该课程的学生的信息及其成绩 并统 计出了选课的人数以及该课程的平均分 用户也可以在第二个选项卡中对成绩信息进行管理 并可产生报表 界面设计 在该窗体中使用了一个 Tabbed Dialog 控件和 DataGrid 控件 所以需要在 工程 菜单下 的 部件 子菜单选择 Microsoft Tabbed Dialog Control 6 0 项和 Microsoft DataGrid Control6 0 项 将 Tadded Dialog 控件和 DataGrid 控件加入到工具栏中 添加一个窗体 命名为 frmCourseScore 在主窗口中加入两个 Frame 控件和一个 TabbedDialog 控件 作为以后所添加控件的父控件 其属性设置如表所示 frmcoursescorefrmcoursescore 窗体及其控件的属性窗体及其控件的属性 对象属性设置 NameFrmcoursescore Borderstyle1 fixed single Caption 按课程进行成绩管理 MaxbuutonFalse form MDIChildTrue NameFraseek frame Caption 查询框 Namebrowse frame Caption 浏览框 NameSstmain Style1 ssStylepropertypage Tab0 Tabbled dialog Tabs2 设计 论文 专用纸 第 31 页 共 53 页 Caption 第一个选项卡为 课程信息 第二个选项卡为 成绩信息 以下控件属于 frmseek 控件 NameLbltypeLabel Caption 课程类型 NameCbotypeCombobox Style2 dropdown list Commandbutto n NameCmdlist Caption 列出 Commandbutto n NameCmdseekt Caption 查询 以下控件属于 frabrowse 控件 CommandbuttonNameCmdfirst Caption CommandbuttonNameCmdprevious Caption CommandbuttonNameCmdlast Caption 以下控件属于 ssmain 控件的第一个选项卡 设计 论文 专用纸 第 32 页 共 53 页 NameGrdscan AllowaddnewFalse AllowarrowsTrue AlldeleteFalse AllupdateFalse Caption 双击查看对应的成绩信息 ColumnheadersTrue DatamemberSqlcourse Datagrid Datascouredataenv 以下控件属于 ssmain 控件的第一个选项卡 NameGrdscore AllowaddnewFalse AllowarrowsTrue AlldeleteFalse AllupdateFalse Caption ColumnheadersTrue DatamemberSqlstudentscore Datagri d Datascouredataenv NameLblsum Label Caption 选课人数 NameTxtsum Textbox Dataformat 数字 无小数点 设计 论文 专用纸 第 33 页 共 53 页 LockedTrue NameLbl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 检验科不合格件处置审核流程
- 喷涂车间物料保障排程协同制度
- 处方点评工作规范化管理实施细则
- 高层住宅项目成本价分析方案
- 猫咪保定防抓指引手册操作
- 产妇产后护理规范作业流程
- 机加工中心新料试切验证流程
- 钣金线焊点可靠度提升计划
- 介入科冠脉造影术后护理管理
- 2026年GEO网站平台深度测评:谁是企业品牌AI时代权威信源布局的首选
- MH-T 5002-2020运输机场总体规划规范
- 甲磺酸奥希替尼片-临床用药解读
- 医务人员职业风险与防护课件
- 9《那个星期天》课件
- 2024年山东中烟工业有限责任公司招聘笔试参考题库含答案解析
- 测匀加速直线运动物体的加速度实验报告
- 人口信息查询申请表(表格)
- 安徽省合肥市合肥第一中学2022-2023学年高一下学期期末物理试题
- 加氢裂化题库
- 信号与动态测量系统
- 奏响“民族的声音”-《捷克的原野和森林》
评论
0/150
提交评论