




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计考试系统 设计:计算机考试系统的 设计与实现 题 目: 计算机考试系统 专业班级: 姓 名: 学 号: 指导教师: 日期:2005-3-23【摘要】本论文以“计算机考试系统”的 开发为背景,论述了 计算机考试系统发展的 历史及现状.全文共分为系统调查、 系统分析、功能设计、数据库设计、系统实现、 总结、参考文献.本文详细阐述了 系统分析、系统设计的 方法及其内容,对如何使用VB开发本系统作了 较为详细的 介绍.本系统包括题库的 维护维护、考生的 考试模块、评分模块,而且老师和学生可以分别使用不同的 用户名进行登录,具有不同的 操作权限.【Abstract】This thesis tak
2、e the develop米ent of the calculator exa米ination syste米 as the bac千克round, discussing the history and the present condition of the calculator exa米ination syste米 develop米ent.The full text is divided into the syste米 inquisition, syste米 analysis, the function design, database design, syste米 realization,
3、 tallies up totally, reference.This text was detailed to elaborate that syste米 analysis, 米ethod and its contentses of the syste米 design, to how use the develop米ent of VB originally the syste米 米akes to co米pare to introduce detailedly.This syste米 includes the exa米ination 米old piece, the grade point 米o
4、ld piece of 米aintenance 米aintenance, exa米inee of a database, and the different fro米 student can use respectively users na米e of teacher carries on the logging, having the different operation legal power.【关键词】计算机考试系统 VB6.0 系统功能【Keywords】The co米puter exa米ination syste米 VB6.0 syste米 function目 录摘要关键词前言第一
5、章 系统调查-3第二章 系统分析-4第三章 功能设计-9第四章 数据库设计-12第五章 系统实现-15第六章 总结-35第七章 参考文献-35前 言“科学技术是第一生产力”,是邓小 平同志坚持和发展马克思主义关于生产力的 理论,于1988年提出的 精辟论断.这个论断提示了 科学技术在现代社会在的 重要作用,为我国社会主义市场经济中科学技术发展指明了 方向.科学技术的 突飞猛进,给世界生产力的 人类经济社会的 发展带来了 极大的 推动.当前,以微电子技术为基础,以计算机、网络和通信技术为主体的 信息技术,已渗透到经济的 各个领域.信息技术的 发展,已给人类经济生活方式带来质的 变化.未来的 科技
6、发展还将产生新的 重大飞跃.我们作为新世纪的 中国人,作为计算机专业的 学生,理应为我们国家的 发展做出自己应有的 一份贡献.在学校里我们学习的 都是非常理论的 东西,虽然可能有上机的 实践,但是确没有面对过一个真正的 实际的 问题,理论如果离开了 理论,就失去了 生长的 土壤.也没有非常系统的 使用过学习到的 知识,可以这么说我们的 水平可能还没有转化为生产力.如果学习的 知识不加于应用,不但不容易透彻的 理解理论知识,而且非常的 容易忘记.所以我借着这次毕业设计的 时候 ,好好的 解决一个实际的 问题,好好的 ,全面的 运用自己所学的 ,为自己以后毕业后的 工作生活打下一个良好的 基础.在
7、人的 一生中,总是要经历许许多多的 考试,大到考研究生,小 到单元测验.从在校的 学生,到已经在社会上工作的 人,从为人师的 教师,到开出租车的 司机,都要经历很多的 考试.而现在传统的 考试模式已经跟不上现在的 发展,所以在这次毕业设计中,我准备做一个考试系统.可能该考试系统比较的 简单,但是麻雀虽小 ,五脏俱全.包括了 题库的 维护维护、考生的 考试模块、评分模块.还是具有一定的 使用价值的 .在本系统设计的 过程中我以我所学习的 东北大学网络学院为设计背景进行设计的 .具体的 设计过程如以下各章所述.第一章 系统调查现在全国无论是政府、企业、学校还是农村的 信息化建设都在如火如荼的 展开
8、着.信息化建设的 一个必然结果就是电脑越来越普及了 ,现在很多的 高中、初中都已经拥有自己的 微机房了 ,甚至发展的 比较好的 小 学也已经配置了 不错的 电脑.随着计算机技术的 不断普及,计算机工作者也越来越多,水平也越来越高 ,同时学校也肯花钱请专门的 人员来管理机房,这些就为实行无纸化考试系统提供了 硬件条件.随着计算机技术的 发展,考试的 方式也在不断的 变化着.从最初的 考试的 时候,人工印刷试卷,到发考卷,然后收卷,然后改卷,然后发布成绩,整个流程相对的 比较的 复杂,而且涉及的 人员较多,不容易协调.手工改卷,在主观题上是有他的 优势的 ,毕竟电脑是没有评测主观题的 能力,但是客
9、观题也采用手工修改的 话,对于评卷老师来说工作量就非常的 大.面对几百份,甚至是上千份的 试卷,精力在好、工作在认真的 老师也会感觉头疼的 .根据计算机的 特点,我们该类试题正好可以使用计算机进行处理,于是在一套试题里,客观题和主观题同时存在的 情况下,出现了 另外一种考试的 方法.那就是把主观体和客观题分开,主观题照样在原来的 试卷上考试,而客观题则要求学生涂卡.这样客观题的 评卷就变的 简单了 .但是如果考试纯粹考的 是客观题,使用这种涂卡的 方式,就暴露出了 一些缺点了 ,比如,每回老师还是要下发试卷,上交试卷,封存试卷,这样操作对于老师来说比较的 麻烦.还有一点就是考生还要花很长的 时
10、间来涂卡,无形间就增加了 考试的 时间,也就增加了 考试的 成本.所以现在全国比较流行的 是使用无纸化考试系统,每回考试只要使用软盘等等存储介质带题库下来,在计算机上安装一个考试客户端(甚至有些就直接使用windows内置的 浏览器就可以了 ),就可以考试了 .考试完毕之后,学生交卷后,评分的 时候只要带走一些数据,就可以完全使用电脑修改,评分过程可能也就在一两分钟左右.采取这种方法,不知不觉中就减少了 考试时间,降低了 考试成本,减少了 老师的 工作.而且一般情况下,该类考试系统都是使用随机组卷,电脑随机抽卷的 ,保证了 公正性,即使是监考老师也无法干预电脑的 随机抽卷.现在网络发展的 非常
11、的 快,网络的 无地域性也不停的 拉近了 我们之间的 距离.宽带的 资费也由刚开始的 高不可攀,到现在的 平民化.网络正在慢慢的 影响着我们的 生活方式.不知不觉网络办公,网上购物,都被人们所接受.那么通过internet网进行网络考试如何呢?答案是可能的 .该类考试系统现在也已经冒出了 很多,采取的 基本上是B/S结构的 .客户端只要在特定的 时间通过浏览器登陆到考试服务器上面去,然后系统会在浏览器上显示出考试的 题目,可以说这种模式真正的 实现了 在家考试.但是这种考试也有一些本身的 问题,第一、客户端是通过internet访问服务器的 ,网络速度和稳定性方面就是个考验.第二、对服务器的
12、要求非常的 高,试问,如果有几百个人甚至上网个人同时在线考试的 话呢?服务器的 负荷是非常大的 .网上考试是以后的 发展趋势,但是现在还是有些问题存在的 .从以上的 调查我们可以总结出一个结论,现在的 考试系统越来越简单,越来越网路化,无论是局域网还是internet网.而且无纸化的 考试系统越来越流行.这更加坚定了 我做这么个考试系统的 决心.第二章 系统分析参考了 很多计算机考试系统,可以看到这些考试系统的 特点如下:2 1 考试系统的 特点1操作界面和操作方法简单.如果操作过于复杂化的 化,老师培训学生考试操作就得很长得时间,这样使用无纸化考试系统可以说是得不偿失.所以操作界面一定要简单
13、,操作方法也一定要简单.2、提示必须正确,没有歧异.对于参加考试得学生,通常都非常得紧张,可以说是非常得惶恐,非常的 怕自己考不好,所以出现提示的 时候,如果提示说不明确或者是有歧异,会马上问老师的 ,这样不但不利于考生的 正常发挥 ,而且考场秩序也会非常的 混乱.3、必须有很强的 错误处理能力.参加考试的 学生,其中可能有很大一部分计算机操作都不是很熟练,不熟练的 意思就是可能会乱删文件,可能会做些正常情况下不会去使用的 功能.所以一定要防止学生进行这种操作,即使是操作了 ,也该有相应的 错误提示.4、稳定性.考试系统的 稳定性非常非常的 重要,必须能够保证正确得考试流程.这表现在考试数据不
14、容易丢失,不会出现一些写入错误等等.总之除非发生硬盘损害等等非可抗的 能力,否则必须得保证考生得数据不丢失.如果考试机意外重启,应该也运行考生能够继续做试题.而不是完全重新开始做.5 、考生考试数据集中管理.所谓考生考试数据集中管理是只一个考场里的 考生数据最好是存放在一个地方,而不是存放于各自的 考生计算机上.为什么要强调这一点呢?因为如果把考试的 数据都存放在下面各自的 机器上的 时候,监考老师要一个一个的 进行收卷,我想这样和下发试卷可能非常的 类似,这样也没有发挥出计算机考试的 优势.如果直接都存放在服务器上,那么数据采集就非常的 简单了 ,只要直接从服务器上取得就可以了 6 、网络化
15、.现在考试系统的 发展就是向网络化发展,从最初的 单机,到局域网,到internet网.所以考试系统必须支持网络化操作.22 考试系统主要功能(我的 毕业设计只是做了 下面的 一部分)一般情况下,整套的 考试系统需要如下的 模块.1 、 报名模块该模块的 主要功能是记录每个考生的 信息,比如报名日期等等.2 、 题库维护模块该模块的 主要功能是制作题库使用的 .3 、 考生考试模块该模块是提供给考生考试使用的 ,包括答题和交卷等等功能.4 、 考场数据采集模块该模块是导出考生的 考试信息,评分模块依赖于该考试信息来评分.5 、 评分模块评出考生的 成绩.6 、 学生成绩和分析模块对考生的 成绩
16、进行统计分析,比如及格人数是多少,通过率有多少等等.24 开发环境的 选择241 操作系统的 选择现在主流的 操作系统有Windows和linux,最近Linux的 发展很快,在界面上的 友好度上面已经做的 越来越好了 ,据说在稳定性上面已经超过了 Windows操作系统.但是linux操作系统用的 比较多的 还是服务器的 版本,在桌面上的 普及始终还是不如windows,而且windows的 操作更加的 傻瓜化,可以这么说windows操作系统更加的 适合于入门的 用户,而且我们也知道现在学校里几乎上使用的 都是Windows 操作系统,所以使用Windows操作系统变成了 我们的 首选.W
17、indows操作系统也分为很多种,包括Win95、Win98、Win2000、WinXp、Win2003.虽然win98操作系统发行已经很多年了 ,但是一直以它的 操作方便性深受用户的 喜爱,所以我们这里的 操作系统当仁不让的 选择Win98操作系统242 开发工具的 选择现在在市场上,流行的 Windows开发工具主要由两个供应商提供,一个是微软公司,另外一个是Borland公司.而这两个公司的 最有名的 RAD(快速开发工具)为Visual Basic 和Delphi.因为Visual Basic是微软专门为开发Windows程序而设计的 ,特点是简单易用,开发快速,和Windows结合紧
18、密,语言简单,试想学计算机的 谁没有学过Basic语言呢?虽然Delphi功能也很强大,但是考虑到简单性,所以我决定使用Visual Basic.2421 Visual Basic介绍我们先来了 解一下Visual Basic,经过总结我觉得Visual Basic有主要有如下的 三个特点:1、Visual BASIC提供可视化的 编程工具 用传统的 高级语言编程时,程序的 各种功能、用户界面和显示的 结果全要由程序语句来实现,这就增加了 编程难度.而用Visual BASIC开发应用程序,包括两部分工作:一是设计用户界面,二是编写程序代码.Visual BASIC向程序设计人员提供图形对象(
19、窗体、控件、菜单等)来进行应用程序的 界面设计,例如程序人员可以根据用户的 需要轻而易举地在屏幕上画出下图的 用户界面.Visual BASIC提供的 “工具箱”内存放若干个“控件”,程序设计者可以自由地从工具箱中取出所需控件,放到窗体中的 指定位置,而不必为此编写程序.也就是说,屏幕上的 用户界面是用Visual BASIC提供的 可视化设计工具直接“画”出来的 ,而不是用程序“写出来的 ”.2、程序采用“事件驱动“方式 在设计好用户界面后,第二件事是编写程序.Visual BASIC改变了 程序的 机制,它没有传统意义上的 主程序,而由“事件”来驱动子程序的 运行.一般来说,每个子程序要实
20、现的 功能是单一的 ,子程序的 规模一般不会太大,也就是说,把原来一个统一控制的 、包罗万象的 大程序分解为许多个独立的 、小 规模的 子程序,分别由各种“事件”来驱动执行,于是编程难度大大降低了 .3、Visual BASIC融入了 最新的 计算机技术 Visual BASIC的 设计者在Visual BASIC中融入了 最新的 计算机技术,使得用Visual BASIC编程能充分利用了 这些最新的 技术,例如在多媒体方面的 应用、在Internet 方面的 应用等.总之,Visual BASIC是面向对象的 、结构化的 计算机语言.Visual BASIC的 界面由一些对象组成,每个对象有
21、若干个属性、方法和事件,程序人员的 任务是设计这些对象的 事件处理过程.Visual BASIC是一种很容易学习并很快就可以熟练掌握的 功能强大的 编程语言.243 数据库的 选择考试系统里有很多的 地方需要存取数据,为了 能够更好的 组织数据,并且使编码更加的 简单,决定使用数据库技术来组织所有的 数据,包括题库数据和考生在考试的 时候的 数据.现在市场上主流的 数据库分为网路型的 数据库和桌面型的 数据库.网络型的 数据库一般情况下使面向企业级的 用户,数据存储比较的 稳定,而且安全,数据存储的 容量也非常的 巨大.而桌面型的 数据库一般是面向一些中小 型的 用户,他们的 数据量不是非常的
22、 庞大,由于一般情况下,不是通过网络来存取的 ,所以速度相对来说要快一点,而且价格方面要便宜的 多,缺点是数据安全性方面稍差.而本次毕业设计使用的 数据库Access2000更是微软Office2000中的 一个套件.为了 减少成本,而且对于一个考场的 考生来说使用Access数据库已经足够,而且减低了 整个系统的 造价.1 、 Access简介作为米icrosoft的 office套件产品之一,access已经卖出了 近900万份,成为世界上最流行的 桌面数据库系统.Access与许多优秀的 关系数据库一样,可以让你很容易地连接相关的 信息而且还对其他的 数据库系统有所补充.它能操作其它来源
23、的 资料,包括许多流行的 PC数据库程序(如dBASE,Paradox,米icrosoft FoxPro)和服务器、小 型机、大型机上的 许多SQL数据库.Access还完全支持米icrosoft的 OLE技术. Access还提供windows操作系统的 高级应用程序开发系统.Access与其它数据库开发系统之间相当显著的 区别就是:您不用写一行代码,就可以在很短的 时间里开发出一个功能强大而且相当专业的 数据库应用程序,并且这一愉快的 过程是完全可视的 !如果您能给它加上简短的 VBA代码,那么您的 程序决不比专业程序员潜心开发的 程序差.2 、 Access的 总体结构 Access将所
24、有具有名字的 东西都成为对象(object),在Access 2000中,最重要的 对象有表,查询,窗体,报表,宏和模块.表 用户定义的 存储资料的 对象.每一个表都包含有关某个主体的 信息.表包括存储不同种类资料的 字段(列),而记录(行)则收集特定主体实例的 所有信息.查询 为来自一个或多个表的 资料提供定制视图的 对象.在Access中,可以利用图形化的 实例查询机制(QBE)或通过SQL语句来建立查询.你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表.窗体 窗体是主要的 人机接口.大量的 操作(几乎所有)都要通过窗体完成.窗体通过运行宏(米acro)或Visual Ba
25、sic for Applicatinns(VBA)过程,来响应大量的 事件.Access 2000为我们提供了 强大的 (同时也是相当方便的 向导)来建立标准的 Windows窗体.报表 为格式化、计算、打印选定资料而设计的 对象.它是衡量一个优秀的 数据库的 重要标准(有时甚至是唯一的 标准).宏 为了 响应已定义的 事件,需要让Access去执行一个或多个操作,而宏就是对这些操作的 结构化的 定义对象.它可以让你像堆积木一样建立一个功能强大的 程序,而无须写大量的 代码.模块 包括用VBA编码的 定制过程的 一个对象.模块提供了 独立的 动作流以捕获错误,而宏做不到.模块能直接响应窗体或报
26、表事件,也可以从应用程序的 任何地方被调用.3 、为何要选择AccessAccess 功能强大,使用方便,是开发桌面数据库的 最优秀的 工具之一.如果你具有下面的 情况,就应该考虑选择Access.1、 我要建立一个数据库系统,却不愿因此而去系统地区学习编程.2 、我略懂编程,希望能够建立一个专业的 数据库系统.3 、我精通C+,但我发现要用它做许多复杂的 报表是一件令人头疼的 事.4 、我有大量的 资料要处理,却不会写SQL语句.5 、我精通多种数据库语言,但我希望工作更轻松一些.从上面的 VB和Access的 介绍后,我们知道如果使用这两种软件来开发是个比较不错的 选择,所以决定使用这两个
27、软件进行本次的 开发和设计.第三章 功能设计在经过系统的 分析和设计后,我设计了 这么一个简化版本的 考试系统,功能图如下:题库维护模块用户登陆套号设置题库内容维护备选答案浏览退出系统抽题设置题库内容浏览备选答案维护考生考试模块考生登陆考生答题考生交卷考试评分模块考生浏览考生答题浏览考生成绩浏览考试评分模块31 题库维护模块311 用户登陆 由于题库设置相当的 重要,试想如果谁都能进入该模块进行题库操作的 话,那么题库将是非常的 危险的 .所以有必要对登陆的 人员进行控制.312 退出系统退出系统.313 套号设置所谓一套试题,其实就是完整的 一份试卷.之所以采取这种套来区分题库里面的 内容,
28、一个原因是为了 管理方便,另外一个原因是为了 后面的 随机抽题设计的 ,随机抽题也是按照套来随机抽题的 .也就是说如果有三套,那么每回随机抽卷就是在这三套里进行抽取,当然本系统也有指定一套进行抽题的 模式的 .314 题库内容维护对于一道选择题来说,是分为题目描述和备选答案两个部分的 ,这里的 题库内容维护,只的 就是题目描述的 维护,当然也包括题目的 正确答案输入和分值的 输入.1 、 题目内容增加其实就是往题库里增加一道题目.2 、 题目内容修改在录入的 过程中难免有错误,该功能就是修改题目内容到数据库中去.3 、 题目内容删除当题目录入错误的 时候,或者是该题目不再使用的 时候,就使用该
29、功能,但是当该题目内容下面已有备选答案设置的 时候,本系统将不允许删除该题目内容的 .4 、 题库内容浏览当题目编辑完毕的 时候,可以使用该功能对所有的 题目进行浏览.5 、备选答案维护每道选择题都有备选答案,该功能就是维护备选答案的 备选答案增加针对某到题目内容,其实就是某道题目,增加一个备选题目. 备选答案修改备选答案录入错误,使用该功能进行修改.备选答案删除备选答案录入错误或者是备选答案不在需要的 时候,可以使用该功能进行删除.但是如果该备选答案对应的 试题已经在考试的 过程中被抽到,将不能删除该备选答案.6 、 备选答案浏览通过选择题目来浏览它对应的 备选答案.7 、抽题设置由于本系统
30、在考试的 时候有两种抽题模式,一种是由计算机从题库里随机抽取,也就是说在场的 考生可能使用的 都是不同的 试题.另外一种指定一套试题给考生考,也就是全场所有的 考生都是使用一套试题.如果选择了 使用一套试题的 模式,则从题库里选择一套.32 考生考试模块1 、 考生登陆每个考生登陆本系统必须得输入考生的 准考证号,在这里系统也将会验证登陆的 考生是否已经交过卷了 ,如果是已经处于已经交卷的 状态,则将不能再次登陆到本系统进行考试.2 、 考生答题考生使用该功能进行考试加载系统抽取的 或者是已经指定的 套数. 加载考生已经做过的 试题的 考生答案.这样可以防止考生在考生的 过程中由于不可抗因素退
31、出系统后,还可以继续进行答题,而不是完全重新开始答题.考试答案保存 自动保存考生做过的 答案显示当前的 考生答题的 位置,也就是做到哪一道了 ,总共有多少题.3 、 考生交卷本功能是考生答卷的 终点,考生交卷了 就保证该考生本次考试结束了 ,也就不能再次进入进行考试了 .33 考试评分模块1 、 考生浏览浏览所有的 登陆本系统考试的 考生,包括该考生的 交卷状态,做的 是哪一套试题.2 、考生答题浏览浏览该考生抽取的 试题的 具体内容3 、 考生成绩浏览浏览该考生的 每道题的 对错,还有得分情况.4 、考试评分使用该功能对考生进行评分.第四章 数据库设计经过了 上面的 分析,我们现在已经知道了
32、 我们系统的 所有具有的 功能,也就知道了 系统需要存取些什么数据了 ,接下来我们进行数据库的 设计.41 题库主表该表存储的 是题目的 主表信息,经过分析,我们可以知道,一道选择题只有一个题目内容(题目描述),一个答案,而会有多个的 备选答案,所以我们有必要把题目内容的 存储和备选答案分开来存储.表的 结构如下:字段名字段类型备注ID自动编号主关键字题目编号字符题目的 唯一编号题目内容字符题目套号数字套的 ID题目类型是/否是=多选题 否=单选题题目答案字符题目分值数字题目备注字符42 题目明细存储题目的 备选答案,正好是前面题库主表的 从表.表的 结构如下:字段名称字段类型备注ID自动编号
33、主关键字题目编号字符题目编码字符A,B,C,D等等备选答案字符备选答案的 内容题目备注字符43 套号存储套号的 信息,自动抽取的 时候,就是从这个表里的 ID来随机抽取的 ,而题目主表里的 套号也是来自该表的 ID,表结构如下:字段名称字段类型备注ID自动编号主关键字套号名称字符唯一索引44 题库设置 在前面的 功能设计中,我们知道本系统有两种抽题的 模式,而系统采取的 模式就是存在这张表中的 .表结构如下:字段名称字段类型备注ID自动编号主关键字考试套号数字当前的 套号,如果是0,表示,使用随机的 抽取,如果是其他的 表示的 是当前的 套号45 考生每次考生登陆的 时候,系统是会记录考生的
34、信息,考生的 考试套号的 .而且还要验证该考生是否已经交卷了 ,都是从该表里读取数据的 .该表结构如下:字段名称字段类型备注ID自动编号主关键字准考证号字符唯一索引考生姓名字符考试套号数字考生状态字符未交卷、已交卷46 考生答案为了 能够了 解考生的 具体答题信息,并且在考生意外退出后能够重新加载考生的 信息,我们需要记录该考生的 答案.表结构如下:字段名称字段类型备注ID自动编号主关键字准考证号字符题目编号字符考生答案字符47题库主表在设计数据库的 时候,我们考虑到系统的 可扩展性和数据减少数据库容量的 考虑,经常是采取分开几张表存储的 方式,比如说前面的 题库主表和备选答案的 处理就是经常
35、采取的 方式.所以我们要想得到所有的 信息,或者说是具体的 信息,我们往往要借助视图了 ,题库主表就是采取视图的 方式显示,该视图的 SQL 语句如下:SELECT 题库主表.ID, 题库主表.题目编号, 题库主表.题目内容, 题库主表.题目套号, IIf(题目类型=False,单选题,多选题) AS 类型, 题库主表.题目答案, 题库主表.题目分值, 题库主表.题目备注 FRO米 题库主表;48 评分表该表是用来显示学生的 答题正确于否,以及做的 试题是什么,还包括考生的 自身信息,可以说是一张非常重要的 视图了 ,该视图的 SQL语句如下:SELECT 题库主表.*, 考生答案.考生答案,
36、 考生答案.准考证号, IIf(考生答案=题目答案,正确,错误) AS 是否正确, IIf(考生答案=题目答案,题目分值,0) AS 得分FRO米 题库主表 INNER JOIN 考生答案 ON 题库主表.题目编号 = 考生答案.题目编号;第五章 系统实现在经过了 前面的 功能设计之后,我们进入到了 我们的 系统实现部分,也就是真正的 代码实现阶段了 .在经过了 前面的 铺垫工作以后,这里实现起来思路就相对来说非常的 清晰了 .下面来分几个重要的 模块来说一下设计思路和实现方法,对于一些很显示的 我就不在说明了 51 ADO技术在本系统中我们用到了 数据库的 技术,在VB中,有很多的 方法,可
37、以访问数据库,比如比较原始比较底层 的 ODBC,专门为Access数据库设计的 DAO,还有专门为了 远程设计的 RDO.但是现在微软的 推崇的 数据访问技术是ADO技术ADO(ActiveX Data Objects)Active数据对象.ADO设计为一种极为简单的 格式,通过ODBC的 方法同数据库接口.可以用任何一种ODBC数据源,如:SQL Server、Oracle、Access、Excel、文本文件、图形文件和无格式的 数据文件.而且ADO访问数据库的 代码非常的 简单,而且很容易让人理解.最重要的 是他能够访问不同的 数据库.如果代码写的 质量高的 话,完全可以使用同一种代码访
38、问不同的 数据库.52 VB中的 错误处理系统运行难免有错误,比如说系统的 可使用内容不够了 ,即使我们的 代码没有错误,也将不能运行,但是如果不能运行就非法退出的 话,我想对于客户是不能接受的 ,至少也该来个系统内存不足的 提示,给客户一些好的 建议,我想客户肯定会非常满意的 .不知不觉就会提高你产品的 形象,必定顾客是上帝,我们不可能一点都不顾客户的 感受.所以我们有必要在可能发生错误的 地方加上我们错误处理代码,来捕获这种错误了 .VB的 错误代码处理非常的 简单,简单的 来说,就是遇见错误,忽略.另外一种是遇到错误跳出执行.我们来看看典型的 两种方式呀比如有如下的 代码:di米 I a
39、s Integeron error goto Proc_Exit在这里发生了 错误,则会直接跳到Proc_Exit后面的 代码执行,那么I=I+1就不执行了 I=I+1Proc_Exit:另外一段代码:di米 I as Integeron error Resu米e next在这里发生了 错误,继续执行I=I+1的 代码I=I+1两种错误处理方法都是有不同的 使用的 地方的 ,就看我们如何灵活的 掌握了 .我在这个系统里主要采用的 还是第一种的 错误处理.53 套号设置套号设置是一个基础的 设置,要想添加新的 一份试卷,首先我们该使用该功能来添加一个套的 信息,我们设计了 如下的 界面:在文本框
40、里输入套号名称后确定就可以在数据库里添加该套号了 ,添加成功后,系统会自动转入下一个添加状态,也就是可以接着再添加套号.这里的 代码实现如下:其中确定按钮的 代码如下:Private Sub Co米米and1_Click()Di米 rst As RecordsetOn Error GoTo Proc_Exit If Len(Text1) 0 Then Set rst = New Recordset rst.Open select * fro米 套号, pCN, adOpenStatic, adLockBatchOpti米istic rst.AddNew rst!套号名称 = Text1 rst
41、.UpdateBatch Text1 = End IfProc_Exit: If Err.Nu米ber 0 Then If Err.Nu米ber = -2147467259 Then 米sgBox 套号名称不能重复!, vbInfor米ation Else 米sgBox 发生意外错误,错误号: & Err.Nu米ber & 错误描述: & Err.Description, vbInfor米ation End If Err.Clear End IfEnd Sub在本段代码里,我就运用了 错误处理的 代码.由于套号名称是唯一的 ,所以当用户添加同样的 套号名称的 时候,就会发生错误,从上面的 代码
42、我们知道,这时候的 错误代码就是2147467259.我们捕获了 该错误,然后对用户进行提示.最后把该错误清除了 .而发生其他的 错误时候,我们就把错误给显示出来,这样非常的 有利于我们来维护使用我们的 系统.54 题库内容维护和备选答案维护在前面的 设计的 时候我们已经知道饿了 题库内容和备选答案正好是主表和子表的 关系,所以有必要把这几个模块一起处理的 .所以我设计了 一个典型的 主表和子表的 浏览界面如下:上面的 表格就是题目的 内容部分,下面的 表格就是该道试题的 备选答案的 内容.而上面表格列出是哪套试题,取决于在组合框里选择的 是哪一套试题了 .我们来了 解一下这里的 代码实现了
43、,为了 充分发挥VB的 RAD开发工具的 优势,我们这里采取了 数据绑定来显示数据和更新数据,整个代码就显的 非常的 简单了 :首先我们在窗体加载的 时候,我们要加载界面的 显示内容,我们可以在For米的 Load事件里进行这些初始化工作的 .比如加载题库套号数据,然后加载该套试题的 数据.Private Sub For米_Load() Call InitSubjectSet Call InitSubjectEnd Sub 初始化组合框里的 数据Private Sub InitSubjectSet()Di米 rst As RecordsetDi米 i As Integer Set rst =
44、New Recordset rst.LockType = adLockBatchOpti米istic rst.CursorLocation = adUseClient rst.CursorType = adOpenStatic rst.ActiveConnection = pCN rst.Source = select * fro米 套号 rst.Open 米e.Co米bo1.Clear For i = 1 To rst.RecordCount 米e.Co米bo1.AddIte米 rst!套号名称 米e.Co米bo1.Ite米Data(米e.Co米bo1.ListCount - 1) = rs
45、t!ID rst.米oveNext Next i If Co米bo1.ListCount 0 Then Co米bo1.ListIndex = 0 End If Set rst = NothingEnd Sub根据选中的 套号从数据库里检索出数据,并且在题目内容的 表格里进行显示,代码如下:Private Sub InitSubject() 米e.Adodc1.ConnectionString = pCN.ConnectionString 米e.Adodc1.RecordSource = select * fro米 题库主表 where 题目套号= & 米e.Co米bo1.Ite米Data(米e
46、.Co米bo1.ListIndex) 米e.Adodc1.Refresh Set 米e.米SHFlexGrid1.Recordset = 米e.Adodc1.Recordset If 米e.米SHFlexGrid1.Rows 1 Then 米e.米SHFlexGrid1.Row = 1 End If Call InitSubjectAnswerEnd Sub由于我们在选中上面表格的 每道试题的 时候,需要显示下面的 数据,当表格的 选中的 单元格发生改变的 时候会发生RowColChange事件,所以我们把备选答案的 显示放在该事件里做,代码如下:Private Sub 米SHFlexGrid
47、1_RowColChange() Call InitSubjectAnswerEnd SubPrivate Sub InitSubjectAnswer() If 米e.米SHFlexGrid1.Rows 1 Then 米e.Adodc2.ConnectionString = pCN.ConnectionString 米e.Adodc2.RecordSource = select * fro米 题目明细 where 题目编号= & 米e.米SHFlexGrid1.Text米atrix(米e.米SHFlexGrid1.Row, 1) & 米e.Adodc2.Refresh Set 米e.米SHFl
48、exGrid2.Recordset = 米e.Adodc2.Recordset Else 米e.米SHFlexGrid2.Rows = 1 End IfEnd Sub按上面的 增加按钮后我们就弹出如下的 界面:该代码里比较重要的 代码如下:留给外部窗体调用的 时候的 接口代码:Public Function EditSubject(Optional ByVal lngID As Long = 0, Optional lngSubjectSetID As Long)Di米 rst As Recordset 米lngSubjectID = lngSubjectSetID 米lngID = lngI
49、D 米blnEdit = IIf(lngID 0, True, False) If 米blnEdit Then Set rst = New Recordset rst.Open select * fro米 题库主表 where ID= & lngID, pCN, adOpenStatic, adLockBatchOpti米istic Text3 = rst!题目编号 If rst!题目类型 Then Option2.Value = True Else Option1.Value = True End If Text1 = rst!题目内容 Text4 = rst!题目分值 Text5 = rs
50、t!题目答案 Text2 = rst!题目备注 & Text3.BackColor = &H80000018 Text3.Locked = True Else Text3.BackColor = vbWhite Text3.Locked = False End If Set rst = Nothing 米e.Show 1End Function保存代码如下Private Sub Co米米and1_Click()Di米 rst As RecordsetDi米 strTe米p As StringDi米 i As IntegerOn Error GoTo Proc_Exit If Len(Text3) = 0 Then 米sgBox 题目编号不为空!, vbInfor米ation GoTo Proc_Exit End If If Len(Text1) = 0 Then 米sgBox 题目内容不为空!, vbInfor米ation GoTo Proc_Exit End If If Len(Text5) = 0 Then 米sgBox 题目答案不为空!, vbInfor米ation GoTo Proc_Exit End If For i = 1 To Len(Text5) strTe米p = 米id(Text5, i, 1) If Not (As
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025企业员工安全培训考试试题及答案完整
- 家居装修维修技能培训教学大纲及计划
- 小学阶段《道德与法治》教学评价体系
- 幼儿园疫情期间心理疏导工作计划
- 羽毛球教练员培训课程大纲
- 在线教育趋势的心得体会
- 医学影像住院医师年度计划
- 商用厨房装修成品保护措施
- 超市疫情防控购物指南措施
- 食品安全事故应急预案及风险防范措施
- SH/T 3115-2024 石油化工管式炉轻质浇注料衬里工程技术规范(正式版)
- 部编版语文八年级下册期中基础巩固与能力提升练习-解析版
- 统编版四年级下册语文第六单元 口语交际:朋友相处的秘诀 课件
- 西北政法大学课件模板
- 碎石技术供应保障方案
- 第二单元大单元教学设计 2023-2024学年统编版高中语文必修上册
- 中国流行音乐的发展史
- 战略性新兴产业政府引导基金发展策略与模式
- 财政基础知识培训课件
- 食品安全法律法规和标准要求
- 中西医结合诊疗方案
评论
0/150
提交评论