自动出题题库系统论文.docx

上传人:b****6 文档编号:7973389 上传时间:2023-01-27 格式:DOCX 页数:20 大小:344.69KB
下载 相关 举报
自动出题题库系统论文.docx_第1页
第1页 / 共20页
自动出题题库系统论文.docx_第2页
第2页 / 共20页
自动出题题库系统论文.docx_第3页
第3页 / 共20页
自动出题题库系统论文.docx_第4页
第4页 / 共20页
自动出题题库系统论文.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

自动出题题库系统论文.docx

《自动出题题库系统论文.docx》由会员分享,可在线阅读,更多相关《自动出题题库系统论文.docx(20页珍藏版)》请在冰豆网上搜索。

自动出题题库系统论文.docx

自动出题题库系统论文

摘要

题库管理系统是信息管理系统,其开发的功能主要包括:

通过计算机管理题库档案,过强大的查询和索检高效的索检出数据,提高办事效率。

使用MICROSOFT公司的ACCESS作为后台数据库,设计数据库,使用MICROSOFT公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,使用ADO控件连接数据库,开发出产品。

关键字:

ADO、窗体、数据库。

 

目录

摘要………………………………………………………………………………………1

第一章绪论……………………………………………………………………………1

一.前言………………………………………………………………………………1

二.设计系统的必要性和可行性…………………………………………………2

第二章怎样开发一个题库管理系统?

………………………………………………3

一.编程环境的选择………………………………………………………………3

二.关系型数据库的实现…………………………………………………………4

三.ADO接口使用…………………………………………………………4

第三章Windows下的VisualBasic编程环境简介………………………………10

一.VB连接数据库的各种方法………………………………………………10

第四章需求分析阶段……………………………………………………………19

一.系统功能模块……………………………………………………………19

二.系统数据分析……………………………………………………………19

三.系统的逻辑模型………………………………………………………22

第五章系统总体规划…………………………………………………………………22

一设计思想…………………………………………………………………22

二.前期设计………………………………………………………………………23

第六章系统具体实现…………………………………………………………………25

一.用户界面的实现………………………………………………………………25

二.数据库的实现…………………………………………………………………28

三.与VB的连接…………………………………………………………………29

第七章结束语…………………………………………………………………………30

主要参考文献……………………………………………………………………………31

致谢………………………………………………………………………………………32

附录………………………………………………………………………………………33

 

第一章绪论

一.前言

   一个学校,题库管理是学校一项重要工作。

 题库管理无论是哪个学校都要进行的工作。

计算机管理题库档案,日常办公,实现无纸化办公,分析题库现状通过强大的查询和索检高效的索检出数据,提高办事效率。

 

因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套题库管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。

二.设计系统的必要性与可行性

题库管理的设计分析

通过数据库技术分析数据库中的题库基本信息,达到管理的目的

1建立数据库,题库基本资料就存放在其中

2把,题库的全部资料输入数据库

3用VB开发出应用程序连接数据库

根据实际情况,我们使用ADO控件少量代价快速地构造一个可执行的软件系统模型。

使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。

此时模块也发展成为最终产品了。

第二章怎样开发一个题库管理系统

怎样开发一个题库管理系统?

一.编程环境的选择

微软公司的VisualBasic6.0是Windows应用程序开发工具,使目前最为广泛的,易学易用的面向对象的开发工具。

VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

故而,实现本系统VB是一个相对较好的选择。

二.关系型数据库的实现

Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。

Access的优点在于它能使用数据表示图或自定义窗体收集信息。

数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。

另外,Access允许创建自定义报表用于打印或输出数据库中的信息。

Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。

Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。

如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。

三.ADO接口使用

微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及VisualBasic来访问数据库并对其进行各种操作。

VisualBasic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。

ADO控件在数据库中的信息与将信息显示给用户看的VisualBasic程序之间架起了一座桥梁。

我们可以设置ADO控件的各个属性,告诉它要调用那个数据库的哪个部分。

缺省情况下,ADO控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。

一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。

ADO控件还提供了用来浏览不同记录的各种跳转按钮。

将ADO控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。

ADO(ActiveXDataObjects)是基于组件的数据库编程接口,它是一个和编程语言无关的COM组件系统。

本文主要介绍用ADO编程所需要注意的技巧和在VC下进行ADO编程的模式,并对C++Extensions进行了简单的讨论,希望对ADO开发人员有一定的帮助作用。

因为ADO是一个和编程语言无关的COM组件系统,所以这里讨论的要点适用于所有的编程语言和编程环境,比如:

VB、VBScript、VC、Java等等。

    对于ADO其中对象来说,我觉得比较重要的是:

Command,Connection,Recordset对象.

    虽然严格的说这是不准确的,但根据我的实际经验确实如此.下面就分别来谈一下.

    

(1)Connection对象

    Connection对象用于建立与数据库的连接.通过连接可从应用程序访问数据源.它保存诸如指针类型,连接字符串,查询超时,连接超时和缺省数据库这样的连接信息.

    

(2)Command对象

    在建立Connection后,可以发出命令操作数据源.一般情况下,Command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询.Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用.

    (3)Recordset对象

    Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集.在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的.Record对象用于指定行,移动行,添加,更改,删除记录.

    下面就具体地说说如何用ADO存取数据:

    在实际编程过程中使用ADO的一个典型的存取数据的步骤为:

  

(1)连接数据源

  

(2)打开记录集对象

  (3)使用记录集

  (4)断开连接

ADO定义了一个可编程的对象集合.ADO对象模型如图所示:

   

第三章Windows下的VisualBasic编程环境简介

 

 Visual Basic(简称VB)是一种可视化的、事件驱动型的Windows应用程序开发工具,它在GUI设计、绘图、制表、运算、通信和多媒体开发方面都具有简单易行、功能强大等优点,所以越来越受到开发人员的亲睐。

同时,VB在数据库开发方面也具有Foxpro所远不能及的强大功能。

VB能够读取和访问Access、Excel、DbaseX、Foxpro、Btrieve和ODBC等多种数据库,并能利用VB自身所带的数据库引擎创建Access数据库。

所以VB在管理信息系统(MIS)的开发和建设方面得到了是益广泛的应用。

现在,笔者就VB应用数据库的一些方法作一简单的介绍。

    VB访问数据库通常有三种途径:

第一,通过数据库控制控件Data Control访问;第二,通过VB提供的数据库对象变量编程访问;第三,通过ODBC接口访问ODBC API函数。

在这三种方法中,第一种方法操作起来最方便、灵活、易于掌握,同时也最能体现Visual Basic面向对象的特色,故这里以Foxpro2.5的数据库为例,介绍数据库控制控件(Data Control)访问数据库的方法与步骤:

一.在Form窗口中加入Data Control控件

    用鼠标在工具窗口的Data Control控件按钮上双击左键,该对象即出现在Form窗口的中间(控件名为Data1),用鼠标调整好控件的大小及位置。

如工具箱中无此控件,可打开主菜单的Tools/Custom,在列表中选中Microsoft Data Control复选框,确认后即可将此控件加入到工具箱中去。

二.设置联接库

    用鼠标单击Data1,按下F4,打开属性窗口,设置Connect属性为Foxpro2.5,设置DatabaseName 为c:

\foxprow\student.dbf(假设磁盘上已有这个文件)。

三.加入字段显示、编辑控件(数据库捆绑控件)

    在Form窗口中加入DGrid控件,如不在此控件,可打开主菜单Tools/Custom,在列表中选择Apex Data BroundGrid复选框,确认后即可向工具箱中加入此控件。

在Form窗口中单击选中此控件(DGrid1),按下F4打开属性窗口,设置Datasource属性为Data1,在Form窗口中用鼠标右键单击控件DGrid1,选择 Retrieve Fields;再用鼠标右键单击控件DGrid1,选择Edit,用鼠标调整控件及有关字段大小;再用鼠标右键单击控件DGrid1,选择Properties(属性),在弹出窗口中,选择Colums标签,在下拉列表中选Colum1,将Caption属性改为“学号”,选择Colum2,Caption属性改为“姓名”,选择Colum3、4将Caption属性改为“性别”、“专业”,按下“确定”按钮。

    再向Form窗口中加入一个按钮控件,将Caption属性设置为“退出”,双击该控件(Command1),在代码窗口中写入“END”,存盘。

    此时,一个具备数据库读写、浏览功能的应用程序就建立了,按下F5运行,通过单击Data1的各按钮即可看出当前记录的变化情况。

    除此之外,数据库控制控件还有Bookmark、RecordCount等许多属性与方法,能对数据库进行各种方便的操作。

    由此可见,数据库控制控件具有数据库操作方面的强大功能。

另外,数据库控制控件的RecordSource 属性可用一个SQL语句赋值,以此来有效地调用SQL语句,从而发挥SELECT语句强大的功能,更使数据库控制控件(Data Control)锦上添花。

关闭所有的数据连接 

    如果在代码中使用了数据控件如 DAO, RDO, 或 ADO, 在退出时应该关闭所有打开的 recordset, database,和 workspace 。

 虽然对象能自动注销, 但是数据连接不会马上断开, 可能会导致一些内存不能被系统重新分配。

第四章

需求分析阶段

一.系统功能模块

1流程图

 

口令不正确

 

口令正确

 

主菜单

 

操作

界面

自动出试卷

打印试卷

退出

用户管理

查询题目

手动出试卷

题库登记

设定科目

设定类型

1基础数据:

对题库的基础数据进行编辑、和查询管理

2设定类型:

对实验题库的试题类型进行设定。

3设定科目:

对实验题库的试题科目进行设定。

4出试卷:

对进入题库的记录进行出卷。

5查询:

对各个表进行查询

6打印:

打印出记录,以备分析

二.系统数据分析

1、数据录入和处理的准确性和实时性

数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。

数据的输入来源是手工输入。

手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。

在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。

2、数据的一致性与完整性

由于系统的数据是共享的,在不同的题库类别中,题库是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。

要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。

对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。

3、数据的共享与独立性

整个题库发布系统的数据是共享的。

然而,从系统开发的角度上看,共享会给设计和调试带来困难。

因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。

这样,也能提供系统的强壮性。

 

三系统的逻辑模型

第五章系统总体规划

系统功能

一.系统的设计思路

1应用程序设计结构

1建立数据库,基本资料就存放在其中

通过Access建立数据库

2用VB开发出界面连接数据库

使用ADO控件的连接数据库,通过DATAGRID和TEXT显示出来。

.3在应用程序中用查询和统计等手段对数据库的资料进行处理,得到有效的数据,分析管理情况,得出结论和措施,然后就可以通过措施,达到管理提高效率的目的。

具体是具体实现办法

    

(1)连接数据源

    利用Connection对象可以创建一个数据源的连接.应用的方法是Connection对象的Open方法.

    语法:

    Connection对象.OpenConnectionString,UserID,PassWord,OpenOptions

    其中:

    Connection对象为你定义的Connection对象的实例;

    ConnectionString为可选项,包含了连接的数据库的信息;

    UserID可选项,包含建立连接的用户名;

    PassWord为可选项,包含建立连接的用户密码;

    OpenOptions为可选项,假如设置为adConnectAsync,则连接将异步打开.

    

(2)打开记录集对象

    实际上记录集返回的是一个从数据库取回的查询结果集.因此他有两种打开方法:

一种使用记录集的Open方法,另一种是用Connection对象的Execute方法.

    (a)记录集的Open方法

    语法:

    Recordset.OpenSource,ActiveConnection,CursorType,LockType,Options

    其中:

    Recordset为所定义的记录集对象的实例.

    Source可选项,指明了所打开的记录源信息.可以是合法的命令,对象变量名,SQL语句,表名,存储过程调用,或保存记录集的文件名.

    ActiveConnection可选项,合法的已打开的Connection对象的变量名,或者是包含ConnectionString参数的字符串.

    CursorType可选项,确定打开记录集对象使用的指针类型.

    LockType可选项确定打开记录集对象使用的锁定类型.

    (b)Connection对象的Execute方法

    语法:

    Setrecordset=Connection.Execute(CommandText,RecordsAffected,Options)

    参数说明:

    CommandText一个字符串,返回要执行的SQL命令,表名,存储过程或指定文本.

    RecordsAffected可选项,Long类型的值,返回操作影响的记录数.

    Options可选项,Long类型值,指明如何处理CommandText参数.

    介绍完了如何打开数据库下面说说怎么使用吧.

    (3)使用记录集

    (a)添加新的记录:

    在ADO中添加新的记录用的方法为:

AddNew它的语法为:

    Recordset.AddNewFieldList,Values

    Recordset为记录集对象实例

    FieldList为一个字段名,或者是一个字段数组.

    Values为给要加信息的字段赋的值,如果FiledList为一个字段名,那么Values应为一个单个的数值,假如FiledList为一个字段数组,那么Values必须也为一个个数,类型与

    FieldList相同的数组.

    再用完AddNew方法为记录集添加新的记录后,应使用UpDate将所添加的的数据存储在数据库中.不过你最好在用UpDate方法之前使用CancelUpdate方法来取消该项操作.

    (b)修改记录集

    其实修改核对记录集中的数据重新赋值没有什么太大的区别,只要用SQL语句将要修改的字段的一个数据找出来重新赋值就可以了.这里不再细说了.

    (c)删除记录

    在ADO中删除记录集中的数据的方法为:

Delete方法,这与DAO对象的方法相同,但是在ADO中它的能力增强了,可以删掉一组记录了.

    它的语法如下:

    Recordset.DeleteAffectRecords

    其中的,AffectRecords参数是确定Delete方法作用的方式的,它的取值如下:

    adAffectCurrent只删除当前的记录

    adAffectGroup删除符合Filter属性设置的那些记录.为了一次能删除一组数据,应设置Filter属性.

    (d)查询记录

    在ADO中查询的方法很灵活,有几种查询的方法.

    ●使用连接对象的Execute方法执行SQL命令,返回查询记录集.

    ●使用Command对象的Execute方法执行CommandText属性中设置的SQL命令,返回查询记录集.

    第一个方法的具体语法在前面数据连接时已经介绍过了,下面就第二方法具体说一下.

    Command对象的Execute方法的语法如下:

    Command.ExecuteRecordsAffected,Parameters,Options'不返回记录集

    或者SetRscordset=cmmnad.Execute(RecordsAffected,Parameters,Options)'返回记录集

    CommandText的语法为:

    Command.CommandText=stringvariable

    其中:

stringvariable为字符串变量,包含SQL语句,表名或存储过程.

    (4)断开连接

    在应用程序结束之前,应该释放分配给ADO对象的资源,操作系统回收这些资源并可以再分配给其他应用程序.

    使用的方法为:

Close方法.

    语法如下:

    Object.Close'Object为ADO对象

二.系统的技术要点

1多用户登陆问题

a建立模块,Module1

b在模块中申明变量Publicuser

c在数据库建立用户表,存放用户名和密码,然后输入多个用户

d通过ADO代码连接到数据库。

E通过SQL语句判断是否用户数据库有。

F如果没有则退出。

G如果有通过SQL语句判断是否密码正确。

H如果正确则发送数据库的该用户名到公共变量user=myrs("user")

I通过变量决定各个用户的权限。

2出试卷

手动出试卷

将题库的一个字段设为是否出试卷。

然后通过SQL语句筛选出记录,形成出试卷库。

SELECT*FORMTKWHERE是否出卷=“是”

自动出试卷

获得随即数,然后自动出题

nb=myrs3.RecordCount

rdnb=Int((nb)*Rnd())'获得随机数

myrs3.Moverdnb

t1=CStr(myrs3("编号"))

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

myrs2.Open"insertintosjselect*fromtkgl2where编号='"+t1+"'",mycn,adOpenKeyset,adLockOptimistic

myrs3.Delete

myrs3.MoveFirst

3多级查询问题

单级查询使用SELECT*FORMTKWHERE字段=SS

多级查询使用SELECT*FORMTKWHERE字段1=SSAND字段2=SS2

第五章

系统具体实现

首先建立模块,用来存放公共变量

Publicuser

一.用户界面的实现

1.登陆界面

在工程引用ADO2.0。

在命令按钮单击写下连接数据库USER表的判断语句

PrivateSubCommand1_Click()

mname=Text1.Text

pass=Text2.Text

DimmycnAsNewADODB.Connection

DimmyrsAsNewADODB.Recordset

Setmyrs=NewADODB.Recordset

mycn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=kygl.mdb;"

myrs.Open"SELECT*FROM[user]where(user.user)='"+mname+"';",mycn,adOpenKeyset,adLockOptimistic

Ifmyrs.BOF=TrueAndmyrs.EOF=TrueThen

MsgBox"查无此人",,"登陆信息"

Else

Ifmyrs("pass")=passThen

'''''''''''''''''''''''

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1