版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用ASP开发试题库与在线考试系统
摘要利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序。它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入、修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题、组卷和改卷等繁重的工作量。
引言
现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!
一、基本简介
试题库与在线考试系统采用ASP、HTML、Frontpage2000/98、Javascript、VBScript、Java编程语言、图形编辑与数据库等工具,通过基于WEB服务器访问纯WEB页面,实现在线组卷与考试等各项相关的功能。
它是专门用于试题(卷)录入、查询、修改、删除、组卷和参加在线考试的ASP应用程序。其最大的特点是开放性、方便性和灵活性。主要是指一般的用户不仅可以轻松地向题库添加、修改和查询试题(卷),而且还可以自动新增科目并建立相应的数据表;它还允许用户根据自己的需求,从现有的试题库中灵活地抽取各类试题,以组建适合于自身所需的试卷。而且,自测试卷的难易程度和形式以及各大题分数等都由用户根据需要确定。考生通过浏览器进行有效的身份验证登录后,输入正确的试卷编号,并要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提交。一旦考生做完后便能立即看到预先记录在库中的标准答案和自己的平时成绩(正规考试试卷不得随意更改以及答案将不及时提供),并且其答案和分数将被记入库中以供审核和查阅,并作为成绩评估和试卷分析的历史数据;另外,还可完全由计算机自动按照"难度系数"灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,不妨把它称之为实时的互动的试卷。
用户对象主要是大、中、小学及职业学校等单位的教师及学生和企事业单位的教育部门(因企事业单位每年要对员工进行素质、安全教育与技能等方面的培训及考试等)。
二、运行环境与系统结构
此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求和逻辑结构分别如下:
客户端:Windows95/98,InternetExplorer(IE)等
服务器端:WindowsNT/Windows2000,InternetInformationServer(IIS)4.0及其以上版本,IE等;或者Windows98,PersonalWebServer(PWS),IE等。
数据库:采用SQLServer,运行于服务器端。
试题库与在线考试系统逻辑结构图
三、系统特点
系统联为一体,界面整齐、美观,操作简单、方便。另外,支持按权限对系统进行操作,即不同类型的用户拥有相异的权限对题库执行不同的操作。主要是在首页通过两种不同的方式进入相异的操作界面,以确保整个数据库中数据的安全性及完整性。其主要特点体现在以下三个方面:
(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)ATMLAN仿真用户(F)快速红外线协议
4.2、数据库设计
4.2.1、试题结构
通常,每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间已经不受物理空间的限制。因此,我们采用按科目而不按试题类型方案来建立数据表,更不把所有科目的全部试题集中在一起,只是每道客观题均有六个备选答案项,还有一个表用来记录各科目数据表的相关属性。这样,查询起来较方便,可能会节约时间,也不致于造成数据十分杂乱等。详细设计如下表所示:说明:
1.按科目(一般以1个学期为标准)分别定义各表,表名一律由中文名汉字拼音首字母构成。例如,软件工程RJGC;计算机网络JSJWL;小学二年级上期数学XXENJSQSX
2.字段名是指该字段的中文名
3.字符标识一般由中文名拼音首字母构成,外键字段最好与主表对应字段同名
4.若该字段为字符型,则对应的长度栏填最大允许长度,若为固定长度则加'定'字
5.若该字段可以为空,则对应的NULL栏填Y,否则不填
6.若该字段为主键,则对应的主键栏填Y,否则不填
科目数据信息表字段名字符标识类型长度NULL主键说明科目中文详细名称KMMCCHAR50
以中文为准,例如"计算机网络"科目表名KMBMCHAR50Y
一律由上面中文名拼音首字母构成,如"JSJWL"录入者LRZCHAR15
默认为录入员登入帐号录入日期LR_DATEDATE10
默认为录入时的系统日期备注MEMOCHAR50Y
4.2.2、试卷结构
试卷一般包括客观题(判断题、单选题或多选题)和主观题(填空题、短文字题或长文字题),即一套试卷包括若干大题,每道大题包含若干小题。但是,本系统的试卷目前只涉及客观题部分。故大题数暂定为最多3道,小题数总和若干,而且,在此表中只存贮该科目试卷相应的试题编号,其试题内容则在调用时到相应科目中查询获得。
4.2.3、用户、留言信息结构
A、超级用户:在此系统中有且仅有一个,即系统管理员。他具有一般用户所没有的至高无上的权力,即具有删除用户、留言、试题以及试卷等信息的权力。它不需注册,在数据库没有它的任何相关信息,但可由管理员自己更改用户名和密码。确保万一数据泄密而造成系统的危害。
B、一般用户:主要是指学校的教师及学生和企事业单位的教育部门等。另外,所有用户可能会对我们的系统发表意见或相互之间答疑。
4.2.4、考生答案成绩表结构
实际考试日期可能因某种原因推迟考试而与试卷表中的考试日期有所不同。因而,此表应与用户、试卷及试题库等多表相关联,关系比较复杂。
4.3、功能模块详细设计
下面,按照录入试题-出卷-进行考试等流程就各个模块分别进行详细讨论,具体情况见系统源程序及演示。考虑到数据的保密与安全问题,凡进入系统的用户,必须先注册,然后通过验证才能进入。否则,进入"SORRY"页面。
4.3.1、录入模块
许可的用户根据自身教学目的和要求,可以向库中添加各种类型且符合要求(对不符合的将给出提示和警告,并且不予保存!)的试题和试卷以及各自的意见与疑难问题等。一旦添加成功,只有管理员才能删除。
①试题录入
首先,用户选择试题所属科目。若下拉菜单中没有该科目,则点击右边的新增科目,即进入这一页面,只要输入新增科目详细名称(一般以一个学期修完为标准)和表名(最好由汉语拼音首字母组成),即可由系统根据已设定好的字段自动建立新的科目试题表。返回、刷新一次页面,即可看到新增的科目名称。而且,在本系统中其它需要选择科目的地方也会自动更新。
其次,每道试题有类型、难度系数、选自书籍及章节、试题内容与答案和标准答案等栏目。用户一一输入完(对于该试题不需要的答案项,则默认为"不填"),按"提交"后,即可看到预览效果。如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。
②试卷录入
此子模块包括两个部分,即标识试卷的基本信息录入和手工组卷部分。其基本信息有试卷编号、标题、套数、难度、科目名称、考试性质与日期等,而卷中试题将通过后面的手工组卷模块予以实现。对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。
③用户留言
凡使用此系统的用户可能对我们的工作有许多良好的建议和意见,或者有一些疑难问题需要大家共同探讨的话,可以在此提出。4.3.2、查询模块
系统中的所有用户均可检索试题、试卷、用户及留言等信息。只是试题检索界面较复杂,但它已实现了多种条件的组合查询,非常适合于数量繁大的试题库。而后三者相对来说比较简单,"默认"或"空白"的情况下,则按该表中的系统默认的字段显示其全部信息。使用起来比较灵活、方便。
4.3.3、修改模块
用户除了只修改自己的部分资料(包括用户帐号、密码和E-Mail)外,还可修改试题及试卷,而留言则不许修改。只要用户选择科目和输入编号,即可进行修改。不过,对于各表中的主键不准修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。
4.3.4、组卷模块
在组卷过程中,我们肯定会遇到有许多题目是关于同一个教学内容的,这里称之为关于同一考核点的试题。因此,在组装一份试卷时,对于同一考核点的试题只能出一道题。这里设计一种快速选题算法,该算法只需经一次比较,便可判定是否已选过该考核点的试题,且又可以有针对性地重点选取某个考核点的试题。即每一道题都设有一个相关码,对于同一章、同一节、同一考核点的题,则相关码相同,显然,前面章节的相关码都要小于后面章节的相关码。故在组卷时,同一试卷中不允许出现相关码相同的试题。所以,在选题过程中每选出一题,就要与已经选出的题的相关码逐一进行比较,若该题的相关码与已选各题的相关码均不相同,则可将该题加入到试卷中,否则,放弃该题,重新进行选题。
下面,在只考虑最佳情况下,即每次选出的题都恰好是尚未选过的,每选一道题就要与已选出的各题逐一比较,假设已选出了M题,再选下一题时,则需比较M次,不妨设一份试卷的总题数为N,在最佳情况下,则总的比较次数为:
0,1,2,…N-2,N-1
即时间复杂度为O(N),这样,就可保证下面算法中选择出来的试题编号都合法。基本算法:{定义参数,获得整套试卷的共同限制参数,即包括输入必要条件得到必要参数和输入任选条件得到任选参数}
必要参数组合=A1ANDA2~~ANDAn;任选参数组合=B1ORB2~~ORBn;
大题数dts=3'默认为3道大题;小题数xts=0'默认为50道小题;
IF无判断题THENdts=dts-1ENDIF'开始计算大题数
IF无单选题THENdts=dts-1ENDIF
IF无多选题THENdts=dts-1ENDIF
开始扫描相应科目的试题库,获得临时所有符合条件的试题预览,接着开始手工细选试题以生成试卷或计算机自动组卷。IF符合必要参数组合THEN
SELCECT任选参数
B1:显示符合必要参数+B1的试题编号及内容
B2:显示符合必要参数+B2的试题编号及内容
┋┋┋
Bn:显示符合必要参数+Bn的试题编号及内容
ENDSELCECT
ENDIF
IFdts>=1THEN
IF试题编号合法THENxts=xts+1
ELSE请输入合法的试题编号!
ENDIF
IFdts>xtsTHENxts必须大于或等于dts!
ELSE
IF某已存在的题型中小题数为0THEN该题型至少要有1道试题!
ENDIF
ENDIF
IF判断题存在且分数<=0OR分数>100THEN请修改!
ELSETOTALFEN=TOTALFEN+PDTF
ENDIF
IF单选题存在且分数<=0OR分数>100THEN请修改!
ELSETOTALFEN=TOTALFEN+DXTF
ENDIF
IF多选题存在且分数<=0OR分数>100THEN请修改!
ELSETOTALFEN=TOTALFEN+TSTF
ENDIF
IFTOTALFEN<=0ORTOTALFEN>100THEN
总分在1100分之内!
ENDIF
ELSE试卷大题数不得为0!
IFtesttime<=0ORtesttime>=4(hour)THEN
考试时间必须满足0<testtime<4(hour)!
ENDIF
ENDIF
IF所有数据均合法THEN则将该试卷的相关信息存盘
ENDIF
主要有下面两个子模块:
其一:手工组卷模块
用户提交相关限制条件,由系统根据这些条件先从大的范围内调出试题,稍后再手工通过复选按钮细选以生成自己所需的试卷,即利用现有的试题库,可编制出多份试卷。在组卷时,可以对所选的每一试题进行增删,顺序进行调整,并可自行规定各大(小)题分数和试卷的考试时间(默认值前已述及)。总之,能作出用户完全满意的试卷,以供在线考试或测试使用。
其好处关键在于选题随机性强、成卷速度较快、试卷质量高;知识考核点分布均匀,且内容覆盖面容易控制。例如,期中考试时,只考前一半内容时,只要选取章节码小于或等于某个指定的值,则一定不会出现后一半内容的试题。
其二:计算机自动卷模块
完全由系统自动按照"易-中-难"顺序和根据用户选择的信息,灵活、随机的抽取试题库中的各类试题组成试卷,试卷内容会随着库中试题的改变而改变,试卷库中没有保存试卷的基本信息及相应的试题编号,不妨称之为活动的互动的试卷。不过,其试卷质量不高,难易程度把握不当,知识考核点分布不均,一般只作在线练习使用。
4.3.4、进入在线考场模块
进入在线考场是本系统非常重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要输入已编辑好的试卷编号,就可以调出其试卷进行在线考试或测试,其答题信息通过单、复选按钮选择答案来反映。为了防止考生多次提交试卷和规范考场纪律,采取自愿交卷和到了规定的时间自动收卷两者有机结合的方式、限制考试时间和期限以及禁用鼠标等办法予以实现。但真正的无人监视的考试好象不能用软件实现,而且其安全性在系统设计中也很重要。因此,在设计过程中注意了以下几个问题:
1、只有考生自己才能参加考试!2、考试时间到了将自动交卷!
3、限制提交次数,暂只提供一次机会!4、禁止用户联网作弊!
上图为此模块程序设计详细流程图
4.3.5、在线练习模块
计算机自动组卷模块组成的互动的试卷(卷库中没有保存此类试卷的任何信息!)是通过单复选按钮来反映用户的做题信息。它主要用于平时的在线练习等,让用户了解自身的不足,并有针对性地进行复习和训练。因此,用户做完后,只要点击"查看答案",就可以与相应试题的标准答案对比,以便及时反馈情况,而没有提供成绩判定与分析和时间限制等。
4.3.6、成绩分析与试卷评估模块
考生每参加一次考试,系统根据已有的标准答案很快得出其分数,再根据不同的分数段给出相异的评语。一方面与其它同科考生进行横向对比,得出各个考生之间的差别;另一方面,也通过用户一段时期内参加同科考试的成绩来做纵向比较,用以说明其掌握该科目内容的实际程度,以便做出相应的决定。另外,管理员先给出一套完整试卷的预先评估,然后由系统自动根据同一试卷编号的所有用户成绩给出其实际的评估,并且都有一个难度等级,把两次评估进行比较得出该卷的难易程度以及更详细的评估情况。
4.3.7、删除模块
在整个系统中,只有系统管理员具有此权限。管理员通过复选按钮选择要删除的用户、留言、试卷及科目,而对于数量较大的试题库则通过输入或选择条件,就可达到删除那些过时的无用的试题,当然,对于那些恶意破坏系统的用户,管理员有权删除他,以示惩罚。这样就可确保数据库不至于十分庞大和其安全性。五、ADO--ActiveXDataObject操作数据库的几个步骤
第一步数据库数据来源设定。若要访问数据库,需在"控制面板"中的"ODBCDataSources",建立数据库名称(选择UsersDSN),点击"Add"按钮,选定数据库所用的驱动程序和文件等。
第二步使用"Server.CreateObject"建立连接的对象,并使用"Open"打开待访问的数据库。setadocon=Server.CreateObject("ADODB.Connection");adocon.Open"zxtest"
第三步设定SQL命令,使用"Execute"命令,即可开始执行访问数据库的动作。sqlstr="select*fromjsjwlwherestbhlike'PD'orderbystbhASC"
setrs=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文件:<scriptlanguage="VBScript">
<!--'WrittenbyHeKai2001
Functiondatacheck()'确保前台输入数据合法
dimerrflag,msg
errflag=True
ifLen(Trim(luru.xzsj.value))=0Then
focusto(1);errflag=false;msg="请输入'选自书籍名称'"
ElseIfLen(Trim(luru.stnr.value))=0Then
focusto(9);errflag=false;msg="'试题内容'呢"
ElseIfLen(Trim(luru.A.value))=0Then
focusto(10);errflag=false;msg="'答案_A'呢"
┋┋┋
ElseIfLen(Trim(luru.F.value))=0Then
focusto(15);errflag=false;msg="请还原成默认值"
Endif
If(errflag=false)then
msg=msg&vbCRLF
MsgBoxmsg,64,"提示"
ExitFunction
Endif
datacheck=errflag;luru.Submit
EndFunction
Subfocusto(x)'将鼠标定位在出错处
document.luru.elements(x).focus()
EndSub
--></script>
以下是录入试题.inc文件:<scriptLanguage="VBScript"RunAt="Server">
Functioncheck_Pass()'检查库中是否已有此数据
kmxxmc=Request.Form("kmxxmc")
stbh=Request.Form("stbh")stnr=Request.Form("stnr")
SQLstr="select*from"&kmxxmc&"wherestbh="&"'"&stbh&"'"
SQLstr=SQLstr&"ortmnr="&"'"&stnr&"'"
setadocon=Server.CreateObject("ADODB.Connection")
adocon.Open"zxtest"
setsa1=adocon.Execute(SQLstr)
Ifsa1.EOFThen
check_Pass=False
Else
check_Pass=True
EndIf
sa1.Closeadocon.Close
EndFunction
SubAdd_Comment()'开始插入数据并显示出来
Dimkmxxmc,xzsj,tmlx,nycd,jxyq,stbh,stnr
DimA,B,C,D,E,F,bzda,lrz,Picstr,SQLstr,lr_date,zhang,jie
kmxxmc=Request.Form("kmxxmc")xzsj=Request.Form("xzsj")
┋┋┋
bzda=Request.Form("bzda")zhang=Request.form("zhang")
setadocon=Server.CreateObject("ADODB.Connection")
adocon.Open"zxtest"
SQLstr="insertinto"&kmxxmc&"(xzsj,tmlx,tmnd,jxyq,stbh,tmnr,bxda_a,"
SQLstr=SQLstr&",jie,lrz)values("&"'"&xzsj&"',"&"'"&tmlx&"',"
┋┋┋
SQLstr=SQLstr&"',"&"'"&date&"',"&"'"&zhang&"',"&"'"&jie&"',"SQLstr=SQLstr&"'"&lrz&"')"
setsa1=adocon.Execute(SQLstr)
Picstr="<imgsrc='/images/hekai.jpg'>"
Response.Write"恭喜!此为<i>"&lrz&"</i>刚才录入的试题"
Response.WritePicstr&"试题编号:"&stbh
Response.Write"试题内容:"&stnr&"<br>"
Response.Write"答案_A:"&A&"<br>"
┋┋┋
adocon.Close
EndSub
SubRegister()
Ifcheck_Pass()Then'如果库中已有的话,则给出提示信息
Show_Warning()
Else'否则添加进去
Add_Comment()
EndIf
EndSub
SubShow_Warning()'给出提示信息的函数
Response.Write("<p>")
Response.Write("<center>很抱歉<p>")
Response.Write("库中已有此试题编号或试题内容,请返回前页修改!")
Response.Write("</center>")
Response.Write("Madebyhekaihimselfin2001")
EndSub
</script>
此为"检索试题"的程序代码:
<scriptLanguage="VBScript"RunAt="Server">
Functionadjust_sql(adj_str)
'目的转换查询字符串中的特殊字符至SQL指令
Dimfinal_str,i'WRITEBYHEKAI2001
adj_str=Trim(adj_str)
final_str=""'每次从传进来的字符串中取出一个字符,并判断是否为下述三个字符之一:DOS的Filter符号"|"、左中括号"["以及单引号"'"
IfLen(adj_str)>0Then
Fori=1ToLen(adj_str)
SelectCaseMid(adj_str,i,1)
Case"[":final_str=final_str&"[[]"
Case"|":final_str=final_str&"[{-}]"
Case"'":final_str=final_str&"[&-()"
CaseElse:'以上皆非则什么事都不做!
final_str=final_str&Mid(adj_str,i,1)
EndSelect
Next
EndIf
adjust_sql=final_str
EndFunction
SubOutput_shiti()
Dimkmxxmc,xzsj,stbh,zhang,jie,tmlx,nycd,jxyq,lrz,stnr,cond_count,Picstr
DimSQLstr,mf,zhangfw,jiefw,stbhfw,nycdfw,lr_datefw,lr_date
'记录指定条件的栏位总数
cond_count=10;mf="%"
Picstr="<imgsrc='/images/hk.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)
IfLen(xzsj)=0Thencond_count=cond_count-1
IfLen(stbh)=0Thencond_count=cond_count-1
┋┋┋
IfLen(stnr)=0Thencond_count=cond_count-1
SQLstr="select*from"&kmxxmc&"where"
IfLen(stbh)>0Then
SQLstr=SQLstr&"stbh"&stbhfw&"'"&stbh&"'"
Ifcond_count>1Then
SQLstr=SQLstr&"and"
cond_count=cond_count-1
EndIf
EndIf
┋┋┋
IfLen(stnr)>0Then
SQLstr=SQLstr&"tmnrlike"&"'"&mf&stnr&mf&"'"
Ifcond_count>1Then
SQLstr=SQLstr&"and"
cond_count=cond_count-1
EndIf
EndIf
SQLstr=SQLstr&"orderbylr_dateDESC"
setadocon=Server.CreateObject("ADODB.Connection")
adocon.Open"zxtest"
setsa1=adocon.Execute(SQLstr)
Ifsa1.EOFThen
Response.Write"<br><center><h1>"
Response.Write"Sorry!<p>"
Response.Write"没有找到试题,"
esponse.Write"请重试一次!</center><p>"
Response.Write"<hr></h1>"
Else
i=0
Response.Write"<h2>"
Response.Write"符合条件的试题相关内容如下:"
Response.Write"</h2>"
WhileNotsa1.EOF
i=i+1
Response.Write"第<i>"&i&"</i>题题编号:<i>"&sa1("stbh")&"</i><br>"
Response.Write"试题内容:"&sa1("tmnr")&"<br>"
┋┋┋
Response.Write"答案A:"&sa1("bxda_a")&"<br>"
sa1.MoveNext
WEnd
adocon.Close
EndIf
EndSub
</script>
<%'"检索试卷"的查询方式源代码
mf="%"
selectcaserequest("findfs")
case"sjbh"
sqlstr="SELECT*FROMtbsjxxWHERE"&"sjbhLIKE"
sqlstr=sqlstr&"'"&mf&request("findfsz")&mf&"'orderbyksrqDESC"
┋┋┋
case"lr_date"
sqlstr="SEL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度BIM在历史文化遗址保护合同范本3篇
- 专项2024民用爆破器材供应及服务协议版
- 个人工程承包合同(2024版)版B版
- 2024年节能减排服务协议
- 2025年度剧本改编权授权合同3篇
- 2024音乐喷泉景区旅游纪念品开发与销售合同3篇
- 二零二五年度线上线下整合营销方案合作协议2篇
- 2025年度厂房装修工程临时用电及安全管理合同4篇
- 2025年现代化厂房购置及安装服务合同范本二3篇
- 2025年度新能源设备买卖合同规范范本4篇
- 2023年辽宁省交通高等专科学校高职单招(英语)试题库含答案解析
- GB/T 33688-2017选煤磁选设备工艺效果评定方法
- GB/T 304.3-2002关节轴承配合
- 漆画漆艺 第三章
- CB/T 615-1995船底吸入格栅
- 光伏逆变器一课件
- 货物供应、运输、包装说明方案
- (完整版)英语高频词汇800词
- 《基础马来语》课程标准(高职)
- IEC61850研讨交流之四-服务影射
- 《儿科学》新生儿窒息课件
评论
0/150
提交评论