资源描述
毕业论文设计计算机工程系成 都 工 业 学 院毕业设计(论文)题 目: 计算机应用基础试题管理系统 系别: 计算机工程系_ 专业: 网络技术_ 班级: 10521_ 成员:张成明_司晓翰 翁友东朱 逵 刘鸿杰 蓝雪燕_ 指导教师: 杨明广_ 2013年5月28日成都工业学院毕业设计(论文)目 录目 录I摘要1绪言3第一章 需求分析41.1用户需求41.1.1科目管理41.1.2知识点管理41.1.3试题管理41.1.4试卷生成5第二章 拟采取的研究方法和技术路线62.1 研究方法和技术路线62.2 研究手段和可行性分析62.3选择SQL Sever做为数据库语言的依据62.4开发工具选择Microsoft Visual Studio 201072.4开发语言选择c#72.5系统运行的软、硬件配置要求:82.5.1软件信息:82.5.2软件安装要求:8第三章 系统模块结构93.1系统模块设计93.2 模块结构设计93.2.1 用户登录模块93.2.2 用户主界面及课程管理模块103.2.3知识点管理模块103.2.4试题录入模块103.2.5 试题浏览编辑模块103.2.6 试卷生成模块103.3 系统关键技术113.3.1 数据库连接技术113.3.1.1 基本的ADO编程模型11第四章 数据库设计124.1 数据库需求分析及E-R模型设计124.2 根据E-R模型得出数据库表144.2.1用户表154.2.2课程表154.2.3知识点表154.2.4单项选择题154.2.5多项选择题表164.2.6判断题表164.2.7填空题表174.2.8 用户权限课程17第五章 系统详细设计与实现175.1 登陆和注册界面175.2管理员登陆后系统主界面235.3知识点管理界面315.4试题录入界面465.5 试题浏览编辑界面565.6 自动和人工出卷界面64结 论75致 谢76参考文献77 78成都工业学院毕业设计(论文)摘要随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。其中计算机辅助教育(CAI)在教育系统中的应用,收到了良好的效果,给教育改革带来美好的前景。多媒体教学、电子课件、远程教育、学籍管理等项目的开发与应用倍受关注。在教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行各种考试,利用计算机进行考试题库管理,辅助教师命题组卷已成为各院校教学改革的重要内容之一。因此对于题库管理系统的开发和应用就显得尤为重要。传统的考试出题总是教师考前集中出题、集中组卷,这样很难保证试卷的质量,进而不能准确反映学生的学习效果。为促进教学手段的现代化,提高教学质量,减轻教师在出题、组卷和成绩分析中的工作量,帮助教师方便、快速地出一份覆盖面和难度可调节的试卷,本研究以C#为编程语言、SQL Sever为后台数据库支持开发了一套能实现试题库管理和试卷生成的软件。近年来各院校竞相推出各自开发的题库管理系统,在对已经开发出的各种题库管理系统的使用过程中,我们发现其多偏重于题库管理功能的“大而全”,虽然具有一定的通用性但缺乏针对性,在实际应用中操作烦琐,给出题带来了不便。而本试卷生成与题库管理系统则是根据各门课的课程结构和试题内容、类型、难度来设计的一种操作简便、成卷快、题目搭配合理、试卷难易程度可控的系统。同时也具有一定的可扩展性,完全可以作为多门课程的题库管理系统。本系统将试题管理和试卷生成集为一体,不仅能帮助教师适时编制各类考试题目还能协助教师生成标准试卷。本系统大大减轻了教师的工作量,有效地提高了整个出卷过程的效率。 关键词:试题库;管理;C#;SQL Server;组卷 AbstractWith the development of computer technology, it is more widely used in the industries in China. Computer Aided Education (CAI) application in the education system, has received the good effect, bringing the education reform prospect. Development and application of multimedia teaching, courseware, distance education, people pay more attention to the management of project. In the management of teaching, for the realization of teaching and examination separated, more reasonable, fair, justice, open to all kinds of examinations, examination question bank management using the computer, to assist teachers in papers has become one of the important contents in the teaching reform of the colleges and universities. So for the development and application of management system of test questions is especially important. The traditional examination questions, always teachers exam focus on centralized test, it is very difficult to guarantee the quality of the papers, and can not accurately reflect the students learning effect. In order to promote the modernization of teaching methods, improve teaching quality, to reduce the workload of teachers in the test, test and analysis of the achievements, help teacher conveniently, quickly out of a coverage and the difficulty of adjustable paper, on the basis of C# programming language, SQL Sever as the backstage database to support the development of a set of implementation of examination paper management and examination paper generation system.In recent years, the college launched the question bank management system to their development, in the using process of various database management systems have been developed in, we found that the more emphasis on database management functions of the big and complete, although has certain universality but lack of pertinence, simple operation in practical application for questions, bring inconvenience. This paper generation and database management system is based on the curriculum structure and the contents of test questions, each class types, the difficulty to design a simple, fast, with a reasonable volume problem, difficult easy degree controlled test system. At the same time also has a certain degree of scalability, can be used as a test base management system in many subjects. The system will test management and test paper generation as a whole, not only can help teachers to prepare all kinds of test questions can help teachers to generate standard test. This system greatly reduce the workload of teachers, improve the efficiency of the test process.Key word:Test library management; C#; SQL; Server; test paper绪言 从我国恢复高考制度以后,随着高考标准化的实施,尤其是微型计算机的快速发展,这些都为题库建设提供了基础条件。80年代中期以来,出现了多所学校或行政机构联合开发试题库的局面,同时,也出现了许多其它学科的试题库。90年代前后,政府部门在全国范围内有计划、有组织、系统地开展CAI教学与国家试题库的建设。学校是考试最为频繁的单位之一。在学校,尤其是在各大高校,科目众多,任课教师工作繁忙。为了更好地检查教师在教学过程中和学生有学习过程中的效率,以便能更好地把教学质量提高。而每次考试为了能出一份难易适中,又能体现对能力和知识点全面考察的试卷,教师需花费相当多的时间和精力。即使如此,也很难保证所出的试卷的科学性、合理性,甚至可能会出现试卷偏难或偏易的现象,达不到预期的考察目标。 传统的考试出题总是教师考前集中出题、集中组卷,这样很难保证试卷的质量,进而不能准确反映学生的学习效果。为促进教学手段的现代化,提高教学质量,减轻教师在出题、组卷的工作量,帮助教师方便、快速、准确组出难度适宜的试卷,本系统在c#编程环境下开发了一套能实现知识点管理、试题管理和试卷难度定义的软件。本系统将知识点管理、试题管理和试卷生成集为一体,不仅能帮助教师适时录入试题,丰富存贮自己题库。同时可以为教师面对不同需求,面对不同的学生群体和不同时期而生成的试卷组卷的难度方案,可以很好的满足老师对于不同难度和需要的试卷。 设计编写试题库管理系统,是基于俩种目的:一、是充分利用现有的计算机系统减轻工作人员的劳动强度。二、是摒弃传统的手工整理、以试卷(纸质)的形式存放到档案室,浪费纸张等原材料,不利于保护环境。 一个好的试题库管理系统,要求界面友好,能方便地录入试题,试题库的维护(修改、删除试题)操作简单,组卷灵活快捷,查询试题或试卷迅速,以适应各种知识更新对试卷难度的要求。为此,在对系统进行概要设计时,就充分考试虑到以上的因素,模块围绕实用性设计,比如,题库管理模块就是为了实现试题的录入、试题的维护、试卷的生成而设计的;查询模块是为了实现试题和试卷的快速查询而设计的。整个设计简洁明了,同时也就方便了操作。第一章 需求分析 需求分析为软件的开发起到了决策的作用,提供了开发的方向,并指明开发的策略,在软件开发及维护中均起到了举足轻重的作用。本章将从用户需求和功能需求两方面进行阐述。1.1用户需求1.1.1科目管理实现科目的添加,删除,修改等功能1.1.2知识点管理试题抽取按知识点进行,同一试题可能涉及多个知识点。知识点按树状目录管理,其主要操作包括:1、知识点添加2、知识点删除3、知识点修改4、知识点位置的移动5、统计功能: 知识点总数 每个知识点对应题的数量1.1.3试题管理试题包括:“题型、题干、答案、分数、难度、相关系知识点”等内容;“题型”分为:单选、多选、判断、填空、等4种类型。每一道试题可能包含一个或多个“知识点”“题型、分数、难度”、“知识点”和“题干、答案”可分别存储。主要需要实现的操作:1、试题增添试题分类型录入2、试题删除3、试题修改可修改内容为“题干、答案、分数、难度和相关知识点”。“题型”不允许修改,只能删除/重输。4、查找按题号查找试题按内容查找试题5、统计按科目(章)、题型分别统计题量按知识点、题型分别查询试题1.1.4试卷生成1、试卷设置设置试卷卷面总分数设置考试时间按章分配分数按题型分配分数设置允许的试题重复度比例是否设置难度系数分数比例评分规则(多选题,填空题,)2、生成试卷(1)手工生成试卷各种参数设置好后,手动的选择题库中试题,添加到试卷,然后生成试卷。(2)自动生成试卷按“题型”分配每章题型比例按指定“题型”随机抽题。第二章 拟采取的研究方法和技术路线2.1 研究方法和技术路线研究方法是通过建造模型的方法,对试题库的组织机构、运行模块、数据流程进行建模。再通过程序设计语言和后台数据库对模型进行实现。本试题库管理系统拟采用SQL数据库和c#编程语言,开发环境为Windows XP ,后台数据库用SQL Server 2008 R2 。2.2 研究手段和可行性分析主要通过调查、收集、整理相关资料并运用所学专业课知识分析总结,逐步从整体上和细节上把握试题管理系统的框架和各功能模块,有计划有步骤地开发本系统。(1)从经济可能性来看,虽然开发系统要投入相当的人力,物力,财力但是要等到开发完成投入使用会给用户带来极大的方便,从长远利益来看有百利而无一害。(2)从技术可能性来看,本系统运用C#程序设计语言和SQL数据库技术来实现,这 是 目前运用比较广泛的技术。SQL Server 2008R2 是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。SQL Server 2008R2 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2008R2 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2008R2 结合了分析、报表、集成和通知功能。企业可以构建和部署经济有效的解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2008R2 与众不同。无论是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2008R2 都可以提供创新的解决方案,从数据中更多地获益。2.3选择SQL Sever做为数据库语言的依据Access数据库是小型关系型数据库,适合数据量少的应用,不支持并发处理、数据库易被下载存在安全隐患、数据存储量相对较小、数据量过大时严重影响网站访问速度和程序处理速度。SQL Server是基于服务器端的大型企业级数据库,可以适合大容量数据的应用,在功能、管理方面也要比access数据库强得多。在处理海量数据的效率、后台开发的灵活性、可扩展性等方面强大。SQL Server在性能、安全、功能管理、可扩展性上要比Access强很多,两者并非同级别的数据库,有些功能Access甚至无法做到。MySQL缺乏一些存储程序的功能,比如myisam引擎联支持交换功能。如果不慎损坏数据库,结果可能会导致所有的数据丢失。然而,对于SQLServer服务器而言就表现得很稳键。SQLServer服务器能够时刻监测数据交换点并能够把数据库损坏的过程保存下来。Oracle可在所有主流平台上运行,而SQL Server却只能在Windows上运行了,但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft开发平台的整合性都比Oracle强的很多。Oracle的初始花费相对较高,特别是在考虑工具软件的时候,Oracle很多工具软件需要另外购买,价格不菲。操作上SQL Server明显要比Orcale简单。 2.4开发工具选择Microsoft Visual Studio 2010之所以选择Microsoft Visual Studio 2010作为本次题库系统设计的开发工具,是因为Visual Studio2010 是一套完整的开发工具集。它的主要功能包括开发Windows窗体应用程序、开发ASP.Net Web应用程序、开发移动应用程序等,并且它可以向开发的各个过程提供辅助工具,即提供了开发应用程序的工具集。另一方面,Visual Studio 2010提供了在设计、开发、调试和部署应用程序时所需的工具,Visual C#集成开发环境(IDE)是Visual Studio IDE中的一种。打开Visual Studio选择C#即可进入Visual C#集成开发环境,它里面有些工具是与其他 Visual Studio 语言共享的,还有一些工具(如C#编译器)是Visual C#特有的。此外,Visual Studio 2010可以与SQL Server 2008R2 解决方案开发。SQL Server 2008R2 将数据库对象的开发与调试集成到 Visual Studio 2010 开发环境中,从而使开发人员能够使用与其目前用于编写托管组件和应用程序相同的工具来生成和部署数据库对象。从开发人员的角度看,Visual Studio 2005 Team Developer Edition 为开发人员提供高级的静态分析、代码剖析、代码涵盖以及单元测试工具,使团队能够在整个生命周期中尽早、频繁地规划质量。2.4开发语言选择c#C#(C sharp)是一种面向对象的编程语言,主要用于开发可以在.NET平台上运行的应用程序。C#是从C和C+派生出来的一种简单、现代、面向对象和类型安全的编程语言,其语言体系都构建在.NET框架上,并且能够与.NET框架完美结合。它语法简洁,不允许直接操作内存,去掉了指针操作。C#拥有比C,C+或者Java更广泛的数据类型.这些类型是bool, byte, short, ushort ,int ,long ,float ,double ,和decimal,像Java一样,所有这些类型都有一个固定的大小又像C和C+一样,每个数据类型都有有符号和无符号两种类型。C#有两个局限性:第一是C#不适用于编写时间紧迫或性能非常高的代码。第二是C#缺乏性能极高的应用程序所需要的关键功能,包括保证在代码的特定地方运行的内联函数和析构函数。但是这类应用程序非常少2.5系统运行的软、硬件配置要求:2.5.1软件信息:软件大小:0.46 M软件语言:简体中文软件类别:编程开发/数据库类、C#语言2.5.2软件安装要求:硬件环境 :应用平台:Win 7/Windows Vista/WinXP 内 存: 512M 或更高 显 卡: 256M显存或更高软件环境:1. 需要安装Microsoft Visual Studio 2008以上版本的软件;2. 需要安装SQL SEVER 2008以上版本或满足以下要求: 需要.Net Framework 3.5,若在Vista或更高的OS上需要3.5 SP1的支持(在SQL2008安装的前会自动更新安装); 需要Widnows PowerShell的支持(在SQL2008安装时会自动更新安装)3. 需要确保Windows Installer的成功启动,需要4.5以上版本(需要检查服务启动状态service.msc)第三章 系统模块结构3.1系统模块设计本系统的两大主要功能为:题库功能和试卷功能。由此将系统划分为五大模块,分别为:登录模块、课程管理、知识点管理、试题管理、试卷生成。试卷生成与题库管理系统的主要功能是为使用者提供一个简单快捷的试题录入、查询、浏览,快速生成试卷及试卷管理的软件系统。同时降低在查找试题上的工作难度,节省工作时间。 系统模块分为以下几个部分,如图3.1所示。登录模块课程管理知识点管理试题管理试卷生成试题库管理系统用户登录用户注册增加课程删除课程增加知识点修改知识点试题查找删除知识点增加试题修改试题删除试题手工生成试卷自动生成试卷管理员登陆 图3.6系统模块结构图3.2 模块结构设计3.2.1 用户登录模块在进入系统时,需要输入用户名和密码,通过用户名和密码识别用户身份,系统管理员、普通用户。不同的角色进入系统后可以操作该用户权限范围内的功能,如果输入的用户根本不存在,系统则提示非法登录,该用户不存在,管理员登陆成功,具有管理用户和功能模块管理权限。3.2.2 用户主界面及课程管理模块系统登录成功后进入主系统主窗口,系统主窗口显示了系统的主要功能。在系统主界面中选择要进入的操作界面,点击相应按钮进入。系统的主要功能分为五大模块:自动生成试卷、手动生成试卷、知识点管理、试题管理、科目管理。该界面首行显示登录信息,包括用户身份和用户名。由于权限不同,用户可进行的操作受到限制。一般用户不能进入所有管理模块,进入子模块后只能在自己权限范围内的科目进行自动组卷、手动组卷的工作。管理员可能对所有试题和课程进行增加、删除、修改的操作。3.2.3知识点管理模块 知识点管理模块主要是实现知识点管理,完成对知识点的添加,删除,修改,当删除知识点时,会判断该知识点下是否有试题,如果有试题,将提示用户是否要将知识点和试题一并删除。 可以对知识点进行上移,下移等操作。在构建知识点结构的时候,在不同的时期,我们可能需要把某些知识点放在不同的位置,通过知识点的上移和下称可能,实现对知识点显示位置的改变。移动知识点的位置不会改变知识点与该知识点下试题的关系。 知识点管理模块还有对各知识点内包含题目的统计。能够一目了然的知道某个知识点下包含多少试题,方便管理。3.2.4试题录入模块试题录入模块主要分为4部分单项选择题录入、多选题录入、判断题录入、填空题录入。各题型的录入都需要选择试题难度、试题知识点、试题题干、试题答案。单项选择题录入需要选择一项正确答案,多项选择题录入需要勾选多个正确答案,判断题录入需要选择判断正确或者错误,填空题录入要填写答案。试题录入模块是很重要的一大模块,所有试题信息都要写进相应的试题表中。3.2.5 试题浏览编辑模块试题浏览编辑模块主要是对题库的浏览,可以根据知识点浏览相应知识点下的题目。可以查找试题,查找试题能通过试题ID查找试题和试题内容查找试题。能够将浏览或查找到的试题进行修改删除操作。3.2.6 试卷生成模块试卷生成模块是要完成试卷的生成,分为手工生成试卷和自动生成试卷,手工生成试卷是设置好试卷名称,考试时间等属性后,在试题库中选择试题,然后组成试卷。自动生成试卷是设置好试卷名称,考试时间后,然后设置根据题型设置,让电脑自动的随机抽取题库中试题组成试卷。3.3 系统关键技术3.3.1 数据库连接技术ADO 通过OLEDB实现对不同类型数据源的访问。OLEDB是一种底层的编程接口,它支持关系或非关系型的数据源。OLEDB包括三个组成部分:数据提供者,数据消费者和服务组件。数据提供者:指任何OLEDB数据的提供者,如ODBC、SQL Server、Access.数据消费者:指使用数据提供者提供数据的应用程序。服务组件: 起连接数据消费者和数据提供者的作用。ADO 定义编程模型,即访问和更新数据源所必需的活动顺序。编程模型概括了 ADO 的全部功能。编程模型意味着对象模型,即响应并执行编程模型的“对象”组。对象拥有“方法”,方法执行对数据进行的操作;对象拥有“属性”,属性指示数据的某些特性或控制某些对象方法的行为。与对象关联的是“事件”,事件是某些操作已经发生或将要发生的通知。3.3.1.1 基本的ADO编程模型ADO 提供执行以下操作的方式: 1. 连接到数据源。同时,可确定对数据源的所有更改是否已成功或没有发生。2. 指定访问数据源的命令,同时可带变量参数,或优化执行。3. 执行命令。4. 如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。5. 适当情况下,可使用缓存行的更改内容来更新数据源。6. 提供常规方法检测错误(通常由建立连接或执行命令造成)。 在典型情况下,需要在编程模型中采用所有这些步骤。但是,由于 ADO 有很强的灵活性,所以最后只需执行部分模块就能做一些有用的工作。第四章 数据库设计4.1 数据库需求分析及E-R模型设计本系统需要保存的信息很多,所以需要规划多个实体。本系统中最基本的实体有用户登录信息实体、课程实体、知识点实体、选择题实体、判断题实体、填空题实体。 本系统可能有多个用户,而且不同类型的权限不同,所以需要创建用户信息表,来保存用户信息以及权限信息。用户信息实体E-R图如图4.1所示。图4.1 用户信息E-R图图4.1 用户权限课程E-R图题库管理系统应能管理不同课程的试题库,需要创建课程信息表来保存不同课程的信息。课程信息实体E-R图如图4.2所示。图4.2 课程信息E-R图 每个课程有自己的知识点,某些知识点之间还会有关联,需要创建知识点信息表来保存知识点信息。知识点信息实体E-R图如图4.3所示。图4.3 知识点信息E-R图创建各类型试题信息表来保存不同类型试题的试题信息。选择题实体E-R图如图4.4所示。判断题实体E-R图如图4.5所示。填空题实体E-R图如图4.6所示。图4.4 选择题信息E-R图图4.5 判断题信息E-R图图4.6 填空题信息E-R图创建题型表来保存试题类型,便于对试题类型的扩展。试题类型实体如图4.7。图4.7 试题题型信息E-R图4.2 根据E-R模型得出数据库表 数据库设计在管理信息系统开发中是至关重要的一个方面,其设计的好坏直接影响系统的执行效率以及日后的维护,还应考虑到必须具备良好的扩展性要求。数据库服务器端采用的是大型商业数据库系统(SQL Server 2008R2),这有利于提高大批量数据的吞吐时间,使整个系统管理规范化,数据的完整性、安全性得到保障。根据前面系统功能模块的设计,数据库主要涉及的表有用户表、课程表、知识点表、单项选择题表、多项选择题表、判断题表、填空题表、用户课程表。主要的表以及表中的主要字段的具体设计如下。4.2.1用户表该表用于存放用户级用户登录所需信息,具体设计和主要字段如图4.1字段名类型宽度存放内容IDint用户ID账号char12账号密码char12密码姓名char12姓名权限char12权限图4.2.1用户表4.2.2课程表该表用于存放课程信息,具体设计和主要字段如图4.2字段名类型宽度存放内容课程IDint课程号课程名称char20课程名称图4.2.2 课程表4.2.3知识点表该表用于存知识点信息,具体设计和主要字段图4.3字段名类型宽度存放内容IDint课程ID父节点IDInt父节点ID知识点名称char50知识点名称知识点描述char500知识点详细描述是否是叶子bit顺序号Int用于调整知识点位置图4.2.3知识点4.2.4单项选择题该表用于存放单项选择题信息,具体设计和主要字段如图4.4字段名类型宽度存放内容试题IDInt试题ID题干nvarchar100试题题干内容选项Anvarchar50选项A内容选项Bnvarchar50选项B内容选项Cnvarchar50选项C内容选项Dnvarchar50选项D内容答案nvarchar50该题的正确答案分数int该题的分数难度int该题的难度知识点IDint该题对应的知识点ID相关知识点nvarchar100图4.2.4单项选择题表4.2.5多项选择题表该表用于存放多项选择题信息,具体设计和主要字段如图4.5字段名类型宽度存放内容试题IDInt试题ID题干nvarchar100试题题干内容选项Anvarchar50选项A内容选项Bnvarchar50选项B内容选项Cnvarchar50选项C内容选项Dnvarchar50选项D内容答案nvarchar50该题的正确答案分数int该题的分数难度int该题的难度知识点IDint该题对应的知识点ID相关知识点nvarchar100图4.2.5多项选择题表4.2.6判断题表该表用于存放判断题信息,具体设计和主要字段如图8字段名类型宽度存放内容试题IDInt试题ID题干nvarchar100试题题干内容答案nvarchar50该题的正确答案分数int该题的分数难度int该题的难度知识点IDint该题对应的知识点ID相关知识点nvarchar100图4.2.6判断题表4.2.7填空题表该表用于存放填空题信息,具体设计和组要字段如图4.7字段名类型宽度存放内容试题IDInt试题ID题干nvarchar100试题题干内容答案nvarchar50该题的正确答案空数char10题目的空数是否有序bit题目是否有序分数int该题的分数难度int该题的难度知识点IDint该题对应的知识点ID相关知识点nvarchar100图4.2.7填空题表4.2.8 用户权限课程字段名类型宽度存放内容用户名nvarchar50用户名课程IDint20课程号图4.2.8用户权限课程表第五章 系统详细设计与实现5.1 登陆和注册界面登录界面相对来说比较简单,用户输入用户名和密码之后系统会判断他是哪种角色,然后进去后该角色只能操作管理员分配给他的功能。如图5.11,图5.12,图5.11 用户注册图5.12 用户登录如果登陆密码有误,注册ID重复,等。系统会提示相应的对话框提示如图5.13图5.13 各种错误提示注册界面部分代码:namespace 题库管理系统 public partial class UserRegistration : Form public UserRegistration() InitializeComponent(); private void button1_Click(object sender, EventArgs e) try string s = SqlConnectionClass.GetConnectionString(); SqlConnection cn = new SqlConnection(s); SqlCommand cm = new SqlCommand(Insert into 用户(用户名,密码) + Values(用户名,密码), cn); cm.Parameters.Add(new SqlParameter(用户名, textBox_userName.Text); cm.Parameters.Add(new SqlParameter(密码, textBox_comfirmPassword.Text); if (textBox_password.Text != textBox_comfirmPassword.Text) MessageBox.Show(两次密码输入不一样,请重新输入.); return; cn.Open(); cm.ExecuteNonQuery(); MessageBox.Show(注册成功!); cn.Close(); Close(); catch (Exception) MessageBox.Show(用户已存在,请更换用户名.); private void button2_Click(object sender, EventArgs e) Close(); private void textBox_password_TextChanged(object sender, EventArgs e) private void UserRegistration_Load(object sender, EventArgs e) 登陆界面部分代码:namespace 题库管理系统 public partial class UserLogin : Form public UserLogin() InitializeComponent(); private void label3_Click(object sender, EventArgs e) UserRegistration userRegistration = new UserRegistration(); userRegistration.ShowDialog(); private void button1_Click(object sender, EventArgs e) /try / string s = SqlConnectionClass.GetConnectionString(); SqlConnection cn = new SqlConnection(s); cn.Open(); SqlCommand cm = new SqlCommand(Select 密码 from 用户 where 用户名 = userName, cn); cm.Parameters.Add(new SqlParameter(userName, textBox_userName.Text); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cm); da.Fill(ds); cn.Close(); if (ds.Tables0.Rows0.ItemArray0.ToString() = textBox_passWord.Text) /this.Visible = false; /隐藏显示,假关闭 this.Hide(); MainPage mainPage = new MainPage(textBox_userName.Text); mainPage.ShowDialog(); if (mainPage.DialogResult = DialogResult.OK) this.Close(); else MessageBox.Show(用户名或密码错误,请重新输入.); textBox_userName.Clear(); textBox_passWord.Clear(); textBox_userName.Focus(); / /catch (Exception) / MessageBox.Show(用户名或密码错误,请重新输入.); / private void UserLogin_Load(object sender, EventArgs e) private void textBox_userName_TextChanged(object sender, EventArgs e) private void textBox_passWord_TextChanged(object sender, EventArgs e) 5.2管理员登陆后系统主界面 系统管理员成功登陆以后,进入系统的主界面,在主界面可以完成对课程的添加,删除功能,还可以通过主界面,进入知识点管理界面,试题录入界面,试题浏览编辑界面,手工生成试卷界面,等。如图5.21图5.21 系统主界面在主界面可以完成课程的添加删除等,如图5.22,图5.23图5.22 课程添加图5.23 课程删除主界面部分代码如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Configuration;namespace 题库管理系统 public partial class MainPage : Form List list_courseid = new List(); /用于保存提取出的科目ID public MainPage(string username) InitializeComponent(); LoadCourse.loadCourse(listBox1); if (listBox1.Items.Count = 0) button_deleteCourse.Enabled = false; button_entryExam.Enabled = false; button_examMaintain.Enabled = false; button_setKtr.Enabled = false; else button_deleteCourse.Enabled = true; button_entryExam.Enabled = true; button_examMaintain.Enabled = true; button_setKtr.Enabled = true; listBox1.SelectedIndex = 0; label_username.Text = username; label_usertype.Text = 普通用户; DataRowView drv = listBox1.SelectedItem as DataRowView; label_coursename.Text = drvlistBox1.DisplayMember.ToString(); / / 手工录入试题 / / / private void button1_Click(object sender, EventArgs e)
展开阅读全文