




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密 级 公 开 本科生毕业设计报告本科生毕业设计报告 学生考试系统(服务器端) 刘刘 令令 (1208045109) 指导教师姓名: 习慧丹 职 称: 副教授 单 位: 计算机与信息学院 专 业 名 称:信息管理与信息系统 设计提交日期: 2016 年 4 月 4 日 设计答辩日期: 2016 年 4 月 9 日 学位授予单位: 黔南民族师范学院 答辩委员会主席: 设 计 评 阅 人: 2016 年 4 月 9 日 学生考试系统学生考试系统( (服务器端)服务器端) 刘令 (1208045109) (黔南民族师范学院计算机与信息学院,贵州 都匀 558000) 摘要摘要: : 在当今信息化时代,我们都离不开计算机。针对学校,我们的许多考试都还是纸质化。纸质化考试既 浪费资源,又浪费时间。开发考试系统能节约资源、减少教师对客观题评判,提高工作效率。本系统采用 Java(JDK1.7)+mysql 技术支持,使用 JDBC 连接技术,在 eclipse 环境下,开发一款 C/S 软件。学生考试系统 (服务器端)实现六大功能,即:考试科目管理、试题管理、试卷管理、学生信息管理、成绩管理和考务管理。本 论文详细描述了系统的开发背景、需求分析、详细设计及数据库设计。 关键词关键词: : 学生考试系统;数据库;Java;管理员 Student Examination System (Server Side) Liu Ling (1208045109) (School of Computer and Information,Qiannan Normal College For Nationalities ,Duyun 558000,Guizhou) Abstract:Abstract: In todays information age, we can not be separated from the computer. For schools, many of our exams are still paper. Paper examination is a waste of resources, but also a waste of time. The development of examination system can save resources, reduce the teachers evaluation of objective questions and improve the work efficiency. This system uses Java (JDK1.7) +mysql technical support, the use of JDBC connection technology, in the eclipse environment, the development of a C/S software. Students in the examination system (server) to achieve six functions, namely: test subjects management, test management, test management, student information management, performance management and examination management. This paper describes the system development background, needs analysis, detailed design and database design. Key word: Student examination system; database; Java; administrators 目目 录录 第一章第一章 绪绪 论论 1 1.1 选题背景及意义.1 1.2 系统采用的相关技术 1 1.2.1 开发模式.1 1.2.2 数据库管理系统.1 1.2.3 开发工具.1 第二章第二章 系统需求分析系统需求分析 .2 2.1 系统需求描述.2 2.2 功能模块图 2 第三章第三章 数据库设计数据库设计 .3 3.1 概念结构设计 3 3.2 逻辑结构设计.4 第四章第四章 系统详细设计与编码系统详细设计与编码 .8 4.1 登录模块 8 4.2 用户管理模块 .10 4.3 题库管理界面12 4.4 试卷管理模块 .17 4.5 成绩管理模块 .21 4.6 考务管理22 第五章第五章 系统测试系统测试 25 第六章第六章 总结总结 26 参考文献参考文献 .27 附录附录 学生考试系统流程图学生考试系统流程图 28 0 第一章第一章 绪绪 论论 1.11.1 选题背景及意义选题背景及意义 学校的许多考试都还是纸质化,这样的考试方式存在浪费资源、效率低,反馈周 期长、工作量极大等缺点,不能够满足信息化社会的需求,因此开发考试系统能够有 效的解决以上问题,节约资源,提高工作效率,使考试更加标准化和统一化。考试系 统是一种新型的考试模式,为考试创造了一种新的考试环境。 开发学生考试系统,不仅减少学校对学生考试资金的投资,还能大大的减轻任课 教师的工作量。并且管理员还能够对题库进行管理。 1.1.2 2 系统采用的相关技术系统采用的相关技术 系统采用 Java+ MySQL 在 Eclipse 上开发一款 C/S 软件。 Java 语言简介:Java 是一个由 Sun 公司开发而成的新一代编程语言。使用它可在 各式各样不同种机器,具有跨平台性。Java 正在逐步成为 Internet 应用的主要开发语 言。它彻底改变了应用软件的开发模式,带来了自 PC 机以来又一次技术革命,为迅速 发展的信息世界增添了新的活力。 MySQL 简介:MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发, 目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方 面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管 理系统) 应用软件之一。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化 语言。 Eclipse 简介:Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就 其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的 是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK) 。 1.2.1 开发模式开发模式 本系统采用 Java 中 Swing 开发所有的界面,通过 JDBC 连接到数据库,最终开发 出 C/S 软件。 1.2.2 数据库管理系统数据库管理系统 MySQL数据库。 1 1.2.3 开发工具开发工具 Eclipse 开发工具、Photoshop 辅助工具、mysql SQLyogEnt 图形化工具 第二章第二章 系统需求分析系统需求分析 2.12.1 系统需求描述系统需求描述 学生考试系统(服务器端)设置有管理员一类用户。 管理员登录系统后,学生考试系统(服务器端)有六大功能,即:考试科目管理、 试题管理、试卷管理、学生信息管理、成绩管理和考务管理。 1、考试科目管理:能够对考试科目进行增删改查功能。 2、试题管理:管理员能够添加判断题、单选题、多选题及简答题,并且能够 对每类题型进行查看、修改、删除功能。 3、试卷管理:管理员首先试卷分数、考试时间,然后在进行试卷和试题的组 合。并且能够查询试卷基本信息进行导出和删除功能。 4、学生信息管理:对学生的基本信息进行增删改查功能。 5、成绩管理:能查询出学生考试后的客观题分数,并能导出学生客观题分数 和简答题答案到 excel 表格中。 6、考务管理:管理选择一套试卷后设置考试口令,然后开启考试服务,客户 端才能登陆。关闭考试服务功能。 2 2.22.2 功能模块图功能模块图 学生考试系统(服务端) 学生考试系统(服务端) 考试科目管理 考试科目管理 试题管理 试题管理 单选 单选 多选 多选 判断 判断 简答 简答 添 加 添 加 删 除 删 除 修 改 修 改 查 询 查 询 添 加 添 加 删 除 删 除 修 改 修 改 查 询 查 询 添 加 添 加 删 除 删 除 修 改 修 改 查 询 查 询 添 加 添 加 删 除 删 除 修 改 修 改 查 询 查 询 添 加 添 加 删 除 删 除 修 改 修 改 查 询 查 询 答案管理 答案管理 考生信息管理 考生信息管理 添 加 考 生 添 加 考 生 删 除 考 生 删 除 考 生 修 改 考 生 修 改 考 生 查 询 考 生 查 询 考 生 用户管理 用户管理 修 改 密 码 修 改 密 码 管理员 管理员 试卷管理 试卷管理 组 合 试 卷 组 合 试 卷 查 询 试 卷 查 询 试 卷 考试管理 考试管理 考试设置 考试设置 设 置 考 试 科 目 设 置 考 试 科 目 设 置 考 试 时 间 设 置 考 试 时 间 发 布 开 考 命 令 发 布 开 考 命 令 成绩管理 成绩管理 查 询 客 观 题 成 绩 查 询 客 观 题 成 绩 导 出 成 绩 导 出 成 绩 清 除 成 绩 清 除 成 绩 删 除 试 卷 删 除 试 卷 导 出 简 答 题 答 案 导 出 简 答 题 答 案 图 2-1 学生考试系统(服务器端)功能模块图 第三章第三章 数据库设计数据库设计 3.13.1 概念结构设计概念结构设计 分析得出有六类实体,分别为课程、试卷、试题、选项、学生、成绩,实体关系 图如下: 3 试卷 试卷 试题 试题 选项 选项 学生 学生 课程 课程 成绩 成绩 属于 属于 1 1 n n 组合 试卷 组合 试卷 n n m m 包含 包含 1 1 n n 考试 考试 1 1 n n 交卷 交卷 1 1 评分 评分 1 1 n n id number name comment name id SQAnswer type 1 id name course_id sumscore timeout course_id createDate content id question_id label isAnswer achievement id student_id exampaper_id id Tstudept studmagor studnumber passwordstartExam 图 3-1 系统 E-R 图 4 3.23.2 逻辑结构设计逻辑结构设计 图 3-2 数据库结构图 表 3-1 User(管理员表) 列名数据类型长度说明 idbigint 20 主键 loginNamevarchar 100 不能为空 passwordvarchar 255 不能为空 namevarchar 80 不能为空 sexenum男,女不能为空 typeenum系统管理员不能为空 表 3-2 course(考试科目表) 列名数据类型长度说明 idbigint 20 主键 namevarchar 100 不能为空 commentvarchar 255 允许为空 表 3-3 exampaper(试卷表) 列名数据类型长度说明 idbigint 20 主键 namevarchar 255 不能为空 timeouttinyint 3 不能为空 sumscoretinyint 3 不能为空 5 course_idbigint 20 外键 表 3-4 question(试题表) 列名数据类型长度说明 idbigint 20 主键 nametext否 typetinyint 3 不能为空 SQAnswertext允许为空 course_idbigint 20 外键 degreeOfDifficultybigint 2 不能为空 createDatedatetime不能为空 表 3-5 items(选项表) 列名数据类型长度说明 idbigint 20 主键 contentvarchar 255 允许为空 question_idbigint 20 外键 labelvarchar 4 不能为空 isAnswertinyint 4 不能为空 表 3-6 studinformation(学生信息表) 列名数据类型长度说明 idbigint 11 主键 Tstudeptvarchar 50 不能为空 studmagorvarchar 50 不能为空 studgtradevarchar 30 不能为空 rstudnumbervarchar 30 不能为空 passwordvarchar 20 不能为空 studnamevarchar 20 不能为空 studsexchar 2 不能为空 studphonevarchar 20 允许为空 studsfzhvarchar 20 允许为空 studstardatedate不能为空 studborthdaydate不能为空 studnationvarchar 10 允许为空 studnativevarchar 10 允许为空 studzzmmvarchar 10 允许为空 6 studassressvarchar 50 允许为空 studdormitoryvarchar 10 允许为空 studrelationaddressvarchar 50 允许为空 startExamvarchar 10 允许为空 表 3-7 exampaper_question(试卷试题关联表) 列名数据类型长度说明 question_idbigint 20 主键 exampaper_idbigint 20 主键 numberbigint 20 不能为空 表 3-8 exampaper_questiontype(试卷详细表) 列名数据类型长度允许空 idbigint 20 主键 exampaper_idbigint 20 外键 typetinyint 3 不能为空 numtinyint 4 不能为空 eachscorefloat 3,1 不能为空 degreeOfDifficultyint 10 不能为空 表 3-9 exampapers(考试表) 列名数据类型长度说明 idbigint 20 主键 namevarchar 255 不能为空 timeouttinyint 3 不能为空 sumscoretinyint 3 不能为空 course_idbigint 20 外键 表 3-10 hostoryexampaper(考试成绩表) 列名数据类型长度说明 idbigint 20 主键 student_idbigint 20 外键 exampaper_idbigint 20 外键 achievementfloat不能为空 表 3-11 exam(考试记录表) 列名数据类型长度说明 idbigint 20 主键 7 student_idbigint 20 外键 items_idbigint 20 外键 exampaper_idbigint 20 外键 question_idbigint 20 外键 SQAnswertext不能为空 表 3-12 dictionary(字典表) 列名数据类型长度说明 idbigint 20 主键 tablenamevarchar 255 不能为空 fieldnamevarchar 255 不能为空 valuetinyint 4 不能为空 DESCriptionvarchar 255 不能为空 8 第四章第四章 系统详细设计与编码系统详细设计与编码 4.14.1 登录模块登录模块 学生考试系统(服务器端)通过管理员用户进行登录,登录系统后管理员能进行 系统所有操作。登录界面如下: 图 4-1 登录界面 登录界面的主要代码如下: public class LoginWindow extends JDialog implements ActionListener JPanel panel = new JPanel(); BorderLayout borderLayout = new BorderLayout(); JLabel userNameLabel, userPasswordLabel; JTextField userNameField = new JTextField(“, 24); JPasswordField userPasswordField = new JPasswordField(“, 24); JButton loginButton, resetButton, cancelButton; static String securityServiceHost; static int securityServicePort; ImageIcon loginImage = null; public LoginWindow() super(Frame) null, true); String loginImageFileName = “images/exam_login.png“; loginImage = Images.getImage(loginImageFileName); setTitle(“登录窗口“); userNameLabel = new JLabel(“用户名“, JLabel.LEFT); userPasswordLabel = new JLabel(“密 码“, JLabel.LEFT); loginButton = new JButton(“登录“); 9 resetButton = new JButton(“重置“); cancelButton = new JButton(“退出“); jbInit(); initDocumentListener(); initFocusListener(); initKeyListener(); pack(); void jbInit() setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent winEvent) System.exit(0); ); userNameLabel.setLabelFor(userNameField); userNameLabel.setDisplayedMnemonic(U); userPasswordLabel.setLabelFor(userPasswordField); userPasswordLabel.setDisplayedMnemonic(P); JPanel namePanel = new JPanel(false); namePanel.setLayout(new GridLayout(0, 1, 0, 10); namePanel.add(userNameLabel); namePanel.add(userPasswordLabel); JPanel fieldPanel = new JPanel(false); fieldPanel.setLayout(new GridLayout(0, 1, 0, 10); fieldPanel.add(userNameField); fieldPanel.add(userPasswordField); JPanel loginWindowPanel = new JPanel(); loginWindowPanel.setLayout(new BoxLayout(loginWindowPanel, BoxLayout.X_AXIS); loginWindowPanel.add(namePanel); loginWindowPanel.add(Box.createHorizontalStrut(10); loginWindowPanel.add(fieldPanel); JPanel loginWindowButton = new JPanel(); loginButton.setActionCommand(“login“); loginButton.addActionListener(this); loginButton.setMnemonic(L); loginButton.setEnabled(false); loginWindowButton.add(loginButton); resetButton.setActionCommand(“reset“); resetButton.addActionListener(this); resetButton.setMnemonic(R); loginWindowButton.add(resetButton); 10 cancelButton.setActionCommand(“cancel“); cancelButton.addActionListener(this); cancelButton.setMnemonic(C); loginWindowButton.add(cancelButton); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS); panel.add(loginWindowPanel); panel.add(Box.createVerticalStrut(10); panel.add(new JSeparator(); panel.add(Box.createVerticalStrut(10); panel.add(loginWindowButton); Border outsideBorder = new EtchedBorder(EtchedBorder.LOWERED); JPanel loginPanel = new JPanel(false); outsideBorder = BorderFactory.createEmptyBorder(2, 0, 0, 0); Border insideBorder = new SoftBevelBorder(SoftBevelBorder.LOWERED); Border labelBorder = new CompoundBorder(outsideBorder, insideBorder); JLabel imageLabel = new JLabel(loginImage, JLabel.LEFT); imageLabel.setBorder(labelBorder); imageLabel.setOpaque(false); JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout(); loginPanel.add(Box.createHorizontalStrut(15); loginPanel.add(panel); loginPanel.add(Box.createHorizontalStrut(10); mainPanel.add(imageLabel,BorderLayout.NORTH); mainPanel.add(loginPanel,BorderLayout.CENTER); getContentPane().add(mainPanel); getRootPane().setDefaultButton(loginButton); Dimension windowSize = this.getPreferredSize(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); setLocation(screenSize.width / 2 - windowSize.width / 2, screenSize.height / 2 - windowSize.height / 2); this.pack(); this.setResizable(false); 4.24.2 用户管理模块用户管理模块 管理员登陆系统后,能对自己的密码进行修改。密码修改界面如图 4.2。 11 图 4-2 修改密码 修改密码的主要代码如下: public class ChangeCurrentPassword extends JPanel implements JGxluSimpleDialogInterface private JLabel jlOldPassWord = new JLabel(“原始密码“,JLabel.RIGHT); private JPasswordField ptfOldPassword = new JPasswordField(); private JLabel jlNewPassword = new JLabel(“新密码“,JLabel.RIGHT); private JPasswordField ptfNewPassword = new JPasswordField(); private JLabel jlRnewPassWord = new JLabel(“确认密码“,JLabel.RIGHT); private JPasswordField ptfRnewPassword = new JPasswordField(); public ChangeCurrentPassword() jbInit(); public void jbInit() LayoutHelper layoutHelper = new LayoutHelper(); layoutHelper.addGUIElement(jlOldPassWord, “A“); layoutHelper.addGUIElement(ptfOldPassword, “a“); layoutHelper.addGUIElement(jlNewPassword, “B“); layoutHelper.addGUIElement(ptfNewPassword, “b“); layoutHelper.addGUIElement(jlRnewPassWord, “C“); layoutHelper.addGUIElement(ptfRnewPassword, “c“); layoutHelper.layout(new String“Aa“,“Bb“,“Cc“, LayoutHelper.LM_GRIDBAGLAYOUT, this); this.setBorder(BorderFactory.createTitledBorder(“修改密码“); this.setPreferredSize(new Dimension(300,130); public boolean savaPassword() char oldPassword = ptfOldPassword.getPassword(); if(“.equals(String.copyValueOf(oldPassword).trim() SwingCommon.showErrorMessage(this, “请输入原密码“); ptfOldPassword.requestFocus(); return false; 12 char newPassword = ptfNewPassword.getPassword(); if(“.equals(String.copyValueOf(newPassword).trim() SwingCommon.showErrorMessage(this, “请输入新密码“); ptfNewPassword.requestFocus(true); return false; char rnewPassword = ptfRnewPassword.getPassword(); if(“.equals(String.copyValueOf(rnewPassword).trim() SwingCommon.showErrorMessage(this, “请输入确认密码“); ptfRnewPassword.requestFocus(true); return false; String tmpOldPassworsString = ClientEnvironment.getUser().getPassword(); if(!tmpOldPassworsString.equals(Encryptor.encrypt(String.copyValueOf(oldPassword) SwingCommon.showErrorMessage(this, “原密码错误“); ptfOldPassword.setText(“); ptfOldPassword.requestFocus(true); return false; if(!String.copyValueOf(newPassword).equals(String.copyValueOf(rnewPassword) SwingCommon.showErrorMessage(this, “新密码和确认密码不一致“); ptfRnewPassword.requestFocus(true); return false; User user = ClientEnvironment.getUser(); user.setPassword(Encryptor.encrypt(String.copyValueOf(newPassword); try ClientEnvironment.getUserIFC().save(user); SwingCommon.showInfoMessage(this, “修改成功“); return true; catch (Exception e) SwingCommon.showConfirmMessage(this, e.getMessage(); return false; 4.34.3 题库管理界面题库管理界面 题库管理包括新增判断题、单选题、多选题、简答题,查询题库,并对各类题型 进行修改、批量删除功能。对新增题目界面中用到了组合模式,其中选择题的添加中 用到了观察者模式,题库查询用到了两次观察者模式。界面如下图: 13 图 4-3 新增单选题 图 4-4 新增多选题 14 图 4-5 新增判断题 图 4-6 新增简答题 15 图 4-7 题库查询 图 4-7 修改题目 观察者模式主要是开发两个接口 ITreeWatched和ItreeObserve,代码如下: public interface ITreeWatched public void addTreeObserver(ITreeObserver observer); public void removeTreeObserver(ITreeObserver observer ); public void notifyTreeObserver(Object object); 16 public void removeAllObserver(); public interface ITreeObserver public void doObserverAction(Object object); 批量删除功能主是将选择的数据放在一个 Vector 容器中,然后在后台处理,主要 代码如下: public void delQuestion(Vector questionVector) throws SDHException, SQLException Connection conn = null; try conn = DBUtil.getConnection(); conn.setAutoCommit(false); questionDAO = new QuestionDAO(conn); itemDAO = new ItemDAO(conn); Set delSet = new HashSet(); AbstractQuestion module = (AbstractQuestion) questionVector.elementAt(0); if(module instanceof JudgeQuestion) for(int i = 0 ;i set = question.getItems(); for(Item item:set) itemDAO.deleteData(item); delSet.addAll(questionVector); questionDAO.deleteData(delSet); mit(); catch (SQLException|NoDataException e) e.printStackTrace(); 17 conn.rollback(); finally DBUtil.closeConnection(conn); 4.44.4 试卷管理模块试卷管理模块 试卷管理模块包括试卷设置、试卷查询和删除试卷功能。试卷设置首先要设置考 试科目、试卷分数、考试时间及试卷题型,最后将试卷和题目组合成一套试卷。界面 如下: 图 4-8 试卷基本属性 18 图 4-9 试卷题目组合 图 4-10 试卷查询 试卷基本设置用到了组合模式,具体主代码如下: public class UIExamPaper extends JPanel implements JGxluSimpleDialogInterface private UIExamPaperPro uiExamPaperPro; private UIExampPaperSetQuestionType uiExamPQuestionType; public UIExamPaper() jbInit(); 19 private void jbInit() this.setLayout(new BorderLayout(); uiExamPaperPro = new UIExamPaperPro(); uiExamPQuestionType = new UIExampPaperSetQuestionType(); this.add(uiExamPaperPro,BorderLayout.NORTH); this.add(uiExamPQuestionType,BorderLayout.CENTER); public boolean validateData() if(uiExamPaperPro.validateData() = false|uiExamPQuestionType.validateData() = false) return false; List list = uiExamPQuestionType.getAllQuestionType(); long sum = 0; for(ExamPaperQuestionType epqt : list) float eachQuetypeSum = epqt.getNum()*epqt.getScore(); sum += eachQuetypeSum; if(sum != uiExamPaperPro.getExamPaper().getSumScore() SwingCommon.showErrorMessage(this, “请检查每个题目的题目数量及分数 n总分是否与试卷总分相同“); return false; return true; Override public boolean perform(int nResourceID) switch(nResourceID) case JGxluSimpleDialog.SB_OK: boolean flag = this.validateData(); if(!flag) return false; showNextDialogThread(); return true; case JGxluSimpleDialog.SB_CANCEL: return true; return false; Override public void initDialog() 20 public void showQuestionTabbed() ExamPaper examPaper = uiExamPaperPro.getExamPaper(); examPaper.getQuestionTypeset().addAll(uiExamPQuestionType.getAllQuestionType(); Set questionType = uiExamPQuestionType.getQuestionType(); for(Iterator it = questionType.iterator();it.hasNext();) byte questionTypeValue = (byte)it.next().byteValue(); examPaper.getQuestionType().put(questionTypeValue, new ArrayList(); Set set = examPaper.getQuestionTypeset(); for(ExamPaperQuestionType epq:set) epq.setExampaper(examPaper); UIExamQuestionTabbed uiT = new UIExamQuestionTabbed(examPaper); uiT.show(); private void showNextDialogThread() Thread thread = new Thread(new Runnable() Override public void run() showQuestionTabbed(); ); thread.start(); 试卷的查询功能的主代码如下: public void doQuery(final ExamPaper arg,final int page) final DialogIconThread dlg = new DialogIconThread( java.awt.Frame.getFrames()0, “connecting.gif“, “正在查询,请稍 后“, “查询数据“); final Thread thread = new Thread() public void run() try Map map = ClientEnvironment.getExamPaperIFC().queryExamPaperBypage(arg,page,pageNumber); recordCount = (long)map.get(ModuleConst.COUNT); if(recordCount = 0) SwingCommon.showInfoMessage(UIQueryExamPaperTable.this, “没有满足条件的记录“); dlg.dispose(); return; caculatePageCount(); 21 setBtnState(); List list = (List)map.get(ModuleConst.DATA); putDataToTable(list); /记录当前查询多少条记录 currentRowCounts = list.size(); setLabelInfo(); catch (SDHException e1) e1.printStackTrace(); catch(Exception e) e.printStackTrace(); dlg.dispose(); ; dlg.start(); thread.start(); dlg.getDialog().addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dlg.dispose(); errupt(); ); 4.54.5 成绩管理模块成绩管理模块 成绩管理功能有查询学生客观题分数并导出、导出客观题答案和清除学生成绩。 界面如下: 图 4-11 成绩查询 查询功能主要代码如下: 22 public Map queryGradeBypage(int page, int pageNumber,String studName, String paperName,String magor, String number) throws Exception Connection conn = null; Map map = new HashMap(); try conn = DBUtil.getConnection(); conn.setAutoCommit(false); gradeDAO = new GradeDAO(conn); List list = gradeDAO.queryGradeByPage(page,pageNumber,studName,paperName,magor,number); long sum = this.gradeDAO.queryGradeCount(studName,paperName,magor,number); map.put(ModuleConst.DATA, list); map.put(ModuleConst.COUNT, sum); mit(); catch(Exception e) e.printStackTrace(); conn.rollback(); throw new SDHException(e.getMessage();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年呼吸内科急救处理技能模拟试题答案及解析
- 2025年心脏内科急性心肌梗死护理模拟试题答案及解析
- 2025年胸腔闭式引流操作常见并发症的预防与处理规范考核试题(附参考答案)
- 2025年电焊工理论考试题库(附答案)
- 2025年车间员工安全培训考试试题及答案
- 2025年大学华文教育专业题库- 华文教育与儿童心理健康
- 2025年金融科技专业题库- 金融科技在金融科技大数据分析
- 2025年大学科学教育专业题库-、科学教育的意义和价值
- 2025年大学人文教育专业题库- 大学人文教育专业的实验教学评价
- 2025年春季小学语文毕业升学古诗词背诵默写模拟试题及答案
- 住房供给调控预案
- 培训行业转介绍
- 文科物理(兰州大学)学习通网课章节测试答案
- 人教版高二数学(上)选择性必修第一册1.2空间向量基本定理【教学设计】
- catia考试图纸题目及答案
- pos机风险管理办法
- 2025年行业机器人边缘计算技术应用与场景分析
- 2025年安徽省公务员录用考试《行测》真题及答案
- 2025年加油站行业需求分析及创新策略研究报告
- 2025中国工业传感器行业市场白皮书
- 手机桌面市场深度解析
评论
0/150
提交评论