在線考試系統(tǒng)論文論文_第1頁
在線考試系統(tǒng)論文論文_第2頁
在線考試系統(tǒng)論文論文_第3頁
在線考試系統(tǒng)論文論文_第4頁
在線考試系統(tǒng)論文論文_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

./目錄TOC\o"1-2"\h\z\u第1章系統(tǒng)分析31.1開發(fā)背景31.2系統(tǒng)需求分析31.3開發(fā)環(huán)境4第2章系統(tǒng)設(shè)計52.1系統(tǒng)架構(gòu)52.2系統(tǒng)功能模塊62.3系統(tǒng)數(shù)據(jù)庫設(shè)計8第3章系統(tǒng)實(shí)現(xiàn)113.1管理員主頁面113.2添加課程193.3考試界面20第4章系統(tǒng)測試23第5章結(jié)束語24參考文獻(xiàn)25摘要:本文主要研究了題庫管理系統(tǒng)的設(shè)計與開發(fā),研究該課題的主要目的是便于學(xué)生進(jìn)行測試、復(fù)習(xí)知識,學(xué)生可以登錄此系統(tǒng)進(jìn)行答題,實(shí)現(xiàn)考、測一體化,提高學(xué)校的教學(xué)質(zhì)量和效率。系統(tǒng)主要用VS2005以及SQL2005來實(shí)現(xiàn)。關(guān)鍵字:在線考試系統(tǒng)題庫Sql2005.第1章系統(tǒng)分析1.1開發(fā)背景隨著互聯(lián)網(wǎng)的發(fā)展、廣泛普及以及校園網(wǎng)的發(fā)展,計算機(jī)考試已成為一種趨勢,運(yùn)用計算機(jī)考試一方面可以節(jié)省人力物力,另一方面也給師生帶來了方便,所以設(shè)計出一款界面友好型、經(jīng)濟(jì)實(shí)用型的軟件已經(jīng)迫在眉睫、刻不容緩?,F(xiàn)代高等教育中,網(wǎng)絡(luò)的運(yùn)用是提高學(xué)校教學(xué)效果和教學(xué)效率、提高科研和管理水平的必要手段。目前的一個發(fā)展趨勢是采用大規(guī)模試題庫的計算機(jī)網(wǎng)絡(luò)考試模式,隨著計算機(jī)網(wǎng)絡(luò)在生產(chǎn)生活、科技教育中的普及,傳統(tǒng)的考試出卷、答卷方式以及學(xué)績管理正發(fā)生著巨大的變革,因此,如何使考試過程變得方便、高效、快捷、公正,是現(xiàn)代教育的一個重要課題。當(dāng)前國際上許多考試認(rèn)證,例如GRE、CISCO,其出題、答卷以及評分都是在計算機(jī)上完成的。無紙化的考試形式有著其科學(xué)、及時、準(zhǔn)確、公平等優(yōu)點(diǎn),具有傳統(tǒng)考試形式無法替代和比擬的優(yōu)勢,一方面可以防止考生心存僥幸,投機(jī)取巧;另一方面它保密性高,考試時間靈活,提高了學(xué)校的教學(xué)水平。本文設(shè)計的是一套基于微軟SQLserver2005數(shù)據(jù)庫的網(wǎng)絡(luò)軟件系統(tǒng).1.2系統(tǒng)需求分析功能需求系統(tǒng)應(yīng)提供用戶登錄識別,對試題進(jìn)行增、刪、改、查詢功能,自動生成試題,自動判卷功能等。性能需求[1]系統(tǒng)反應(yīng)時間應(yīng)在2s內(nèi),主存容量應(yīng)該為256MB,磁盤容量最少應(yīng)為80GB,在安全性方面應(yīng)該防止SQL注入等??煽啃钥捎眯孕枨笤诳荚嚻陂g不能出現(xiàn)系統(tǒng)崩潰情況,當(dāng)遇到的斷電等突發(fā)情況,應(yīng)該有一定的恢復(fù)措施,在一個月內(nèi)在任何一臺計算機(jī)上該系統(tǒng)不可用的時間不能超過2%。出錯處理需求當(dāng)插入的數(shù)據(jù)出現(xiàn)是系統(tǒng)應(yīng)該給一個友好的提示,比如彈出一個對話框進(jìn)行提示等。1.3開發(fā)環(huán)境數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),是計算機(jī)科學(xué)的重要分支[2]。今天,信息資源已成為各個部門的重要財富和資源。十年來,數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序包發(fā)展成為通用系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)的結(jié)構(gòu)化、可控冗余度、較高的程序與數(shù)據(jù)獨(dú)立性、易于擴(kuò)充、易于編制應(yīng)用程序等優(yōu)點(diǎn),因此,作為信息系統(tǒng)核心和和基礎(chǔ)的數(shù)據(jù)庫技術(shù)得到了越來越廣泛的應(yīng)用,越來越多的新的應(yīng)用領(lǐng)域采用數(shù)據(jù)庫技術(shù)來存儲和處理信息資源,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計之上的。由于用到的數(shù)據(jù)表格多,學(xué)生基本信息的變動較大,我們選用SQLServer作為數(shù)據(jù)庫開發(fā),而不用Access,主要是因為Access存放的記錄,在實(shí)際運(yùn)用中不適合此系統(tǒng);而SQLServer是一種常用的關(guān)系數(shù)據(jù)庫,能存放和讀取大量的數(shù)據(jù),管理眾多并發(fā)的用戶,使用方便快捷,故選用SQLServer數(shù)據(jù)庫。用VB語言進(jìn)行編碼。VB編程語言是微軟在.NET計劃中重要的開發(fā)語言,它具有語法簡單,功能強(qiáng)大,快速應(yīng)用,語言自由,強(qiáng)大的Web服務(wù)器控件,支持跨平臺,與XML相融合等。因此選擇VB編程語言。第2章系統(tǒng)設(shè)計2.1系統(tǒng)架構(gòu)整個系統(tǒng)分為三個部分,管理員、學(xué)生和主界面。由于每個用戶的權(quán)限不同,所以用戶進(jìn)入系統(tǒng)應(yīng)該進(jìn)行身份驗證。根據(jù)不同的身份權(quán)限進(jìn)入不同的操作界面,進(jìn)行不同的操作,瀏覽不同的頁面。學(xué)生進(jìn)入考試系統(tǒng)后,能進(jìn)行考試,以及查看自己的考分。對于每個考試者來說,試卷的試題和題量都應(yīng)是相同的,并且為了保證考試的公平性,每個考生只限制抽取一次題??荚囌哌x擇答案提交后,由計算機(jī)自動判卷,得到成績后立即顯示出來??荚囃戤吅?用戶應(yīng)該退出系統(tǒng)。對于管理員來說,可以根據(jù)需要往數(shù)據(jù)庫錄入試題,還能對題庫進(jìn)行增、刪、改、查、等操作。本系統(tǒng)是以WindowsXP系統(tǒng)為操作平臺,在.NET2005環(huán)境下編程實(shí)現(xiàn)。系統(tǒng)ER圖:11N111管理員學(xué)生試卷信息管理選擇題管理生成考試姓名密碼性別學(xué)號密碼用戶名題編號內(nèi)容選項NNN1N1圖2-1系統(tǒng)E-R圖所屬科目填空題編號內(nèi)容答案所屬科目1判斷題編號內(nèi)容所屬科目簡答題編號內(nèi)容所屬科目試題信息題編號名稱題數(shù)分?jǐn)?shù)管理2.2系統(tǒng)功能模塊本題庫管理系統(tǒng)分為用戶管理模塊、學(xué)生管理模塊、題庫管理模塊、試卷生成管理模塊、考試查詢模塊、考試頁面管理模塊六個模塊。在線考試系統(tǒng)在線考試系統(tǒng)學(xué)生管理用戶管理試題查詢試卷生成隨機(jī)組卷成績查詢修改密碼管理員學(xué)生題庫管理考試頁面試題添加添加填空題添加選擇題添加判斷題添加科目自動判卷隨機(jī)組卷圖2-2系統(tǒng)模塊圖學(xué)生用例圖[3]:查看成績查看成績個人信息管理考試進(jìn)行查看個人信息學(xué)生圖2-3學(xué)生用例圖管理員用例圖:試題管理試題管理題庫管理學(xué)生管理用戶管理管理員包括學(xué)生信息的添加、修改、刪除只可查看自己的信息,無法修改和注冊查詢試題添加試題圖2-4管理員用例圖2.3系統(tǒng)數(shù)據(jù)庫設(shè)計綜合以上分析,要實(shí)現(xiàn)上面的所有功能模塊,本題庫系統(tǒng)共有8個數(shù)據(jù)表,分別是:選擇題信息表、判斷題信息表、填空題信息表、問答題信息表、試題科目表、管理員信息表、試卷信息表和試卷內(nèi)容表。表2-1管理員信息表<admin>列名含義數(shù)據(jù)類型長度缺省值允許空admin_id用戶名Varchar100無否admin_pwd密碼Varchar100無否表2-2試題科目表<Sub>列名含義數(shù)據(jù)類型長度缺省值允許空QuestionSub試題科目nvarchar50無否表2-3選擇題信息表<SingleSel>列名含義數(shù)據(jù)類型長度缺省值允許空QuestionID試題編號char20無否Question試題內(nèi)容ntext16無否列名含義數(shù)據(jù)類型長度缺省值允許空Choice_A選項Anvarchar50無否Choice_B選項Bnvarchar50無否Choice_C選項Cnvarchar50無否Choice_D選項Dnvarchar50無否Answer正確答案char10無否QuestionSub所屬科目nvarchar50無否QuestionTime錄入時間nvarchar50無否QuestionType試題類型nvarchar50無否表2-4判斷題信息表<RightOrWrong>列名含義數(shù)據(jù)類型長度缺省值允許空QuestionID試題編號char20無否Question試題內(nèi)容ntext16無否Answer正確答案char10無否QuestionSub所屬科目nvarchar50無否QuestionTime錄入時間nvarchar50無否QuestionType試題類型nvarchar50無否表2-5填空題信息表<Filling>列名含義數(shù)據(jù)類型長度缺省值允許空QuestionID試題編號char20無否Question試題內(nèi)容ntext16無否Answer正確答案nvarchar50無否QuestionSub所屬科目nvarchar50無否QuestionTime錄入時間nvarchar50無否QuestionType試題類型nvarchar50無否表2-6問答題信息表<EssayQuestion>列名含義數(shù)據(jù)類型長度缺省值允許空QuestionID試題編號char20無否Question試題內(nèi)容ntext16無否Answer正確答案ntext16無否QuestionSub所屬科目nvarchar50無否QuestionTime錄入時間nvarchar50無否QuestionType試題類型nvarchar50無否表2-7試卷信息表<test1>列名含義數(shù)據(jù)類型長度缺省值允許空test_number試卷編號char20無否test_name試卷名稱nvarchar100無否test_sub試卷科目nvarchar100無否test_score試卷分值float8無否xzQuantity選擇題數(shù)量int4無是xzScore選擇題分值float8無是pdQuantity判斷題數(shù)量int4無是pdScore判斷題分值float8無是tkQuantity填空題數(shù)量int4無是tkScore填空題分值float8無是wdQuantity問答題數(shù)量int4無是wdScore問答題分值float8無是表2-8試卷內(nèi)容表<QuestionPaper>列名含義數(shù)據(jù)類型長度缺省值允許空test_number試卷編號char20無否PaperSerial試卷中的題號char20無是QuestionID試題編號char20無否QuestionType試題類型varchar50無否Score試題分值float8無否第3章系統(tǒng)實(shí)現(xiàn)3.1管理員主頁面管理員頁面包括用戶登錄Login.aspx頁面.圖3-1學(xué)生主界面對于用戶名用RequiredFieldValidator控件[4]來判斷其不能為空,對于判斷登錄用戶是否合法,用If<dr.Read<>>來判斷。Dimusername,passwordAsStringusername=TexUserName.Text.ToString<>.Trim<>password=TexPassword.Text.ToString<>.Trim<>DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">DimcmdAsNewOleDbCommand<"select*fromadminwhereadmin_id='"&username&"'andadmin_pwd='"&password&"'",conn>conn.Open<>DimdrAsOleDbDataReader=cmd.ExecuteReader<>If<dr.Read<>>ThenSession<"admin_id">=usernameIfDropDLAdmin.SelectedItem.Value="管理員"ThenResponse.Redirect<"admin.aspx">ElseIfDropDLAdmin.SelectedItem.Value="學(xué)生"ThenResponse.Redirect<"Student.aspx">EndIfElseIfMsgBox<"你輸入的用戶名密碼有誤?。。?>ThenEndIfconn.Close<>Admin.aspx管理員主頁面:圖3-2題庫管理主界面使用普通按鈕Response.Redirect<"PassWordAlter.aspx">語句來實(shí)現(xiàn)頁面之間的跳轉(zhuǎn)。Response.Redirect<"PassWordAlter.aspx">PassWordAlter.aspx頁面來修改密碼〔其中Session<"admin_id">為從Login.aspx頁面?zhèn)鱽淼淖兞浚簣D3-3密碼修改界面Dimjiumima,xinmima1,xinmima2AsStringjiumima=TextBox1.Text.ToString<>.Trim<>xinmima1=TextBox2.Text.ToString<>.Trim<>xinmima2=TextBox3.Text.ToString<>.Trim<>DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<"select*fromadminwhereadmin_id='"&Session<"admin_id">&"'andadmin_pwd='"&jiumima&"'",conn>conn.Open<>Dimdr1AsOleDbDataReader=cmd1.ExecuteReader<>'判斷記錄是否存在If<dr1.Read<>>ThenIfTextBox2.Text=TextBox3.TextThenDimcmd2AsNewOleDbCommand<"updateadminsetadmin_pwd='"&xinmima1&"'whereadmin_id='"&Session<"admin_id">&"'",conn>Dimdr2AsOleDbDataReader=cmd2.ExecuteReader<>MsgBox<"恭喜,密碼修改成功">ElseIfMsgBox<"兩次輸入的密碼不一致">ThenEndIfElseIfMsgBox<"你輸入的密碼有誤!!!">ThenEndIfconn.Close<>添加試題、查詢試題頁面〔試題管理頁面TestManagement.aspx,其中在頁面TestManagement.aspx用Session<"biaoming">來保存表名。圖3-4試題管理界面頁面加載時代碼如下:Session<"QuestionType">=DropDownList1.Text.ToString<>.Trim<>添加試題按鈕單擊事件代碼如下:IfDropDownList1.Text="選擇題"ThenResponse.Redirect<"AddSingle.aspx">ElseIfDropDownList1.Text="填空題"ThenResponse.Redirect<"AddFilling.aspx">ElseIfDropDownList1.Text="判斷題"ThenResponse.Redirect<"AddRightOrWrong.aspx">ElseIfDropDownList1.Text="問答題"ThenResponse.Redirect<"AddEssayQuestion.aspx">EndIf查詢按鈕單擊事件代碼如下:DataBindGridView<>DataBindGridView子過程代碼如下:SubDataBindGridView<>Dimstrsql1,strsql2,strsql3,strsql4AsStringstrsql1="selectQuestionID,Question,QuestionSub,QuestionTime,QuestionTypefromSingleSelwhereQuestionSub='"&DropDKM.Text.ToString<>.Trim<>&"'andQuestionType='"&DropDTX.Text.ToString<>.Trim<>&"'andQuestionTime='"&TexSJ.Text.ToString<>.Trim<>&"'"strsql2="selectQuestionID,Question,QuestionSub,QuestionTime,QuestionTypefromRightOrWrongwhereQuestionSub='"&DropDKM.Text.ToString<>.Trim<>&"'andQuestionType='"&DropDTX.Text.ToString<>.Trim<>&"'andQuestionTime='"&TexSJ.Text.ToString<>.Trim<>&"'"strsql3="selectQuestionID,Question,QuestionSub,QuestionTime,QuestionTypefromFillingwhereQuestionSub='"&DropDKM.Text.ToString.Trim<>&"'andQuestionType='"&DropDTX.Text.ToString<>.Trim<>&"'andQuestionTime='"&TexSJ.Text.ToString<>.Trim<>&"'"strsql4="selectQuestionID,Question,QuestionSub,QuestionTime,QuestionTypefromEssayQuestionwhereQuestionSub='"&DropDKM.Text.ToString<>.Trim<>&"'andQuestionType='"&DropDTX.Text.ToString<>.Trim<>&"'andQuestionTime='"&TexSJ.Text.ToString<>.Trim<>&"'"DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<strsql1,conn>Dimcmd2AsNewOleDbCommand<strsql2,conn>Dimcmd3AsNewOleDbCommand<strsql3,conn>Dimcmd4AsNewOleDbCommand<strsql4,conn>conn.Open<>IfDropDTX.Text="選擇題"ThenDimdr1AsOleDbDataReader=cmd1.ExecuteReader<>GridView1.DataSource=dr1GridView1.DataBind<>Session<"biaoming">="SingleSel"ElseIfDropDTX.Text="判斷題"ThenDimdr2AsOleDbDataReader=cmd2.ExecuteReader<>GridView1.DataSource=dr2GridView1.DataBind<>Session<"biaoming">="RightOrWrong"ElseIfDropDTX.Text="填空題"ThenDimdr3AsOleDbDataReader=cmd3.ExecuteReader<>GridView1.DataSource=dr3GridView1.DataBind<>Session<"biaoming">="Filling"ElseIfDropDTX.Text="問答題"ThenDimdr4AsOleDbDataReader=cmd4.ExecuteReader<>GridView1.DataSource=dr4GridView1.DataBind<>Session<"biaoming">="EssayQuestion"EndIfconn.Close<>EndSub其中DataBindGridView1子過程代碼如下:SubDataBindGridView1<>DimstrsqlAsString'建立Connection對象DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">'建立Command對象strsql="selectQuestionID,Question,QuestionSub,QuestionTime,QuestionTypefrom"&Session<"biaoming">&"whereQuestionID='"&Session<"ID">.ToString<>.Trim<>&"'"DimcmdAsNewOleDbCommand<strsql,conn>'建立DataAdapter對象DimadpAsNewOleDbDataAdapter<cmd>'建立DataSet對象DimdsAsNewDataSet<>'填充DataSet對象adp.Fill<ds,"link">'綁定數(shù)據(jù)對象GridView1.DataSource=ds.Tables<"link">.DefaultView'指定數(shù)據(jù)源GridView1.DataBind<>'執(zhí)行綁定EndSub對選擇題進(jìn)行操作的頁面AddSingle.aspx:圖3-5插入選擇題界面其中插入按鈕點(diǎn)擊事件代碼如下:Dimstrsql,shitibianhao,suoshukemu,chuangjianshijian,shitineirong,xuanxiangA,xuanxiangB,xuanxiangC,xuanxiangD,daanAsStringshitibianhao=TexSTBH.Text.ToString<>.Trim<>suoshukemu=DropDSSKM.Text.ToString<>.Trim<>chuangjianshijian=TexCJSJ.Text.ToString<>.Trim<>shitineirong=TexSTNR.Text.ToString<>.Trim<>xuanxiangA=TexXXA.Text.ToString<>.Trim<>xuanxiangB=TexXXB.Text.ToString<>.Trim<>xuanxiangC=TexXXC.Text.ToString<>.Trim<>xuanxiangD=TexXXD.Text.ToString<>.Trim<>daan=RadioBCKDA.Text.ToString<>.Trim<>strsql="insertintoSingleSel<QuestionID,Question,Choice_A,Choice_B,Choice_C,Choice_D,Answer,QuestionSub,QuestionTime,QuestionType>values<'"&shitibianhao&"','"&shitineirong&"','"&xuanxiangA&"','"&xuanxiangB&"','"&xuanxiangC&"','"&xuanxiangD&"','"&daan&"','"&suoshukemu&"','"&chuangjianshijian&"','"&Session<"QuestionType">&"'>"DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<"select*fromSingleSelwhereQuestionID='"&shitibianhao&"'",conn>conn.Open<>Dimdr1AsOleDbDataReader=cmd1.ExecuteReader<>If<Notdr1.Read<>>ThenDimcmd2AsNewOleDbCommand<strsql,conn>Dimdr2AsOleDbDataReader=cmd2.ExecuteReader<>Label1.Text="插入成功!"ElseIfMsgBox<"此題編號已經(jīng)存在?。。?>ThenEndIfconn.Close<>當(dāng)要插入的主鍵值數(shù)據(jù)庫中已經(jīng)存在時彈出提示對話框:圖3-6當(dāng)所插編號存在對填空題頁面進(jìn)行操作的頁面AddFilling.aspx:圖3-7填空題添加界面確定按鈕單擊事件代碼如下:Dimstrsql,shitibianhao,shitineirong,zhengquedaan,suoshukemu,lurushijianAsStringshitibianhao=TexSTBH.Text.ToString<>.Trim<>shitineirong=TexSTNR.Text.ToString<>.Trim<>zhengquedaan=TexCKDA.Text.ToString<>.Trim<>suoshukemu=DropDSSKM.Text.ToString<>.Trim<>lurushijian=TexCJSJ.Text.ToString<>.Trim<>strsql="insertintoFillingvalues<'"&shitibianhao&"','"&shitineirong&"','"&zhengquedaan&"','"&suoshukemu&"','"&lurushijian&"','"&Session<"QuestionType">&"'>"DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<"select*fromFillingwhereQuestionID='"&shitibianhao&"'",conn>conn.Open<>Dimdr1AsOleDbDataReader=cmd1.ExecuteReader<>If<Notdr1.Read<>>ThenDimcmd2AsNewOleDbCommand<strsql,conn>Dimdr2AsOleDbDataReader=cmd2.ExecuteReader<>Label1.Text="插入成功!"ElseIfMsgBox<"此題編號已經(jīng)存在?。。?>ThenEndIfconn.Close<>對判斷題題庫進(jìn)行操作的頁面AddRightOrWrong.aspx如下:圖3-8判斷題添加頁面其中確定按鈕單擊事件代碼如下:Dimstrsql,shitibianhao,suoshukemu,chuangjianshijian,shitineirong,cankaodaanAsStringshitibianhao=TexSTBH.Text.ToString<>.Trim<>shitineirong=TexSTNR.Text.ToString<>.Trim<>cankaodaan=RadioBCKDA.Text.ToString<>.Trim<>suoshukemu=DropDSSKM.Text.ToString<>.Trim<>chuangjianshijian=TexCJSJ.Text.ToString<>.Trim<>strsql="insertintoRightOrWrongvalues<'"&shitibianhao&"','"&shitineirong&"','"&cankaodaan&"','"&suoshukemu&"','"&chuangjianshijian&"','"&Session<"QuestionType">&"'>"DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<"select*fromRightOrWrongwhereQuestionID='"&shitibianhao&"'",conn>conn.Open<>Dimdr1AsOleDbDataReader=cmd1.ExecuteReader<>If<Notdr1.Read<>>ThenDimcmd2AsNewOleDbCommand<strsql,conn>Dimdr2AsOleDbDataReader=cmd2.ExecuteReader<>Label1.Text="插入成功!"ElseIfMsgBox<"此題編號已經(jīng)存在!?。?>ThenEndIfconn.Close<>對問答題進(jìn)行操作管理的頁面AddEssayQuestion.aspx如下:圖3-9問答題添加頁面其中確定按鈕單擊事件代碼如下:Dimstrsql,shitibianhao,shitineirong,cankaodaan,suoshukemu,lurushijianAsStringshitibianhao=TexSTBH.Text.ToString<>.Trim<>shitineirong=TexSTNR.Text.ToString<>.Trim<>cankaodaan=TexCKDA.Text.ToString<>.Trim<>suoshukemu=DropDSSKM.Text.ToString<>.Trim<>lurushijian=TexCJSJ.Text.ToString<>.Trim<>strsql="insertintoEssayQuestionvalues<'"&shitibianhao&"','"&shitineirong&"','"&cankaodaan&"','"&suoshukemu&"','"&lurushijian&"','"&Session<"QuestionType">&"'>"DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<"select*fromEssayQuestionwhereQuestionID='"&shitibianhao&"'",conn>conn.Open<>Dimdr1AsOleDbDataReader=cmd1.ExecuteReader<>If<Notdr1.Read<>>ThenDimcmd2AsNewOleDbCommand<strsql,conn>Dimdr2AsOleDbDataReader=cmd2.ExecuteReader<>Label1.Text="插入成功!"ElseIfMsgBox<"此題編號已經(jīng)存在?。。?>ThenEndIfconn.Close<>3.2添加課程添加課程頁面AddSubject.aspx如下:圖3-10課程添加頁面其中添加按鈕單擊事件如下:DimstrsqlAsStringDimkechengAsStringkecheng=TextBox1.Text.ToString<>.Trim<>strsql="insertintoSub<QuestionSub>values<'"&kecheng&"'>"DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<"select*fromSubwhereQuestionSub='"&kecheng&"'",conn>conn.Open<>Dimdr1AsOleDbDataReader=cmd1.ExecuteReader<>If<Notdr1.Read<>>ThenDimcmd2AsNewOleDbCommand<strsql,conn>Dimdr2AsOleDbDataReader=cmd2.ExecuteReader<>Label1.Text="插入成功!"ElseIfMsgBox<"此科目在數(shù)據(jù)庫中已經(jīng)存在!??!">ThenEndIfconn.Close<>若所要添加了課程在數(shù)據(jù)庫中已經(jīng)存在則彈出提示對話框:圖3-11提示對話框3.3考試界面學(xué)生點(diǎn)擊Admin.aspx界面上的試題生成按鈕就可以跳轉(zhuǎn)到考試界面TestGeneration.aspx,考試界面是用table布局。下面放置兩個Button控件,分別用于隨機(jī)生成試題和提交答案,并用一個label控件來顯示分?jǐn)?shù)。圖3-12考試界面圖其中隨機(jī)生成按鈕單擊事件中寫入代碼:DimrandAsStringDimabc<>AsStringabc=Split<"0,1,2,3,4,5,6,7,8,9",",">rand=CInt<10*<<NewRandom<>>>.NextDouble>.ToString'隨機(jī)生成一個隨機(jī)的整數(shù)Session<"rand">=rand'用S\ession來存放隨機(jī)數(shù),以便判卷時用Dimstrsql1,strsql2,strsql3,strsql4AsString'定義四個Sql查詢語句strsql1="select*fromSingleSelwhereQuestionID='"&rand&"'"strsql2="select*fromRightOrWrongwhereQuestionID='"&rand&"'"strsql3="select*fromFillingwhereQuestionID='"&rand&"'"strsql4="select*fromEssayQuestionwhereQuestionID='"&rand&"'"DimconnAsNewOleDbConnection<"Provider=SQLOLEDB.1;Password=sa;PersistSecurityInfo=True;UserID=sa;InitialCatalog=ExamTest;DataSource=.">Dimcmd1AsNewOleDbCommand<strsql1,conn>Dimcmd2AsNewOleDbCommand<strsql2,conn>Dimcmd3AsNewOleDbCommand<strsql3,conn>Dimcmd4AsNewOleDbCommand<strsql4,conn>conn.Open<>Dimdr1AsOleDbDataReader=cmd1.ExecuteReader<>Dimdr2AsOleDbDataReader=cmd2.ExecuteReader<>Dimdr3AsOleDbDataReader=cmd3.ExecuteReader<>Dimdr4AsOleDbDataReader=cmd4.ExecuteReader<>If<dr1.Read<>>Then'隨機(jī)生成選擇題在Label1中顯示,并把其正確答案顯示在TexXZT文本域中Label1.Text&="選擇題題目:"&dr1.Item<"Question">&"**"Label1.Text&="A選項:"&dr1.Item<"Choice_A">&"**"Label1.Text&="B選項:"&dr1.Item<"Choice_B">&"**"Label1.Text&="C選項:"&dr1.Item<"Choice_C">&"**"Label1.Text&="D選項:"&dr1.Item<"Choice_D">TexXZT.Text=dr1.Item<"Answer">EndIfIf<dr2.Read<>>Then'隨機(jī)生成判斷題在Label2中顯示,并把其正確答案顯示在TexTKT文本域中Label2.Text&="判斷題題目:"&dr2.Item<"Question">&""

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論