ASP在线试题库与答题系统方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

利用ASP和Access数据库制作局域网网上答题系统
信息社会对人的学历、素质要求越来越高,人们为了找到前途更好、收入更加诱人的工作岗位,必须通过各种各样的考试如注册会计师资格考试、司法资格考试等等,而各种各样的试题资料也应运而生,但所有的资料所共有的一个缺点就是使用上的不方便、不灵活、及效率不高,本网上答题系统正是为了弥补这些诸多不便而编制的、适合于局域网并能在单机上运行的系统,下面就详细介绍本系统的编制及使用方法。

一、界面
如图所示:
二、程序组成
本系统由Index. asp、Lkzk.asp、Save.asp、Db0.fun 四个小程序及Access数据库文件lkzk.mdb组成各程序的功能分别是:
1. Index. asp 是框架网页,负责导入Lkzk.asp、Save.asp两个子网页组成完整的程序页面。

2. Lkzk.asp 是随机出题答题的交互页面生成程序,主要完成随机选题、题目显示、答案输入及正确率、总答题数显示等功能。

3. Save.asp 完成答题正误判断、显示及成绩登记(按客户端IP地址)。

4. Db0.fun 包含打开Access数据库的多个函数(Lkzk.asp、Save.asp都用到的)。

5. lkzk.mdb Access数据库文件,由表“IP”和表“题库”组成。

表(IP)由编号字段ID(数字格式)、客户机地址字段IP(文本格式)、错误答案数字段nnn(数字格式)、正确答案数字段yyy(数字格式) 所组成;
表“题库” 由题号字段ID(数字格式)、单选多选标记字段dx(数字格式)、答案字段xz(文本格式)、试题容字段na(备注格式)所组成。

(注:试题容的选择部分必须为“A. …… B. …… C. …… D. ……” 格式)
--------------- Index. Asp-----------------
<html>
<head>
<title>网上司考试题库</title>
<frameset rows="87%,*" framespacing="0">
<frame name="top" src="lkzk.asp" scrolling="auto">
<frame name="bottom" scrolling="auto" marginwidth="0" marginheight="0"> <noframes>
<body>
<p>此网页使用了框架,但您的浏览器不支持框架。

</p>
</body>
</noframes>
</frameset>
</html>
--------------Lkzk.asp-------------
<!-- #include virtual="/lkzk/DB0.fun" -->
<%
Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")
Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库")
%>
<HTML>
<head>
<title>网上司考试题库</title>
</head>
<BODY >
<font size="4" color="#000080">司考试题库
<%
ClientIP = Request.ServerVariables("REMOTE_ADDR")
userIP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,"."))
rsu2.AbsolutePosition=userIP
Randomize
I=Fix(Rnd*1800)
rs.AbsolutePosition=I 1
%>
总第<%=CStr(I 6)%>题 <%'=rs("type")%>
<FORM Action=save.asp Method=GET target="bottom">
<INPUT Type=Hidden Name=AI Value="<%=I%>">
<HR>
<% s=rs("na")
x=InStr(s,"A.")
if rs("dx")=0 then
sx="单选"
end if %>
<%=Left(s,x-1)%> '显示除选择部分外的试题容
<font color="red">
<%=sx%> <BR> '显示是单选还是多选题
</font>
<% s=Right(s,Len(s)-x 1)
x=InStr(s,"B.") %> '以下开始显示复选框及选择部分
<INPUT Type=CheckBox Name=A Value="a">
<%=Left(s,x-1)%><BR>
<%s=Right(s,Len(s)-x 1)
x=InStr(s,"C.")%>
<INPUT Type=CheckBox Name=A Value="b">
<%=Left(s,x-1)%><BR>
<%s=Right(s,Len(s)-x 1)
x=InStr(s,"D.")%>
<INPUT Type=CheckBox Name=A Value="c">
<%=Left(s,x-1)%><BR>
<%s=Right(s,Len(s)-x 1)%>
<INPUT Type=CheckBox Name=A Value="d"> <%=s%>
<BR>
<INPUT Type=Submit Value="查看答案">
<a href="lkzk.asp" target="_self">继续做题</a> <BR>
<%if rsu2("nnn") rsu2("yyy")=0 then rsu2("yyy")=1 end if%>
正确率:<%=FormatNumber(rsu2("yyy")/(rsu2("nnn") rsu2("yyy"))*100, 2, True)%>%
总答题数:<%=rsu2("nnn") rsu2("yyy")%>
</form>
</font>
</BODY>
-----------------Save.asp-------------------
<!-- #include virtual="/lkzk/DB0.fun" -->
<%
Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")
Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库")
%>
<HTML>
<BODY >
<% I=CInt(Request("AI"))
rs.AbsolutePosition=I 1
ssx="错"
A=Replace( Request("A"), ", ", "" )
if A=rs("xz") then '判断答题正误
ssx="对"
end if
%>
<FONT Color=Red>
您答<%=ssx%>了 '显示答案正误等信息
</FONT>
试题库总第<%=CStr(I 1 5)%>题您的答案是:<%=A%>
参考答案是:<%=rs("xz")%>
<%
ClientIP = Request.ServerVariables("REMOTE_ADDR")
userIP=Right(ClientIP,Len(ClientIP)-InStrRev(ClientIP,".")) rsu2.AbsolutePosition=userIP
rsu2.Update
If ssx="对" then
rsu2("yyy") =rsu2("yyy") 1
End if
if ssx<>"对" then
rsu2("nnn") =rsu2("nnn") 1
End if
rsu2.Update '以下将正误结果记录于数据库表“IP”中
%>
</BODY>
</HTML>
--------------Db0.fun----------------
<% ' 以下为函数程序
'--------------------------------------------------- Function GetMdbConnection( FileName )
Dim Provider, DBPath
Provider = "Provider=Microsoft.Jet.OLEDB.4.0;"
DBPath = "Data Source=" & Server.MapPath(FileName)
Set GetMdbConnection = GetConnection( Provider & DBPath )
End Function
'---------------------------------------------------
Function GetMdbRecordset( FileName, Source )
Set GetMdbRecordset = GetMdbRs( FileName, Source, 2, "" )
End Function
'---------------------------------------------------
Function GetMdbStaticRecordset( FileName, Source )
Set GetMdbStaticRecordset = GetMdbRs( FileName, Source, 3, "" ) End Function
'---------------------------------------------------
Function GetConnection( Param )
Dim conn
On Error Resume Next
Set GetConnection = Nothing
Set conn = Server.CreateObject("ADODB.Connection")
If Err.Number <> 0 Then Exit Function
conn.Open Param
If Err.Number <> 0 Then Exit Function
Set GetConnection = conn
End Function
'---------------------------------------------------
Function GetMdbRs( FileName, Source, Cursor, Password )
Dim conn, rs
On Error Resume Next
Set GetMdbRs = Nothing
If Len(Password) = 0 Then
Set conn = GetMdbConnection( FileName )
Else
Set conn = GetSecuredMdbConnection( FileName, Password )
End If
If conn Is Nothing Then Exit Function
Set rs = Server.CreateObject("ADODB.Recordset")
If Err.Number <> 0 Then Exit Function
rs.Open source, conn, Cursor, 2
If Err.Number <> 0 Then Exit Function
Set GetMdbRs = rs
End Function
'---------------------------------------------------
%>
三、运行方法
本系统运行方法是先按文中所述格式制作好试题库文件Lkzk.mdb连同上列四个程序COPY至主机的WWW 的根目录中并执行http://主机IP地址/Index.asp即可进行答题。

(本程序在单机windows98 pws ODBC驱动及局域网windowsNT Server4.0 IIS4.0 ODBC 驱动环境下均测试通过,各用户可以根据具体情况对程序中的标题稍加修改制作自己的试题库系统,还可以对其进行扩充增加各类其它功能,在这里因篇幅关系就不再敷述,有关ODBC驱动的详细情况可参阅相关资料或给我来信mailto: intcom21cn. 。

用ASP开发试题库与在线考试系统(1)
摘要利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序。

它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入、修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题、组卷和改卷等繁重的工作量。

引言
现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。

显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。

随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。

人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。

例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。

为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!
一、基本简介
试题库与在线考试系统采用ASP、HTML、Frontpage2000/98、Javascript、
VBScript、Java编程语言、图形编辑与数据库等工具,通过基于WEB服务器
访问纯WEB页面,实现在线组卷与考试等各项相关的功能。

它是专门用于试题(卷)录入、查询、修改、删除、组卷和参加在线考试的ASP应用程序。

其最大的特点是开放性、方便性和灵活性。

主要是指一
般的用户不仅可以轻松地向题库添加、修改和查询试题(卷),而且还可以自
动新增科目并建立相应的数据表;它还允许用户根据自己的需求,从现有的
试题库中灵活地抽取各类试题,以组建适合于自身所需的试卷。

而且,自测
试卷的难易程度和形式以及各大题分数等都由用户根据需要确定。

考生通过
浏览器进行有效的身份验证登录后,输入正确的试卷编号,并要求在规定的
时间进行答题,当达到规定的时间后,系统将自动予以提交。

一旦考生做完
后便能立即看到预先记录在库中的标准答案和自己的平时成绩(正规考试试
卷不得随意更改以及答案将不及时提供),并且其答案和分数将被记入库中以
供审核和查阅,并作为成绩评估和试卷分析的历史数据;另外,还可完全由
计算机自动按照"难度系数"灵活、随机的抽取试题库中的各类试题组成各种
形式的试卷,其容会随着库中试题的改变而改变,不妨把它称之为实时的互
动的试卷。

用户对象主要是大、中、小学及职业学校等单位的教师及学生和企事业单位的教育部门(因企事业单位每年要对员工进行素质、安全教育与技能等
方面的培训及考试等)。

用ASP开发试题库与在线考试系统(4)
4.2.2、试卷结构
试卷一般包括客观题(判断题、单选题或多选题)和主观题(填空题、短文字题或长文字题),即一套试卷包括若干大题,每道大题包含若干小题。

但是,本系统的试卷目前只涉及客观题部分。

故大题数暂定为最多3道,小题数总和若干,而且,在此表中只存贮该科目试卷相应的试题编号,其试题容则在调用时到相应科目中查询获得。

4.2.3、用户、留言信息结构
A、超级用户:在此系统中有且仅有一个,即系统管理员。

他具有一般用户所没有的至高无上的权力,即具有删除用户、留言、试题以及试卷等信息的权力。

它不需注册,在数据库没有它的任何相关信息,但可由管理员自己更改用户名和密码。

确保万一数据泄密而造成系统的危害。

B、一般用户:主要是指学校的教师及学生和企事业单位的教育部门等。

另外,所有用户可能会对我们的系统发表意见或相互之间答疑。

4.2.4、考生答案成绩表结构
实际考试日期可能因某种原因推迟考试而与试卷表中的考试日期有所不同。

因而,此表应与用户、试卷及试题库等多表相关联,关系比较复杂。

4.3、功能模块详细设计
下面,按照录入试题-出卷-进行考试等流程就各个模块分别进行详细讨论,具体情况见系统源程序及演示。

考虑到数据的保密与安全问题,凡进入系统的用户,必须先注册,然后通过验证才能进入。

否则,进入"SORRY"页面。

4.3.1、录入模块
许可的用户根据自身教学目的和要求,可以向库中添加各种类型且符合要求(对不符合的将给出提示和警告,并且不予保存!)的试题和试卷以及各自的意见与疑难问题等。

一旦添加成功,只有管理员才能删除。

①试题录入
首先,用户选择试题所属科目。

若下拉菜单中没有该科目,则点击右边的新增科目,即进入这一页面,只要输入新增科目详细名称(一般以一个学期修完为标准)和表名(最好由汉语拼音首字母组成),即可由系统根据已设定好的字段自动建立新的科目试题表。

返回、刷新一次页面,即可看到新增的科目名称。

而且,在本系统中其它需要选择科目的地方也会自动更新。

其次,每道试题有类型、难度系数、选自书籍及章节、试题容与答案和标准答案等栏目。

用户一一输入完(对于该试题不需要的答案项,则默认为"不填"),按"提交"后,即可看到预览效果。

如果输入不合法,或者该科题库中已有该试题编号和容等,则系统给出相应的提示或警告,以待更正。

②试卷录入
此子模块包括两个部分,即标识试卷的基本信息录入和手工组卷部分。

其基本信息有试卷编号、标题、套数、难度、科目名称、考试性质与日期等,而卷中试题将通过后面的手工组卷模块予以实现。

对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。

③用户留言
凡使用此系统的用户可能对我们的工作有许多良好的建议和意见,或者有一些疑难问题需要大家共同探讨的话,可以在此提出。

四、详细设计
4.1、试题(客观题部分)设计
在以往的考试中,判断题常常是通过画" ╳ "," "来判断;而单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;另外,多选题跟单选题在根本上没什么区别,只是供选的答案和标准答案多一些。

因而,本系统中所涉及的单选题和多选题跟过去的大体相同,主要不同在于把判断题巧妙地转化为只有两个选项的单选题,并且假设多选题一般情况下也是最多提供六个备选答案,标准答案至少有一个。

故各题型的样题设计如下:
判断题-->如:重发器也叫中继器: (A)错 (B)对
单选题-->如:HUB是指: (A)网桥 (B)集线器 (C)网关 (D)路由器
多选题-->如; Internet上使用的网络协议是: (A)IPX/SPX兼容协议 (B)TCP/IP协议(C)NetBEUI协议 (D)X.25协议(E)ATM LAN仿真用户 (F)快速红外线协议
4.2、数据库设计
4.2.1、试题结构
通常,每一类型的试题都应有一个表结构。

但考虑到目前系统存贮空间已经不受物理空间的限制。

因此,我们采用按科目而不按试题类型方案来建立数据表,更不把所有科目的全部试题集中在一起,只是每道客观题均有六个备选答案项,还有一个表用来记录各科目数据表的相关属性。

这样,查询起来较方便,可能会节约时间,也不致于造成数据十分杂乱等。

详细设计如下表所示:
说明:
1. 按科目(一般以1个学期为标准)分别定义各表,表名一律由中文名汉字拼音首字母构成。

例如,软件工程---RJGC;计算机网络---JSJWL;小学二年级上期数学---XXENJSQSX
2.字段名是指该字段的中文名
3.字符标识一般由中文名拼音首字母构成,外键字段最好与主表对应字段同名
4.若该字段为字符型,则对应的长度栏填最大允许长度,若为固定长度则加'定'字
5.若该字段可以为空,则对应的NULL栏填Y,否则不填
6.若该字段为主键,则对应的主键栏填Y,否则不填
科目数据信息表
字段名字符标识类型长度 NULL 主键说明
科目中文详细名称 KMMC CHAR 50 以中文为准,例如"计算机网络"
科目表名 KMBM CHAR 50 Y 一律由上面中文名拼音首字母构成,如"JSJWL"
录入者 LRZ CHAR 15 默认为录入员登入帐号
录入日期 LR_DATE DATE 10 默认为录入时的系统日期
备注 MEMO CHAR 50 Y
用ASP开发试题库与在线考试系统(5)
4.3.2、查询模块
系统中的所有用户均可检索试题、试卷、用户及留言等信息。

只是试题检索界面较复杂,但它已实现了多种条件的组合查询,非常适合于数量繁大的试题库。

而后三者相对来说比较简单,"默认"或"空白"的情况下,则按该表中的系统默认的字段显示其全部信息。

使用起来比较灵活、方便。

4.3.3、修改模块
用户除了只修改自己的部分资料(包括用户帐号、密码和E-Mail)外,还可修改试题及试卷,而留言则不许修改。

只要用户选择科目和输入编号,即可进行修改。

不过,对于各表中的主键不准修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。

如果用户执行了非法操作,则必须重新操作。

4.3.4、组卷模块
在组卷过程中,我们肯定会遇到有许多题目是关于同一个教学容的,这里称之为
关于同一考核点的试题。

因此,在组装一份试卷时,对于同一考核点的试题只能出一道题。

这里设计一种快速选题算法,该算法只需经一次比较,便可判定是否已选过该考核点的试题,且又可以有针对性地重点选取某个考核点的试题。

即每一道题都设有一个相关码,对于同一章、同一节、同一考核点的题,则相关码相同,显然,前面章节的相关码都要小于后面章节的相关码。

故在组卷时,同一试卷中不允许出现相关码相同的试题。

所以,在选题过程中每选出一题,就要与已经选出的题的相关码逐一进行比较,若该题的相关码与已选各题的相关码均不相同,则可将该题加入到试卷中,否则,放弃该题,重新进行选题。

下面,在只考虑最佳情况下,即每次选出的题都恰好是尚未选过的,每选一道题就要与已选出的各题逐一比较,假设已选出了M题,再选下一题时,则需比较M次,不妨设一份试卷的总题数为N,在最佳情况下,则总的比较次数为:
0,1,2,…N-2,N-1
即时间复杂度为O(N),这样,就可保证下面算法中选择出来的试题编号都合法。

用ASP开发试题库与在线考试系统(6)
基本算法:
{定义参数,获得整套试卷的共同限制参数,即包括输入必要条件得到必要参数和输入任选条件得到任选参数}
必要参数组合= A1 AND A2 ~~AND An;任选参数组合= B1 OR B2 ~~OR Bn;
大题数dts =3 '默认为3道大题;小题数xts=0 '默认为50道小题;
IF 无判断题 THEN dts=dts - 1 END IF '开始计算大题数
IF 无单选题 THEN dts=dts - 1 END IF
IF 无多选题 THEN dts=dts - 1 END IF
开始扫描相应科目的试题库,获得临时所有符合条件的试题预览,接着开始手工细选试题以生成试卷或计算机自动组卷。

IF 符合必要参数组合 THEN
SELCECT 任选参数
B1:显示符合必要参数 B1的试题编号及容
B2:显示符合必要参数 B2的试题编号及容
┋┋┋
Bn:显示符合必要参数 Bn的试题编号及容
END SELCECT
END IF
IF dts>= 1 THEN
IF 试题编号合法THEN xts=xts 1
ELSE 请输入合法的试题编号!
END IF
IF dts>xts THEN xts必须大于或等于dts!
ELSE
IF 某已存在的题型中小题数为0 THEN 该题型至少要有1道试题!
END IF
END IF
IF 判断题存在且分数<= 0 OR分数>100 THEN 请修改!
ELSE TOTALFEN= TOTALFEN PDTF
END IF
IF 单选题存在且分数<= 0 OR分数>100 THEN 请修改!
ELSE TOTALFEN= TOTALFEN DXTF
END IF
IF 多选题存在且分数<= 0 OR分数>100 THEN 请修改!
ELSE TOTALFEN= TOTALFEN TSTF
END IF
IF TOTALFEN <= 0 OR TOTALFEN > 100 THEN
总分在1---100分之!
END IF
ELSE 试卷大题数不得为0!
IF testtime<= 0 OR testtime>= 4 (hour) THEN
考试时间必须满足0 <testtime< 4 (hour)!
END IF
END IF
IF所有数据均合法 THEN 则将该试卷的相关信息存盘
END IF
主要有下面两个子模块:
其一:手工组卷模块
用户提交相关限制条件,由系统根据这些条件先从大的围调出试题,稍后再手工通过复选按钮细选以生成自己所需的试卷,即利用现有的试题库,可编制出多份试卷。

在组卷时,可以对所选的每一试题进行增删,顺序进行调整,并可自行规定各大(小)题分数和试卷的考试时间(默认值前已述及)。

总之,能作出用户完全满意的试卷,以供在线考试或测试使用。

其好处关键在于---选题随机性强、成卷速度较快、试卷质量高;知识考核点分布均匀,且容覆盖面容易控制。

例如,期中考试时,只考前一半容时,只要选取章节码小于或等于某个指定的值,则一定不会出现后一半容的试题。

其二:计算机自动卷模块
完全由系统自动按照"易-中-难"顺序和根据用户选择的信息,灵活、随机的抽取试题库中的各类试题组成试卷,试卷容会随着库中试题的改变而改变,试卷库中没有保存试卷的基本信息及相应的试题编号,不妨称之为活动的互动的试卷。

不过,其试卷质量不高,难易程度把握不当,知识考核点分布不均,一般只作在线练习使用。

4.3.4、进入在线考场模块
进入在线考场是本系统非常重要的部分之一。

因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。

考生登录后,只要输入已编辑好的试卷编号,就可以调出其试卷进行在线考试或测试,其答题信息通过单、复选按钮选择答案来反映。

为了防止考生多次提交试卷和规考场纪律,采取自愿交卷和到了规定的时间自动收卷两者有机结合的方式、限制考试时间和期限以及禁用鼠标等办法予以实现。

但真正的无人监视的考试好象不能用软件实现,而且其安全性在系统设计中也很重要。

因此,在设计过程中注意了以下几个问题:
1、只有考生自己才能参加考试!
2、考试时间到了将自动交卷!
3、限制提交次数,暂只提供一次机会!
4、禁止用户联网作弊!
上图为此模块程序设计详细流程图
4.3.5、在线练习模块
计算机自动组卷模块组成的互动的试卷(卷库中没有保存此类试卷的任何信息!)是通过单复选按钮来反映用户的做题信息。

它主要用于平时的在线练习等,让用户了解自身的不足,并有针对性地进行复习和训练。

因此,用户做完后,只要点击"查看答案",就可以与相应试题的标准答案对比,以便及时反馈情况,而没有提供成绩判定与分析和时间限制等。

4.3.6、成绩分析与试卷评估模块
考生每参加一次考试,系统根据已有的标准答案很快得出其分数,再根据不同的分数段给出相异的评语。

一方面与其它同科考生进行横向对比,得出各个考生之间的差别;另一方面,也通过用户一段时期参加同科考试的成绩来做纵向比较,用以说明其掌握该科目容的实际程度,以便做出相应的决定。

另外,管理员先给出一套完整试卷的预先评估,然后由系统自动根据同一试卷编号的所有用户成绩给出其实际的评估,并且都有一个难度等级,把两次评估进行比较得出该卷的难易程度以及更详细的评估情况。

4.3.7、删除模块
在整个系统中,只有系统管理员具有此权限。

管理员通过复选按钮选择要删除的用户、留言、试卷及科目,而对于数量较大的试题库则通过输入或选择条件,就可达到删除那些过时的无用的试题,当然,对于那些恶意破坏系统的用户,管理员有权删除他,以示惩罚。

这样就可确保数据库不至于十分庞大和其安全性。

用ASP开发试题库与在线考试系统(7)
五、ADO--ActiveX Data Object操作数据库的几个步骤
第一步数据库数据来源设定。

若要访问数据库,需在"控制面板"中的"ODBC Data Sources",建立数据库名称(选择Users DSN),点击"Add"按钮,选定数据库所用的驱动程序和文件等。

第二步使用"Server.CreateObject"建立连接的对象,并使用"Open"打开待访问的数据库。

set adocon=Server.CreateObject("ADODB.Connection");adocon.Open "zxtest"
第三步设定SQL命令,使用"Execute"命令,即可开始执行访问数据库的动作。

sqlstr ="select * from jsjwl where stbh like 'PD' order by stbh ASC"
set rs = adocon.Execute(sqlstr) ′adocon为第二步所设定的对象名称
第四步使用Recordset对象的命令,显示结果,其中rs为第三步所定义。

rs.fields.count:记录的字段数;
rs(i).name:第i(指针)个字段名,i由0算起到rs.fields.count-1;
rs(i):读取第i(指针)个字段的记录,i由0算起到rs.fields.count-1;
rs("字段名"):读取指定的字段的记录;rs.eof:是否已指定最末条;
rs.movenext:将指针移到下一条;rs.moveprev:将指针移到上一条;
rs.movefirst:将指针移到第一条;rs.movelast:将指针移到最末条;
第五步使用后关闭数据库:
rs.close;adocon.close
六、数据的安全与保密
由于此系统的特殊性,数据的安全与保密显得尤为重要。

保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的容是互相保密的。

安全性是指用户参加一次活动是一个安全的过程,对于所有用户的动作,服务器都加以跟踪。

为。

相关文档
最新文档