【正文】
execute (tempsql) end s。39。+papername+39。39。39。39。+str(lsnd)+39。+ken+39。39。+subject+39。39。39。39。+str(lwdt)+39。 execute (tempsql) end else begin set tempsql=39。39。+papername+39。39。39。39。+str(lsnd)+39。+ken+39。39。+subject+39。39。39。39。+str(lwdt)+39。) select wdtn if lsndwdtn begin set tempsql=39。 execute(tempsql) set lwdt=wdtbwdt set lsnd=(select avg(difficulty) from paper where papername=papername and q_type=39。39。+papername+39。39。 execute(tempsql) set tempsql=39。+ken+39。39。+subject+39。39。39。39。+str(bwdt)+39。 execute(tempsql) /* 問答題生成部分 */ declare bwdt int,lwdt int set bwdt=wdt/2 set tempsql=39。39。+papername+39。39。 execute (tempsql) end set tempsql=39。39。+papername+39。39。39。39。+ken+39。39。+str(lsnd)+39。39。39。+subject+39。39。39。39。+str(lpdt)+39。 execute (tempsql) end else begin set tempsql=39。39。+papername+39。39。39。39。+ken+39。39。+str(lsnd)+39。39。39。+subject+39。39。39。39。+str(lpdt)+39。) if lsndpdtn begin set tempsql=39。 execute(tempsql) set lpdt=pdtbpdt set lsnd=(select avg(difficulty) from paper where papername=papername and q_type=39。39。+papername+39。39。 execute(tempsql) set tempsql=39。+ken+39。39。+subject+39。39。39。39。+str(bpdt)+39。 execute(tempsql) /* 判斷題生成部分 */ declare bpdt int,lpdt int set bpdt=pdt/2 set tempsql=39。39。+papername+39。39。 execute (tempsql) end set tempsql=39。39。+papername+39。39。39。39。+ken+39。39。+str(lsnd)+39。39。39。+subject+39。39。39。39。+str(ltkt)+39。 execute (tempsql) end else begin set tempsql=39。39。+papername+39。39。39。39。+ken+39。39。+str(lsnd)+39。39。39。+subject+39。39。39。39。+str(ltkt)+39。) if lsndtktn begin set tempsql=39。 execute(tempsql) set ltkt=tktbtkt set lsnd=(select avg(difficulty) from paper where papername=papername and q_type=39。39。+papername+39。39。 execute(tempsql) set tempsql=39。+ken+39。39。+subject+39。39。39。39。+str(btkt)+39。 execute(tempsql) /* 填空題生成部分 */ declare btkt int,ltkt int set btkt=tkt/2 set tempsql=39。39。+papername+39。39。 execute (tempsql) end set tempsql=39。39。+papername+39。39。39。39。+ken+39。39。+str(lsnd)+39。39。39。+subject+39。39。39。39。+str(lxzt)+39。 execute (tempsql) end else begin set tempsql=39。39。+papername+39。39。39。39。+ken+39。39。+str(lsnd)+39。39。39。+subject+39。39。39。39。+str(lxzt)+39。) if lsndxztn begin set tempsql=39。 execute(tempsql) set lxzt=xztbxzt set lsnd=(select avg(difficulty) from paper where papername=papername and q_type=39。39。+papername+39。39。 execute(tempsql) set tempsql=39。+ken+39。39。+subject+39。39。39。39。+str(bxzt)+39。 另一個存儲過程是 paperbuild,本存儲過程主要用來生成試卷,在生成過程中,采用了二次生成的新辦法,打破了傳統(tǒng)的一次生成法,從而從根本上解決了試卷知識點和難度的控制問題,它先在知識點范圍內(nèi)生成一半的題目,然后再根據(jù)已經(jīng)生成的題目的相關(guān)數(shù)據(jù)來決定下半部分題目的生成參數(shù),因此解決了難度很知識點難以控制 的缺點,也使考試系統(tǒng)更加人性化、合理化,本存儲過程代碼如下: CREATE proc paperbuild papername char(200), subject char(10), xzt int,xztn int,tkt int,tktn int,pdt int,pdtn int, wdt int,wdtn int as /* power by : liujun address:衡陽師范學(xué)院計算機系 0102班 選擇題生成部分 */ declare bxzt int,ken varchar(8000) declare tempsql varchar(8000),lxzt int,lsnd int set bxzt=xzt/2 set ken=(select top 1 kenlist from tempkenlist where papername=papername) set tempsql=39。問答題 39。判斷題 39。填空題 39。選擇題 39。 試卷列表 本模塊只要是對試卷進行查看和刪除,由于試卷一經(jīng)生成就不便做出修改,所以本系統(tǒng)并未提供試卷 修改功能,主要對數(shù)據(jù)庫 exambaseinfo 表進行操作。()。未知錯誤,可能是您的數(shù)據(jù)跟數(shù)據(jù)庫規(guī)約發(fā)生沖突,導(dǎo)致數(shù)據(jù)無法寫入數(shù)據(jù)庫! 39。 set rrs=() sql,conn,1,3 if 0 then end if set rs=() sql=select * from question where id is null on error resume next sql,conn,1,3 rs(subject)=subject1 39。questionamp。 end sub /script 加入數(shù)據(jù)庫代碼: !include file=../ !include file= % subject1=(subject) ken=(ken) q_type=(typed) difficulty=(diff) question=(content) if q_type=選擇題 then option1=(option1) else option1= end if right_answer=(right_answer) sql=select * from question where question1 like 39。 ==) { alert(你選擇的題型是選擇題,你必須為它設(shè)置選項! ) () return false } if (==) { alert(你必須為你的題目設(shè)置正確答案! ) () return false } } /script /head body bgcolor=D6DFF7 table width=75% border=0 align=center tr tdform name=form1 method=post action= onSubmit=return form1_submit() p align=center題庫維護 增加題目 /p table width=80% border=1 align=center cellpadding=0 cellspacing=0 bordercolor=0099FF style=bordercollapse: collapse tr td width=16%div align=right科目: /div/td td width=84%font color=FF0000 select name=subject id=select style=border: 1px solid 000000 onChange=vbs:change me option value= selected未選擇 /option % dim rs_3,sql_3 set rs_3=() sql_3=select * from subject sql_3,conn,1,1 do while not sel= selected option + value=+CStr(rs_3(subject)) name=id+rs_3(subject)+/option loop % /select IFRAME id=ifr src= width=0 height=0 /IFRAME /font/td /tr tr tddiv align=right知識點: /div/td tdfont color=FF0000 select name=ken id=ken style=border: 1px solid 000000 option value=ffff/option option value=fff0/option /select