中原工学院三级课题报告_第1页
中原工学院三级课题报告_第2页
中原工学院三级课题报告_第3页
中原工学院三级课题报告_第4页
中原工学院三级课题报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

实践环节报告课程名称:三级实践课题课题名称:知识竞赛答题系统专业:软件工程(移动互联网方向)班级:RB软工移142学号:201470024231学生姓名:宋鎏鑫指导教师:杨腾飞2016 年 3 月 17 日中 原 工 学 院 软 件 学 院三 级 实 践 课 题 设 计 任 务 书姓 名 宋 鎏 鑫 软 件 工 程 专 业 RB软 工 移 142 班题 目 知 识 竞 赛 答 题 系 统设计任务 开 发 一 个 比 较 完 善 的 基 于 Java 的 知 识 竞 赛 答 题 系 统 , 方 便 比 赛 举 办 者 出 卷 和 查 看 考 试成 绩 , 也 方 便 用 户 进 行 竞 赛 作 答 。 本 系 统 主 要 功 能 包 括 :1. 用 户 管 理 ( 管 理 员 对 用 户 账 号 进 行 删 除 和 密 码 的 修 改 )2. 成 绩 管 理 ( 管 理 员 对 用 户 成 绩 进 行 查 看 )3. 试 卷 管 理 (管 理 员 对 试 卷 的 创 建 与 发 布 )4. 题 库 管 理 ( 管 理 员 创 建 题 库 分 类 和 在 不 同 分 类 中 进 行 题 目 的 添 加 )5. 用 户 对 试 题 的 练 习 功 能6. 用 户 考 试 和 考 试 成 绩 查 询 功 能7. 用 户 对 帐 号 密 码 的 修 改 功 能开 发 工 具 : eclipse, MYSQL时间进度 第 1周 ( 2016-02-292016-03-06) :重 新 温 习 一 遍 java 高 级 部 分 的 知 识 , 对 数 据 库 和 系 统 运 行 逻 辑 进 行 设 计 。第 2周 ( 2016-03-072016-03-13) :开 始 编 写 程 序 , 完 成 数 据 库 中 表 的 建 立 , 并 连 接 上 了 数 据 库 。 能 在 管 理 员 端 实 现 对 用户 的 管 理 , 试 题 管 理 , 试 卷 管 理 和 成 绩 管 理 。 在 客 户 端 实 现 了 练 习 模 块 , 竞 赛 考 试 模 块 ,成 绩 查 询 模 块 和 密 码 修 改 模 块 。第 3周 ( 2016-03-142016-03-20) :修 改 程 序 BUG, 写 三 级 课 题 报 告 。原 主始 要资 参料 考与 文献 01欧 二 强 java 编 程 手 记 M:清 华 大 学 出 版 社 .2013.602王 志 刚 江 友 华 MySQL高 效 编 程 M:人 民 邮 电 出 版 社 .2012.1指 导 教 师 签 字 : 年 月 日知识竞赛答题系统摘 要随 着 社 会 的 发 展 , 科 学 技 术 的 进 步 , 软 件 已 经 融 入 了 人 们 的 生 活 , 在 进 行 各 种 知 识 考试 和 比 赛 时 会 发 现 出 题 老 师 从 出 题 到 发 卷 子 要 浪 费 大 量 的 笔 墨 和 纸 , 而 且 会 浪 费 大 量 的 人力 资 源 和 环 境 资 源 。 因 此 设 计 “ 知 识 竞 赛 答 题 系 统 ” , 既 保 护 环 境 又 将 会 为 各 种 竞 赛 答 题活 动 提 供 诸 多 便 利 。用 Java 语 言 开 发 出 的 知 识 竞 赛 答 题 系 统 利 用 Mysql 数 据 库 对 竞 赛 信 息 进 行 存 储 , 通过 JDBC 连 接 数 据 库 , 利 用 sql 语 句 能 够 实 现 用 户 的 注 册 , 登 录 , 查 询 成 绩 , 做 题 考 试 和修 改 密 码 等 功 能 。 也 实 现 了 管 理 员 对 用 户 的 管 理 , 试 卷 管 理 , 成 绩 管 理 和 试 题 管 理 等 功 能 。我 们 利 用 JFrame 容 器 将 其 他 组 件 添 加 进 去 , 为 用 户 提 供 更 好 的 可 视 化 窗 口 界 面 , 方 便 了用 户 的 答 题 和 管 理 员 的 管 理 。本 次 从 项 目 分 析 、 系 统 设 计 及 实 现 等 方 面 对 系 统 整 体 开 发 过 程 进 行 描 述 , 其 中 重 点 描述 了 自 己 承 担 的 管 理 员 端 系 统 UI 设 计 与 实 现 和 数 据 的 插 入 , 删 除 , 提 取 与 查 询 等 功 能 ,结 果 表 明 , 该 系 统 已 经 实 现 了 预 期 的 设 计 目 标 。关 键 字 : Mysql数 据 库 ; Java; JFrame容 器目 录第 1 章 项 目 分 析 .11.1需 求 分 析 .11.2问 题 描 述 .11.3技 术 分 析 .1第 2 章 系 统 分 析 与 设 计 .22.1系 统 分 析 .22.1.1用 户 注 册 .22.1.2用 户 和 管 理 员 登 录 .22.1.3用 户 练 习 模 块 .22.1.4用 户 竞 赛 模 块 .22.1.5用 户 成 绩 查 询 模 块 .22.1.6用 户 账 号 管 理 模 块 .22.1.7题 库 管 理 模 块 .22.1.8试 卷 管 理 模 块 .32.1.9成 绩 管 理 模 块 .32.2 系 统 设 计 32.3数 据 库 设 计 .3第 3 章 功 能 实 现 .63.1用 户 登 录 和 注 册 .73.2用 户 管 理 功 能 .103.3题 库 管 理 功 能 .123.4试 卷 管 理 功 能 .163.5成 绩 管 理 功 能 .20第 4 章 结 束 语 .24参 考 文 献 .25宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统1第1章项目分析知 识 竞 赛 答 题 系 统 , 在 用 户 端 用 户 练 习 , 比 赛 , 查 看 成 绩 和 密 码 修 改 。 在 管 理 端 实 现成 绩 查 询 , 用 户 管 理 , 试 卷 管 理 和 题 库 管 理 。 方 便 用 户 对 试 题 和 成 绩 进 行 管 理 操 作 。1.1需求分析随 着 社 会 的 发 展 和 科 技 的 进 步 , 各 类 软 件 成 为 社 会 生 活 中 不 可 或 缺 的 重 要 工 具 。 为 了使 人 们 参 与 竞 赛 进 行 答 题 , 以 及 竞 赛 活 动 管 理 者 对 试 卷 和 题 目 管 理 更 为 方 便 , 提 高 工 作 效率 。 因 此 一 个 知 识 竞 赛 答 题 系 统 是 必 不 可 少 的 。1.2问题描述用 java 设 计 知 识 竞 赛 答 题 系 统 , 需 要 完 成 对 用 户 注 册 , 用 户 成 绩 查 询 , 用 户 答 题 ,管 理 员 对 试 卷 管 理 , 题 库 管 理 , 用 户 管 理 和 用 户 成 绩 查 询 。在 用 户 注 册 时 需 要 对 用 户 所 填 写 的 信 息 进 行 简 单 的 判 断 。 当 用 户 注 册 成 功 时 可 以 直 接用 刚 注 册 的 账 号 登 陆 系 统 。 在 用 户 登 录 成 功 后 需 要 实 现 竞 赛 试 题 的 练 习 功 能 , 竞 赛 答 题 功能 , 竞 赛 成 绩 查 询 功 能 和 密 码 修 改 功 能 。当 管 理 员 登 录 该 系 统 时 可 以 管 理 用 户 , 对 题 库 进 行 维 护 , 对 竞 赛 试 卷 进 行 发 布 和 查 看竞 赛 成 绩 等 一 些 功 能 。1.3技术分析此 竞 赛 答 题 系 统 需 要 用 到 的 技 术 如 下 :1.该 答 题 系 统 的 主 要 功 能 的 实 现 是 通 过 mysql数 据 库 来 实 现 , 以 及 使 用 sql 语 句 来 实现 对 成 绩 查 询 , 添 加 试 卷 , 添 加 习 题 , 试 题 分 类 删 除 , 修 改 习 题 等 等 一 些 功 能 。2.利 用 Swing组 件 丰 富 , 灵 活 的 功 能 和 模 块 化 组 件 来 创 建 优 雅 的 用 户 界 面 , 从 而 实 现对 话 框 、 信 息 框 、 确 认 框 与 用 户 进 行 信 息 交 流 。3. 使 用 了 JTable实 现 把 查 询 到 的 结 果 返 回 到 了 表 格 中 , 方 便 用 户 查 看 。4. 使 用 了 可 变 数 组 实 现 了 一 个 对 象 输 出 , 和 一 个 对 象 的 传 入 。5.运 用 监 听 器 , 来 对 用 户 操 作 进 行 快 速 响 应 。宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统2第2章系统分析与设计通 过 对 用 户 需 求 的 分 析 , 该 系 统 需 要 使 用 数 据 库 对 数 据 进 行 增 删 查 改 等 操 作 , 为 了 使用 户 有 更 好 的 使 用 体 验 , 需 要 对 系 统 进 行 UI和 运 行 逻 辑 上 的 设 计 。2.1系统分析知 识 竞 赛 答 题 系 统 是 以 方 便 用 户 使 用 为 基 础 , 在 用 户 端 和 管 理 员 端 实 现 增 加 , 删 除 ,修 改 和 查 询 等 功 能 。2.1.1用 户 注 册用 户 在 登 录 界 面 点 击 用 户 注 册 按 钮 后 , 界 面 跳 转 为 注 册 页 面 。 用 户 在 注 册 页 面 填 写 过个 人 信 息 后 点 击 保 存 , 我 们 会 对 信 息 进 行 验 证 , 当 用 户 信 息 没 有 问 题 后 我 们 就 连 接 数 据 库对 用 户 信 息 进 行 保 存 。2.1.2用 户 和 管 理 员 登 录用 户 和 管 理 员 在 登 录 界 面 , 填 写 账 号 和 密 码 然 后 选 择 登 录 身 份 , 在 与 数 据 库 中 的 账 号和 密 码 比 对 正 确 后 管 理 员 和 用 户 即 可 进 入 各 自 管 理 界 面 。2.1.3用 户 练 习 模 块用 户 在 进 入 该 功 能 后 , 即 可 做 题 。 这 里 的 题 目 是 根 据 竞 赛 试 卷 所 属 类 别 而 从 题 库 中 挑选 出 的 相 同 类 别 的 题 目 , 方 便 了 用 户 在 竞 赛 更 好 地 练 习 , 为 竞 赛 做 好 准 备 。2.1.4用 户 竞 赛 模 块用 户 进 入 该 模 块 后 即 可 对 本 次 竞 赛 习 题 进 行 作 答 , 在 答 题 完 毕 后 系 统 直 接 出 分 , 省 去了 改 卷 的 时 间 。2.1.5用 户 成 绩 查 询 模 块用 户 可 以 在 这 个 模 块 内 直 接 查 询 往 届 竞 赛 的 成 绩 , 该 成 绩 是 根 据 竞 赛 先 后 时 间 进 行 排序 的 。2.1.6用 户 账 号 管 理 模 块管 理 员 在 该 模 块 内 可 以 对 用 户 账 号 进 行 删 除 , 也 可 以 为 忘 记 密 码 的 用 户 修 改 密 码 。2.1.7题 库 管 理 模 块进 入 该 题 库 首 先 看 到 的 是 题 目 的 分 类 , 在 此 我 们 可 以 查 看 分 类 内 容 , 添 加 分 类 和 删 除分 类 , 在 进 入 查 看 分 类 界 面 后 , 可 以 此 添 加 , 删 除 , 修 改 与 该 分 类 有 关 的 题 目 。宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统32.1.8试 卷 管 理 模 块管 理 员 可 以 在 不 同 分 类 中 添 加 相 应 分 类 的 试 卷 , 在 试 卷 管 理 页 面 可 以 查 看 试 卷 内 容 ,增 加 新 的 试 卷 。 在 添 加 试 卷 时 系 统 会 自 动 列 出 相 同 分 类 的 试 题 供 管 理 员 选 择 组 卷 。2.1.9成 绩 管 理 模 块管 理 员 可 以 在 此 可 以 查 看 做 某 一 套 竞 赛 试 卷 的 用 户 的 成 绩 。2.2系统设计知 识 竞 赛 答 题 系 统 的 主 要 功 能 是 方 便 管 理 员 出 题 和 查 看 成 绩 , 也 方 便 了 用 户 答 题 , 需要 对 用 户 信 息 , 试 卷 信 息 , 管 理 员 信 息 进 行 增 加 , 删 除 和 修 改 等 操 作 。 1.建 立 数 据 库 , 通过 分 析 竞 赛 答 题 系 统 的 结 构 , 设 计 出 合 适 的 表 格 和 字 段 。 2.确 定 表 间 关 系 。 3.编 写 代 码 连接 数 据 库 , 实 现 数 据 的 增 加 , 删 除 , 更 改 和 查 询 等 功 能 。 功 能 结 构 设 计 如 图 2.1所 示 。知识竞赛答题系统管理端用户端试题练习竞赛答题成绩查询密码管理试题管理试卷管理用户管理用户成绩管理图 2.1功 能 结 构 设 计 图2.3数据库设计经 过 分 析 该 系 统 需 要 有 用 户 端 和 管 理 员 端 。 经 过 分 析 得 出 该 系 统 一 共 有 五 个 实 体 , 分宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统4别 是 : 类 别 、 试 卷 、 试 题 、 用 户 、 管 理 员 。 管 理 员 分 别 可 以 对 类 别 、 试 卷 、 试 题 、 用 户 进行 管 理 。 试 卷 有 不 同 的 类 别 因 此 两 个 实 体 之 间 是 多 对 一 的 关 系 , 试 题 与 类 别 也 是 一 样 。 一份 竞 赛 试 题 可 以 有 多 个 用 户 来 做 , 所 以 两 者 关 系 为 一 对 多 。 每 个 用 户 可 以 做 多 套 习 题 , 所以 关 系 是 一 对 多 。 经 过 上 面 的 分 析 我 们 可 以 得 到 如 图 2.2所 示 的 E-R图 。1 1nn 1 n1 mn 1图 2.2 答 题 系 统 E-R图数 据 库 建 表 : 根 据 数 据 库 的 E-R图 (如 图 2.2所 示 )。 得 到 下 面 的 六 个 表 , 表 2.1是 用 户信 息 表 , 用 户 通 过 注 册 即 可 将 个 人 信 息 添 加 进 去 并 登 录 用 户 界 面 。 表 2.2是 管 理 员 信 息 表 ,类 别试 卷 试 题用 户挑 选属 于 属 于考 试 练 习类 别 ID类 别 名试 卷 分 类 创 建 时 间试 卷 名 发 布 情 况试 题竞 赛 用 时试 卷用 户 密 码用 户 名用 户 手 机 号D选 项 内 容 试 题 答 案 试 题 分 数C选 项 内 容B选 项 内 容A选 项 内 容 题 目试 题 分 类试 题 ID宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统5主 要 用 于 管 理 员 的 登 录 验 证 。 表 2.3是 分 类 信 息 表 用 于 试 题 和 试 卷 的 分 类 。 表 2.4是 题 库 表 ,主 要 是 用 于 对 试 题 的 存 放 。 表 2.5是 试 卷 表 用 于 存 放 试 卷 信 息 , 显 示 试 卷 状 态 ( 是 否 发 布 ) 。表 2.6是 成 绩 表 , 表 中 UserID和 PaperID共 同 组 成 主 键 , 存 放 了 用 户 某 次 考 试 的 成 绩 。表 2.1用 户 信 息 表字 段 类 型 默 认 值 空 备 注UserID int 空 no 用 户 IDUserName varchar(20) 空 no 用 户 名UserPassword varchar(20) 空 no 用 户 密 码PhoneNumber varchar(12) 空 no 用 户 手 机 号表 2.2 管 理 员 信 息 表字 段 类 型 默 认 值 空 备 注AdminID int 空 no 管 理 员 IDAdminPassword varchar(20) 空 no 管 理 员 密 码表 2.3 分 类 信 息 表字 段 类 型 默 认 值 空 备 注Number int 空 no 分 类 号SubjectName varchar(30) 空 no 分 类 名表 2.4 题 库 表字 段 类 型 默 认 值 空 备 注ExerciseID int 空 no 试 题 ID宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统6Question varchar(100) 空 yes 问 题A varchar(60) 空 yes A选 项B varchar(60) 空 yes B选 项C varchar(60) 空 yes C选 项D varchar(60) 空 yes D选 项Answer varchar(2) 空 yes 答 案SubjectName int 空 yes 分 类Score int 空 yes 试 题 分 数表 2.5 试 卷 表字 段 类 型 默 认 值 空 备 注PaperID int 空 no 试 卷 IDPaperName varchar(130) 空 yes 试 卷 名SubjectName int 空 no 试 卷 类 别JoinTime Char(15) 空 yes 试 卷 创 建 时 间ExerciseID varchar(140) 空 yes 试 卷 题 目 IDtest int 空 no 试 卷 状 态time int 空 yes 试 卷 限 定 时 间表 2.6 成 绩 表字 段 类 型 默 认 值 空 备 注UserID int 空 no 用 户 IDPaperID int 空 no 试 卷 IDDegree int 空 no 竞 赛 成 绩第3章功能实现本 章 通 过 对 功 能 的 分 析 , 来 编 写 代 码 , 从 而 实 现 系 统 UI设 计 与 实 现 和 数 据 的 增 加 , 修改 , 提 取 与 删 除 等 功 能 。宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统73.1用户登录和注册通 过 连 接 数 据 库 , 使 用 sql语 句 判 断 用 户 在 登 录 界 面 输 入 的 账 号 与 密 码 是 否 匹 配 , 从而 判 定 界 面 是 否 跳 到 用 户 端 或 管 理 员 端 。登 录 模 块 主 要 功 能 实 现 代 码 如 下 :jb1.addActionListener(new ActionListener() /用 户 与 管 理 员 登 录 判 断public void actionPerformed(ActionEvente)UserU=new User();U.setId(Integer.parseInt(tf1.getText();/ 获 取 用 户 登 录 账 号U.setPassword(new String(tf2.getPassword();UserDaous= new UserDao();if (jrb1.isSelected()if (us.Denglu(U,0)JOptionPane.showMessageDialog(null,“用 户 登 陆 成 功 “,“消 息 提 示 “,JOptionPane.INFORMATION_MESSAGE);jf.dispose();new User_Xuanxiang(U.getId(); else JOptionPane.showMessageDialog(null,“用 户 登 陆 失 败 “,“消 息 提 示 “,JOptionPane.INFORMATION_MESSAGE);if (jrb2.isSelected()if (us.Denglu(U,1)JOptionPane.showMessageDialog(null,“管 理 员 登 陆 成 功 “,“消 息 提 示 “,JOptionPane.INFORMATION_MESSAGE);jf.dispose();new Admin_Xuanxiang(); else JOptionPane.showMessageDialog(null,“管 理 员 登 陆 失 败 “,“消 息 提 示 “,JOptionPane.INFORMATION_MESSAGE););jb2.addActionListener(new ActionListener()/跳 转 用 户 注 册 页 面public void actionPerformed(ActionEvente)new denglu_ZhuCe(););jb3.addActionListener(new ActionListener()/退 出 该 系 统public void actionPerformed(ActionEvente)jf.dispose();System.exit(0););登 录 模 块 主 要 SQL语 句 如 下 :宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统8(1)管 理 员 登 录selectcount(*)fromadmintablewhereAdminID=“+U.getId()+“andAdminpassword=“+U.getPassword()+“(2)用 户 登 录selectcount(*)fromusertablewhereUserID=“+U.getId()+“andUserpassword=“+U.getPassword()+“注 : 我 们 通 过 判 断 数 据 库 返 回 值 是 否 为 “ 1” 来 判 断 是 否 登 录 成 功 。注 册 模 块 主 要 功 能 实 现 代 码 如 下 :jb1.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)UserU=newUser();U.setId(Integer.parseInt(tf.getText();U.setName(tf1.getText();U.setPassword(newString(tf2.getPassword();U.setPhonenumber(tf3.getText();UserDaoUD=newUserDao();AdminDaoAD=newAdminDao();if(!UD.Denglu(U,2)JOptionPane.showMessageDialog(null,“用 户 注 册 成 功 “,“消 息 提 示 “,JOptionPane.INFORMATION_MESSAGE);AD.yonghu(U,0);jf.dispose();elseJOptionPane.showMessageDialog(null,“该 用 户 ID已 注 册 ! ! ! “,“消 息 提 示 “,JOptionPane.INFORMATION_MESSAGE););注 册 模 块 主 要 SQL语 句 如 下 :(1)判 断 ID是 否 重 复selectcount(*)fromusertablewhereUserID=“+U.getId()+“(2)向 数 据 库 中 插 入 用 户 数 据INSERTINTOusertable(UserID,UserName,UserPassword,PhoneNumber)values(“+U.getId()+“,“+U.getName()+“,“+U.getPassword()+“,“+U.getPhonenumber()+“)程 序 登 录 界 面 和 用 户 注 册 界 面 使 用 了 表 格 布 局 简 洁 美 观 , 如 图 3.1所 示 。 点 击 注 册 用户 按 钮 后 即 可 跳 转 进 图 3.2的 用 户 注 册 界 面 进 行 用 户 注 册 。程 序 登 录 和 注 册 界 面 如 下 :宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统9图 3.1登 录 界 面图 3.2 用 户 注 册 界 面宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统103.2用户管理功能通 过 用 户 点 击 管 理 员 菜 单 选 项 中 的 用 户 管 理 选 项 , 进 入 用 户 管 理 界 面 。 在 此 界 面 , 管理 员 可 以 查 看 用 户 的 信 息 , 删 除 用 户 , 也 可 以 对 忘 记 密 码 且 通 过 验 证 的 用 户 进 行 密 码 的 修改 。 在 用 户 管 理 界 面 搭 建 方 面 我 使 用 了 JLabel标 签 组 件 、 JButton按 钮 组 件 、 JPanel面 板组 件 等 组 件 , 通 过 注 册 按 钮 事 件 监 听 器 , 实 现 了 对 用 户 操 作 的 监 听 。用 户 管 理 主 要 功 能 实 现 代 码 如 下 :publicclassAdmin_UserstaticVectorresult;staticVectortitle;staticDefaultTableModeldatamodel;Admin_User()JFramejf=newJFrame(“用 户 列 表 “);JPaneljp=newJPanel();JButtonjb1=newJButton(“修 改 用 户 密 码 “);JButtonjb2=newJButton(“删 除 用 户 “);JButtonjb3=newJButton(“返 回 “);Stringt=newString“用 户 ID“,“用 户 名 “,“用 户 密 码 “,“手 机 号 “;/表 格 构 建result=newVector();title=newVector(Arrays.asList(t);datamodel=newDefaultTableModel(result,title);JTabletable=newJTable(datamodel);JScrollPanescrollTable=newJScrollPane(table);reflushTable();jp.add(jb1);jp.add(jb2);jp.add(jb3);jf.add(scrollTable);jf.add(jp,BorderLayout.SOUTH);jf.setSize(600,450);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);jf.setVisible(true);jb1.addActionListener(newActionListener()/修 改 用 户 密 码publicvoidactionPerformed(ActionEvente)/获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/获 得 该 条 选 中 的 记 录 的 Vector对 象Vectorv=(Vector)datamodel.getDataVector().get(row);/TODO:获 得 这 条 记 录 中 的 第 一 个 字 段 的 值 , 即 用 户 名intid=(int)v.get(0);newAdmin_UserPassword(id,1);jf.dispose();宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统11);jb2.addActionListener(newActionListener()/删 除 用 户publicvoidactionPerformed(ActionEvente)/获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/获 得 该 条 选 中 的 记 录 的 Vector对 象Vectorv=(Vector)datamodel.getDataVector().get(row);/TODO:获 得 这 条 记 录 中 的 第 一 个 字 段 的 值 , 即 用 户 名UserU=newUser();U.setId(int)v.get(0);AdminDaoAD=newAdminDao();AD.yonghu(U,3);AD.yonghu(U,2);reflushTable(););jb3.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)jf.dispose();newAdmin_Xuanxiang(););/刷 新 表 格publicvoidreflushTable()UserDaoUD=newUserDao();ArrayListlist=UD.getAllU();result.clear();for(UserU:list)result.add(UserVector(U);datamodel.setDataVector(result,title);privateVectorUserVector(UserU)Vectorv=newVector();v.add(U.getId();v.add(U.getName();v.add(U.getPassword();v.add(U.getPhonenumber();returnv;用 户 管 理 模 块 主 要 SQL语 句 如 下 :(1)对 用 户 密 码 进 行 修 改UPDATEusertableSETUserPassword=“+U.getPassword()+“ whereUserID=“+U.getId()+“(2)对 用 户 和 用 户 信 息 进 行 删 除deletefromusertablewhereUserID=“+U.getId()+“deletefromdegreetablewhereUserID=“+U.getId()+“宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统12如 图 3.3所 示 通 过 用 鼠 标 点 击 表 格 某 行 我 们 可 以 对 该 行 用 户 进 行 删 除 , 也 可 以 进 行 密码 修 改 。运 行 程 序 界 面 如 下 :图 3.3显 示 所 有 用 户3.3题库管理功能通 过 用 户 点 击 管 理 员 菜 单 选 项 中 的 题 库 管 理 选 项 , 进 入 题 库 管 理 中 的 分 类 管 理 界 面 。在 分 类 管 理 界 面 中 , 管 理 员 可 以 添 加 和 删 除 分 类 。 点 击 某 个 分 类 进 入 时 可 以 对 该 分 类 中 的试 题 进 行 增 加 , 删 除 和 修 改 等 操 作 。在 题 库 管 理 模 块 的 界 面 搭 建 方 面 我 使 用 了 JLabel标 签 组 件 、 JButton按 钮 组 件 、 JPanel面 板 组 件 等 组 件 , 通 过 注 册 按 钮 事 件 监 听 器 , 实 现 了 对 管 理 员 操 作 的 监 听 。 通 过 JTable表格 组 件 , 能 让 管 理 员 更 直 观 的 查 看 题 库 信 息 。题 库 分 类 模 块 主 要 功 能 实 现 代 码 如 下 :jb1.addActionListener(newActionListener()/打 开 该 分 类 中 的 题 目publicvoidactionPerformed(ActionEvente)/获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/获 得 该 条 选 中 的 记 录 的 Vector对 象Vectorv=(Vector)datamodel.getDataVector().get(row);/TODO:获 得 这 条 记 录 中 的 第 一 个 字 段 的 值 , 即 用 户 名intnumber=(int)v.get(0);newAdmin_ABCD(number);jf.dispose(););jb2.addActionListener(newActionListener()/添 加 新 的 分 类宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统13publicvoidactionPerformed(ActionEvente)newAdmin_ABCFen();jf.dispose(););jb3.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)jf.dispose();newAdmin_Xuanxiang(););jb4.addActionListener(newActionListener()/删 除 分 类publicvoidactionPerformed(ActionEvente)/获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/获 得 该 条 选 中 的 记 录 的 Vector对 象Vectorv=(Vector)datamodel.getDataVector().get(row);/TODO:获 得 这 条 记 录 中 的 第 一 个 字 段 的 值 , 即 用 户 名intnumber=(int)v.get(0);AdminDaoad=newAdminDao();SubjectS=newSubject();S.setNumber(number);ad.FenLei(S,3);ad.FenLei(S,2);reflushTable(););题 库 分 类 管 理 模 块 主 要 SQL语 句 如 下 :(1)添 加 新 的 分 类INSERTINTOsubject(Number,SubjectName)values(“+S.getNumber()+“,“+S.getSubjectName()+“)(2)删 除 该 分 类 并 删 除 该 分 类 下 的 所 有 试 题deletefromsubjectwhereNumber=“+S.getNumber()+“deletefromexercisetablewhereSubjectName=“+S.getNumber()+“题 库 试 题 模 块 主 要 功 能 实 现 代 码 如 下 :jb1.addActionListener(newActionListener()/增 加 题 目publicvoidactionPerformed(ActionEvente)newAdmin_ABCZ(number);jf.dispose(););jb2.addActionListener(newActionListener()/删 除 题 目publicvoidactionPerformed(ActionEvente)/获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/获 得 该 条 选 中 的 记 录 的 Vector对 象宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统14Vectorv=(Vector)datamodel.getDataVector().get(row);/TODO:获 得 这 条 记 录 中 的 第 一 个 字 段 的 值 , 即 用 户 名QuestionQ=newQuestion();Q.setAID(int)v.get(0);AdminDaoAD=newAdminDao();AD.XiTi(Q,2);reflushTable(number););jb3.addActionListener(newActionListener()/修 改 题 目publicvoidactionPerformed(ActionEvente)/获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/获 得 该 条 选 中 的 记 录 的 Vector对 象Vectorv=(Vector)datamodel.getDataVector().get(row);/TODO:获 得 这 条 记 录 中 的 第 一 个 字 段 的 值 , 即 用 户 名QuestionQ=newQuestion();Q.setAID(int)v.get(0);Q.setQuestion(String)v.get(1);Q.setA(String)v.get(2);Q.setB(String)v.get(3);Q.setC(String)v.get(4);Q.setD(String)v.get(5);Q.setAnswer(String)v.get(6);Q.setScores(int)v.get(7);Q.setSubjectName(number);newAdmin_ABCX(Q);jf.dispose(););试 题 管 理 模 块 主 要 SQL语 句 如 下 :(1)试 题 的 添 加INSERTINTOexercisetable(ExerciseID,Question,A,B,C,D,Answer,SubjectName,Score)values(“+Q.getAID()+“,“+Q.getQuestion()+“,“+Q.getA()+“,“+Q.getB()+“,“+Q.getC()+“,“+Q.getD()+“,“+Q.getAnswer()+“,“+Q.getSubjectName()+“,“+Q.getScores()+“)(2)试 题 的 删 除deletefromexercisetablewhereExerciseID=“+Q.getAID()+“我 们 在 进 入 试 题 管 理 模 块 首 先 看 到 的 是 试 题 分 类 界 面 如 图 3.4所 示 , 选 择 想 要 查 看 的分 类 , 然 后 进 入 查 看 即 可 看 到 试 题 内 容 , 并 可 以 对 试 题 内 容 进 行 增 加 , 删 除 和 修 改 等 操 作 。如 图 3.5, 3.6所 示宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统15运 行 程 序 界 面 如 下 : 图 3.4 试 题 分 类 界 面图 3.5试 题 显 示 界 面宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统16图 3.6试 题 添 加 界 面3.4试卷管理功能管 理 员 通 过 点 击 试 卷 管 理 功 能 模 块 的 按 钮 , 就 可 以 看 到 不 同 分 类 和 不 同 分 类 下 的 卷 子数 量 , 点 击 其 中 一 个 类 别 进 去 就 可 以 看 到 该 类 别 下 的 试 卷 。 在 该 界 面 下 我 们 可 以 添 加 试 卷 ,也 可 以 对 试 卷 进 行 删 除 。试 卷 模 块 主 要 功 能 实 现 代 码 如 下 :jb.addActionListener(newActionListener()/ 查 看 试 卷publicvoidactionPerformed(ActionEvente)introw=table.getSelectedRow();Vectorv=(Vector)datamodel.getDataVector().get(row);intID=(int)v.get(0);newPaper_Look(ID,number);/ 显 示 该 分 类 中 的 试 卷jf.dispose(););jb1.addActionListener(newActionListener()/ 添 加 试 卷宋 鎏 鑫 : 知 识 竞 赛 答 题 系 统17publicvoidactionPerformed(ActionEvente)newPaper_Add(number);jf.dispose(););jb3.addActionListener(newActionListener()/ 删 除 试 卷publicvoidactionPerformed(ActionEvente)/ 获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/ 获 得 该 条 选 中 的 记 录 的 Vector对 象Vectorv=(Vector)datamodel.getDataVector().get(row);/TODO:获 得 这 条 记 录 中 的 第 一 个 字 段 的 值 , 即 用 户 名intID=(int)v.get(0);Paperp=newPaper();PaperDaoPD=newPaperDao();p.setPaperID(ID);PD.ShiJuan(p,2);reflushTable(););jb4.addActionListener(newActionListener()/ 返 回 上 级publicvoidactionPerformed(ActionEvente)jf.dispose();newPaper_F(););jb5.addActionListener(newActionListener()/ 发 布 试 卷 /已 收 回publicvoidactionPerformed(ActionEvente)PaperDaopp=newPaperDao();/ 获 得 当 前 用 户 选 中 的 记 录 nameintrow=table.getSelectedRow();/ 获 得 该 条 选 中 的 记 录 的 Vector对 象Vectorv=(Vector)datamodel.getDataVector().get(row);Stringtest=(String)v.get(4);if(test.equals(“已 发 布 “)test=“2“;elseif(test.equals(“未 发 布 “)test=“1“;else JOptionPane.showMessageDialog(nul

温馨提示

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

评论

0/150

提交评论