您的位置:首页技术开发ASP 学院 → 利用ASP和Access数据库制作局域网网上答题系统

利用ASP和Access数据库制作局域网网上答题系统

时间:2005/9/7 20:48:00来源:本站整理作者:我要评论(0)

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

二、程序组成 
本系统由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----------------- 
 
 
网上司考试题库 
 
 
 
 
&nbsp;<BR><body>&nbsp;<BR><p>此网页使用了框架,但您的<a href="http://www.baidu.com/baidu?tn=sayyes&amp;word=浏览器" target=_blank rel="nofollow"><SPAN class=unnamed8><FONT color=#0000ff>浏览器</FONT></SPAN></a>不支持框架。</p>&nbsp;<BR></body>&nbsp;<BR> 
 
 
--------------Lkzk.asp------------- 
 
<% 
Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")  
Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库") 
%> 
 
 
网上司考试题库 
 
 
司考试题库  
<%  
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")%> 
 
"> 

 
<% s=rs("na") 
x=InStr(s,"A.") 
sx="多选"  
if rs("dx")=0 then  
sx="单选"  
end if %>  
<%=Left(s,x-1)%> '显示除选择部分外的试题内容 
  
<%=sx%> 
 '显示是单选还是多选题 
 
<% s=Right(s,Len(s)-x+1)  
x=InStr(s,"B.") %> '以下开始显示复选框及选择部分 
 
<%=Left(s,x-1)%>
  
<%s=Right(s,Len(s)-x+1) 
x=InStr(s,"C.")%>  
 
<%=Left(s,x-1)%>
  
<%s=Right(s,Len(s)-x+1) 
x=InStr(s,"D.")%>  
 
<%=Left(s,x-1)%>
  
<%s=Right(s,Len(s)-x+1)%>  
 <%=s%>  

  
  
继续做题 
 
<%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")%> 
 
 
  
-----------------Save.asp------------------- 
 
<% 
Set rsu2 = GetMdbStaticRecordset("lkzk.mdb", "IP")  
Set rs = GetMdbStaticRecordset("lkzk.mdb", "题库") 
%> 
 
 
<% I=CInt(Request("AI")) 
rs.AbsolutePosition=I+1 
ssx="错"  
A=Replace( Request("A"), ", ", "" ) 
if A=rs("xz") then '判断答题正误 
ssx="对"  
end if 
%>  
 
您答<%=ssx%>了 '显示答案正误等信息 
 
试题库总第<%=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”中 
%>  
  
  
--------------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: intcom@21cn.com 。

相关视频

    没有数据

相关阅读 利用ASP和Access数据库制作局域网网上答题系统用Authorware制作自检测在线答题系统macOS 10.15怎么升级 macOS 10.15升级教程macOS 10.15支持哪些设备升级 macOS Catalina可升级设备一览macOS 10.15有什么新功能 macOS Catalina新功能详细介绍word clock Mac版怎么用 数字时钟word clock怎么设置word clock Mac版怎么卸载 数字时钟word clock卸载方法如何利用共享体重秤进行公众号推广

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 127.0.0.1 需要输入用Microsoft JET Databa ASP木马密码加密的破解方法Asp中文件上传,fso方法大全js报错 抛出例外解决方法-适用于ecshop 调用127.0.0.1 需要输入用户名密码的解决方法

人气排行 教你如何用ASP生成HTML静态网页127.0.0.1 需要输入用户名密码的解决方法编写简单ASP代码测试WEB服务器环境asp用户登录模块实例代码ASP保存远程文件到本地(实用版)js报错 抛出例外解决方法-适用于ecshop 调用如何调试ASP的环境ASP.NET中MVC框架模式方法如何实现分享