ASP在线试题库与答题系统.doc

上传人:jian****018 文档编号:9281408 上传时间:2020-04-04 格式:DOC 页数:25 大小:92KB
返回 下载 相关 举报
ASP在线试题库与答题系统.doc_第1页
第1页 / 共25页
ASP在线试题库与答题系统.doc_第2页
第2页 / 共25页
ASP在线试题库与答题系统.doc_第3页
第3页 / 共25页
点击查看更多>>
资源描述
利用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- 网上司考试题库 此网页使用了框架,但您的浏览器不支持框架。 -Lkzk.asp- 网上司考试题库 司考试题库 总第题 INPUT Type=Hidden Name=AI Value= 显示除选择部分外的试题内容 显示是单选还是多选题 以下开始显示复选框及选择部分 继续做题 正确率:% 总答题数: -Save.asp- 您答了 显示答案正误等信息 试题库总第题 您的答案是: 参考答案是: % 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: intcom21cn.com 。 用ASP开发试题库与在线考试系统(1)摘 要 利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序。它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入、修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题、组卷和改卷等繁重的工作量。引言现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!一、 基本简介试题库与在线考试系统采用ASP、HTML、Frontpage2000/98、Javascript、VBScript、Java编程语言、图形编辑与数据库等工具,通过基于WEB服务器访问纯WEB页面,实现在线组卷与考试等各项相关的功能。它是专门用于试题(卷)录入、查询、修改、删除、组卷和参加在线考试的ASP应用程序。其最大的特点是开放性、方便性和灵活性。主要是指一般的用户不仅可以轻松地向题库添加、修改和查询试题(卷),而且还可以自动新增科目并建立相应的数据表;它还允许用户根据自己的需求,从现有的试题库中灵活地抽取各类试题,以组建适合于自身所需的试卷。而且,自测试卷的难易程度和形式以及各大题分数等都由用户根据需要确定。考生通过浏览器进行有效的身份验证登录后,输入正确的试卷编号,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提交。一旦考生做完后便能立即看到预先记录在库中的标准答案和自己的平时成绩(正规考试试卷不得随意更改以及答案将不及时提供),并且其答案和分数将被记入库中以供审核和查阅,并作为成绩评估和试卷分析的历史数据;另外,还可完全由计算机自动按照难度系数灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,不妨把它称之为实时的互动的试卷。用户对象主要是大、中、小学及职业学校等单位的教师及学生和企事业单位的教育部门(因企事业单位每年要对员工进行素质、安全教育与技能等方面的培训及考试等)。 用ASP开发试题库与在线考试系统(4) 422、试卷结构试卷一般包括客观题(判断题、单选题或多选题)和主观题(填空题、短文字题或长文字题),即一套试卷包括若干大题,每道大题包含若干小题。但是,本系统的试卷目前只涉及客观题部分。故大题数暂定为最多3道,小题数总和若干,而且,在此表中只存贮该科目试卷相应的试题编号,其试题内容则在调用时到相应科目中查询获得。423、用户、留言信息结构A、超级用户:在此系统中有且仅有一个,即系统管理员。他具有一般用户所没有的至高无上的权力,即具有删除用户、留言、试题以及试卷等信息的权力。它不需注册,在数据库没有它的任何相关信息,但可由管理员自己更改用户名和密码。确保万一数据泄密而造成系统的危害。B、一般用户:主要是指学校的教师及学生和企事业单位的教育部门等。另外,所有用户可能会对我们的系统发表意见或相互之间答疑。424、考生答案成绩表结构实际考试日期可能因某种原因推迟考试而与试卷表中的考试日期有所不同。因而,此表应与用户、试卷及试题库等多表相关联,关系比较复杂。43、功能模块详细设计下面,按照录入试题-出卷-进行考试等流程就各个模块分别进行详细讨论,具体情况见系统源程序及演示。考虑到数据的保密与安全问题,凡进入系统的用户,必须先注册,然后通过验证才能进入。否则,进入SORRY页面。431、录入模块许可的用户根据自身教学目的和要求,可以向库中添加各种类型且符合要求(对不符合的将给出提示和警告,并且不予保存!)的试题和试卷以及各自的意见与疑难问题等。一旦添加成功,只有管理员才能删除。试题录入首先,用户选择试题所属科目。若下拉菜单中没有该科目,则点击右边的新增科目,即进入这一页面,只要输入新增科目详细名称(一般以一个学期修完为标准)和表名(最好由汉语拼音首字母组成),即可由系统根据已设定好的字段自动建立新的科目试题表。返回、刷新一次页面,即可看到新增的科目名称。而且,在本系统中其它需要选择科目的地方也会自动更新。其次,每道试题有类型、难度系数、选自书籍及章节、试题内容与答案和标准答案等栏目。用户一一输入完(对于该试题不需要的答案项,则默认为不填),按提交后,即可看到预览效果。如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。试卷录入此子模块包括两个部分,即标识试卷的基本信息录入和手工组卷部分。其基本信息有试卷编号、标题、套数、难度、科目名称、考试性质与日期等,而卷中试题将通过后面的手工组卷模块予以实现。对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。用户留言凡使用此系统的用户可能对我们的工作有许多良好的建议和意见,或者有一些疑难问题需要大家共同探讨的话,可以在此提出。四、详细设计41、试题(客观题部分)设计在以往的考试中,判断题常常是通过画 , 来判断;而单选题往往在四个供选的答案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)快速红外线协议 42、数据库设计421、试题结构通常,每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间已经不受物理空间的限制。因此,我们采用按科目而不按试题类型方案来建立数据表,更不把所有科目的全部试题集中在一起,只是每道客观题均有六个备选答案项,还有一个表用来记录各科目数据表的相关属性。这样,查询起来较方便,可能会节约时间,也不致于造成数据十分杂乱等。详细设计如下表所示:说明:1. 按科目(一般以1个学期为标准)分别定义各表,表名一律由中文名汉字拼音首字母构成。例如,软件工程-RJGC;计算机网络-JSJWL;小学二年级上期数学-XXENJSQSX2.字段名是指该字段的中文名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) 432、查询模块系统中的所有用户均可检索试题、试卷、用户及留言等信息。只是试题检索界面较复杂,但它已实现了多种条件的组合查询,非常适合于数量繁大的试题库。而后三者相对来说比较简单,默认或空白的情况下,则按该表中的系统默认的字段显示其全部信息。使用起来比较灵活、方便。433、修改模块用户除了只修改自己的部分资料(包括用户帐号、密码和E-Mail)外,还可修改试题及试卷,而留言则不许修改。只要用户选择科目和输入编号,即可进行修改。不过,对于各表中的主键不准修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。434、组卷模块在组卷过程中,我们肯定会遇到有许多题目是关于同一个教学内容的,这里称之为关于同一考核点的试题。因此,在组装一份试卷时,对于同一考核点的试题只能出一道题。这里设计一种快速选题算法,该算法只需经一次比较,便可判定是否已选过该考核点的试题,且又可以有针对性地重点选取某个考核点的试题。即每一道题都设有一个相关码,对于同一章、同一节、同一考核点的题,则相关码相同,显然,前面章节的相关码都要小于后面章节的相关码。故在组卷时,同一试卷中不允许出现相关码相同的试题。所以,在选题过程中每选出一题,就要与已经选出的题的相关码逐一进行比较,若该题的相关码与已选各题的相关码均不相同,则可将该题加入到试卷中,否则,放弃该题,重新进行选题。下面,在只考虑最佳情况下,即每次选出的题都恰好是尚未选过的,每选一道题就要与已选出的各题逐一比较,假设已选出了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 IFIF 无多选题 THEN dts=dts - 1 END IF开始扫描相应科目的试题库,获得临时所有符合条件的试题预览,接着开始手工细选试题以生成试卷或计算机自动组卷。IF 符合必要参数组合 THENSELCECT 任选参数B1:显示符合必要参数 B1的试题编号及内容B2:显示符合必要参数 B2的试题编号及内容 Bn:显示符合必要参数 Bn的试题编号及内容END SELCECTEND IFIF dts= 1 THENIF 试题编号合法THEN xts=xts 1ELSE 请输入合法的试题编号!END IFIF dtsxts THEN xts必须大于或等于dts!ELSE IF 某已存在的题型中小题数为0 THEN 该题型至少要有1道试题!END IF END IFIF 判断题存在且分数= 0 OR分数100 THEN 请修改!ELSE TOTALFEN= TOTALFEN PDTFEND IFIF 单选题存在且分数= 0 OR分数100 THEN 请修改!ELSE TOTALFEN= TOTALFEN DXTFEND IFIF 多选题存在且分数= 0 OR分数100 THEN 请修改!ELSE TOTALFEN= TOTALFEN TSTFEND IFIF TOTALFEN = 0 OR TOTALFEN 100 THEN总分在1-100分之内!END IFELSE 试卷大题数不得为0!IF testtime= 0 OR testtime= 4 (hour) THEN考试时间必须满足0 testtime 4 (hour)!END IFEND IF IF所有数据均合法 THEN 则将该试卷的相关信息存盘 END IF 主要有下面两个子模块:其一:手工组卷模块用户提交相关限制条件,由系统根据这些条件先从大的范围内调出试题,稍后再手工通过复选按钮细选以生成自己所需的试卷,即利用现有的试题库,可编制出多份试卷。在组卷时,可以对所选的每一试题进行增删,顺序进行调整,并可自行规定各大(小)题分数和试卷的考试时间(默认值前已述及)。总之,能作出用户完全满意的试卷,以供在线考试或测试使用。其好处关键在于-选题随机性强、成卷速度较快、试卷质量高;知识考核点分布均匀,且内容覆盖面容易控制。例如,期中考试时,只考前一半内容时,只要选取章节码小于或等于某个指定的值,则一定不会出现后一半内容的试题。其二:计算机自动卷模块完全由系统自动按照易-中-难顺序和根据用户选择的信息,灵活、随机的抽取试题库中的各类试题组成试卷,试卷内容会随着库中试题的改变而改变,试卷库中没有保存试卷的基本信息及相应的试题编号,不妨称之为活动的互动的试卷。不过,其试卷质量不高,难易程度把握不当,知识考核点分布不均,一般只作在线练习使用。434、进入在线考场模块进入在线考场是本系统非常重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要输入已编辑好的试卷编号,就可以调出其试卷进行在线考试或测试,其答题信息通过单、复选按钮选择答案来反映。为了防止考生多次提交试卷和规范考场纪律,采取自愿交卷和到了规定的时间自动收卷两者有机结合的方式、限制考试时间和期限以及禁用鼠标等办法予以实现。但真正的无人监视的考试好象不能用软件实现,而且其安全性在系统设计中也很重要。因此,在设计过程中注意了以下几个问题:1、只有考生自己才能参加考试!2、考试时间到了将自动交卷!3、限制提交次数,暂只提供一次机会!4、禁止用户联网作弊!上图为此模块程序设计详细流程图435、在线练习模块计算机自动组卷模块组成的互动的试卷(卷库中没有保存此类试卷的任何信息!)是通过单复选按钮来反映用户的做题信息。它主要用于平时的在线练习等,让用户了解自身的不足,并有针对性地进行复习和训练。因此,用户做完后,只要点击查看答案,就可以与相应试题的标准答案对比,以便及时反馈情况,而没有提供成绩判定与分析和时间限制等。436、成绩分析与试卷评估模块考生每参加一次考试,系统根据已有的标准答案很快得出其分数,再根据不同的分数段给出相异的评语。一方面与其它同科考生进行横向对比,得出各个考生之间的差别;另一方面,也通过用户一段时期内参加同科考试的成绩来做纵向比较,用以说明其掌握该科目内容的实际程度,以便做出相应的决定。另外,管理员先给出一套完整试卷的预先评估,然后由系统自动根据同一试卷编号的所有用户成绩给出其实际的评估,并且都有一个难度等级,把两次评估进行比较得出该卷的难易程度以及更详细的评估情况。437、删除模块在整个系统中,只有系统管理员具有此权限。管理员通过复选按钮选择要删除的用户、留言、试卷及科目,而对于数量较大的试题库则通过输入或选择条件,就可达到删除那些过时的无用的试题,当然,对于那些恶意破坏系统的用户,管理员有权删除他,以示惩罚。这样就可确保数据库不至于十分庞大和其安全性。用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 六、数据的安全与保密由于此系统的特殊性,数据的安全与保密显得尤为重要。保密性是指用户在网上的所有信息应有一定的保密度,不同类型的用户之间的内容是互相保密的。安全性是指用户参加一次活动是一个安全的过程,对于所有用户的动作,服务器都加以跟踪。为了确保其安全与保密性,一要确保考生不能联网作弊;二要在试卷上实时加以监控;三要在时间上加以严格的控制等。主要通过下列两种途径予以实现:其一,凡进入在线考试的用户,都要通过用户身份验证(见下图)才能进入。而且,不同用户具有不同的操作权限,支持按权限进行操作,确保数据的公共性与私有性。不允许用户执行非法的操作,防止用户无意或有意的破坏。其二,禁止用户查看所有试卷的源文件及拷贝功能,方法有二:1、禁止使用鼠标右键等功能; II、试卷库中的试卷将以无下拉菜单及工具栏等的页面方式呈现在浏览者面前。用ASP开发试题库与在线考试系统(8) 七、附录:源程序列表由于源代码繁多,限于篇幅,无法一一列举,现只公布部分代码,具体以系统实物为准。下面是录入试题.asp文件:script language=VBScript!- Written by HeKai 2001Function datacheck()确保前台输入数据合法dim errflag, msgerrflag = Trueif Len(Trim(luru.xzsj.value) = 0 Thenfocusto(1); errflag = false; msg=请输入 选自书籍名称ElseIf Len(Trim(luru.stnr.value) = 0 Thenfocusto(9); errflag = false; msg= 试题内容 呢ElseIf Len(Trim(luru.A.value) = 0 Thenfocusto(10); errflag = false; msg= 答案_A 呢 ElseIf Len(Trim(luru.F.value) = 0 Thenfocusto(15); errflag = false; msg=请还原成默认值End ifIf (errflag = false) thenmsg = msg & vbCRLF MsgBox msg, 64, 提示Exit FunctionEnd ifdatacheck = errflag; luru.SubmitEnd FunctionSub focusto(x)将鼠标定位在出错处document.luru.elements(x).focus()End Sub-/script 以下是录入试题.inc文件:script Language=VBScript RunAt=ServerFunction check_Pass()检查库中是否已有此数据kmxxmc = Request.Form(kmxxmc)stbh = Request.Form(stbh) stnr = Request.Form(stnr)SQLstr = select * from & kmxxmc & where stbh= & & stbh & SQLstr = SQLstr & or tmnr= & & stnr & set adocon=Server.CreateObject(ADODB.Connection)adocon.Open zxtestset sa1=adocon.Execute(SQLstr)If sa1.EOF Then check_Pass = FalseElsecheck_Pass = TrueEnd Ifsa1.Close adocon.CloseEnd FunctionSub Add_Comment()开始插入数据并显示出来Dim kmxxmc,xzsj,tmlx,nycd,jxyq,stbh,stnrDim A,B,C,D,E,F,bzda,lrz,Picstr,SQLstr,lr_date,zhang,jiekmxxmc = Request.Form(kmxxmc) xzsj = Request.Form(xzsj) bzda = Request.Form(bzda) zhang = Request.form(zhang)set adocon=Server.CreateObject(ADODB.Connection)adocon.Open zxtestSQLstr = insert into & kmxxmc & (xzsj,tmlx,tmnd,jxyq,stbh,tmnr, bxda_a,SQLstr = SQLstr & ,jie,lrz) values ( & & xzsj & , & & tmlx & , SQLstr = SQLstr & , & & date & , & & zhang & , & & jie & , SQLstr = SQLstr & & lrz & )set sa1 = adocon.Execute(SQLstr)Picstr=img src=/uploadfile/ds/uploadfile/200803/20080321103016152.jpgResponse.Write 恭喜!此为i & lrz & /i 刚才录入的试题Response.Write Picstr & 试题编号: & stbh Response.Write 试题内容: & stnr & brResponse.Write 答案_A: & A & br adocon.CloseEnd SubSub Register()If check_Pass() Then 如果库中已有的话,则给出提示信息Show_Warning()Else 否则添加进去Add_Comment()End IfEnd SubSub Show_Warning()给出提示信息的函数Response.Write(p)Response.Write(center很抱歉p)Response.Write(库中已有此试题编号或试题内容,请返回前页修改!)Response.Write(/center)Response.Write(Made by hekai himself in 2001)End Sub/script此为检索试题的程序代码:script Language=VBScript RunAt=ServerFunction adjust_sql(adj_str)目的-转换查询字符串中的特殊字符至SQL指令Dim final_str, i WRITE BY HEKAI2001adj_str = Trim(adj_str)final_str = 每次从传进来的字符串中取出一个字符,并判断是否为下述三个字符之一: DOS的Filter符号|、左中括号以及单引号If Len(adj_str) 0 ThenFor i = 1 To Len(adj_str)Select Case Mid(adj_str, i, 1)Case : final_str = final_str & Case |: final_str = final_str & -Case : final_str = final_str & &-()Case Else: 以上皆非则什么事都不做!final_str = final_str & Mid(adj_str, i, 1)End SelectNextEnd Ifadjust_sql = final_strEnd FunctionSub Output_shiti()Dim kmxxmc,xzsj,stbh,zhang,jie,tmlx,nycd,jxyq,lrz,stnr,cond_count, PicstrDim SQLstr,mf,zhangfw,jiefw,stbhfw,nycdfw,lr_datefw,lr_date记录指定条件的栏位总数cond_count = 10; mf = %Picstr=img src=/uploadfile/ds/uploadfile/200803/20080321103032694.gif取得表单栏位内容kmxxmc = Request.Form(kmxxmc)stbh = Request.Form(stbh) stnr = Request.Form(stnr)调整SQL指令中的特定字元kmxxmc = adjust_sql(kmxxmc)stbh = adjust_sql(stbh) stnr = adjust_sql(stnr)If Len(xzsj) = 0 Then cond_count = cond_count - 1If Len(stbh) = 0 Then cond_count = cond_count - 1 If Len(stnr) = 0 Then cond_count = cond_count - 1 SQLstr = select * from & kmxxmc & where If Len(stbh) 0 ThenSQLstr = SQLstr & stbh & stbhfw & & stbh & If cond_count 1 ThenSQLstr = SQLstr & and cond_count = cond_count - 1End IfEnd If If Len(stnr) 0 ThenSQLstr = SQLstr & tmnr like & & mf & stnr & mf & If cond_count 1 ThenSQLstr = SQLstr & and cond_count = cond_count - 1End IfEnd IfSQLstr = SQLstr & order by lr_date DESC set adocon=Server.CreateObject(ADODB.Connection)adocon.Open zxtestset sa1 = adocon.Execute(SQLstr)If sa1.EOF ThenResponse.Write brcenterh1Response.Write Sorry!pResponse.Write 没有找到试题,esponse.Write 请重试一次!/centerpResponse.Write hr/h1Elsei = 0Response.Write h2Response.Write 符合条件的试题相关内容如下:Response.Write /h2While Not sa1.EOFi = i 1Response.Write 第 i & i & /i题 题编号:i & sa1(stbh) & /ibrResponse.Write 试题内容: & sa1(tmnr) & br Response.Write 答案A: & sa1(bxda_a) & brsa1.MoveNextWEndadocon.CloseEnd IfEnd Sub/script% 检索试卷的查询方式源代码mf=%select case request(findfs)case sjbhsqlstr=SELECT * FROM tbsjxx WHERE & sjbh LIKEsqlstr=sqlstr & & mf & request(findfsz) & mf & order by ksrq DESC case lr_datesqlstr=SELECT * FROM tbsjxx WHERE & lr_date LIKEsqlstr=sqlstr & & mf & request(findfsz) & mf & order by ksrq DESCcase elsesqlstr=SELECT * FROM tbsjxx order by ksrq DESCend select % 下面是考试的时间自动控制程序(便于演示只设了60秒钟,实际应用应以系统调出试卷的考试时间为准!):SCRIPT language=JavaScript !- Write by HEKAI for TestTimeContorlvar timerID = null;var timerRunning = falsevar stardate = new Date();var startime = gettotalsecond(sta
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!