版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 學(xué)生畢業(yè)論文(設(shè)計(jì))</p><p> 題目:網(wǎng)絡(luò)在線考試系統(tǒng)設(shè)計(jì)</p><p> 畢業(yè)論文(設(shè)計(jì))開題報(bào)告表</p><p> 論文(設(shè)計(jì))來源:導(dǎo)師課題、社會實(shí)踐、自選、其他</p><p> 論文(設(shè)計(jì))類型:A—理論研究;B—應(yīng)用研究;C—軟件設(shè)計(jì)等;</p><p> 論文(設(shè)
2、計(jì))名稱網(wǎng)絡(luò)在線考試系統(tǒng)</p><p> 論文(設(shè)計(jì))來源論文(設(shè)計(jì))類型軟件設(shè)計(jì)導(dǎo) 師</p><p> 學(xué) 生 姓 名學(xué) 號20041713專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 文獻(xiàn)綜述(包括調(diào)研資料的準(zhǔn)備和收集)現(xiàn)在網(wǎng)絡(luò)技術(shù)逐漸滲入社會生活各個(gè)層面,傳統(tǒng)的考試方式必將面臨著變革,而web網(wǎng)絡(luò)考試則是一個(gè)很重要的方向。基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)可以借助
3、于遍布全球的因特網(wǎng)進(jìn)行,因此考試既可以在本地進(jìn)行,也可以在異地進(jìn)行,大大拓展了考試的靈活性。試卷可以根據(jù)題庫中的內(nèi)容即時(shí)生成,可避免考試前的壓題;而且可以采用大量標(biāo)準(zhǔn)化試題,從而使用計(jì)算機(jī)判卷,大大提高閱卷效率;還可以直接把成績送到數(shù)據(jù)庫中,進(jìn)行統(tǒng)計(jì)、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,試題內(nèi)容放在服務(wù)器上,考生通過姓名、準(zhǔn)考證號碼和口令進(jìn)行登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。利用
4、網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),結(jié)合目前硬件價(jià)格普遍下跌與寬帶網(wǎng)大力建設(shè)的有利優(yōu)勢,應(yīng)用Active Server Page技術(shù),我開發(fā)了基于B/S模式多用戶在線考試系統(tǒng)這一程序。它運(yùn)用方便、操作簡單,效率很高?,F(xiàn)階段雖然只實(shí)現(xiàn)了試卷的客觀題部分,但已具有用戶注冊、在線考試、在線評分、在線查詢、試題錄入、修改題庫、用戶管理、科目管理等重要功能,也就是說實(shí)現(xiàn)了真正的無紙化考試,滿足任何授權(quán)的考生</p><p> 選題意義(包括
5、選題的理論價(jià)值和實(shí)踐意義)現(xiàn)在學(xué)校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個(gè)步驟,即人工出卷、考生考試、人工閱卷、成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入
6、到千家萬戶。人們迫切要求利用這些技術(shù)來進(jìn)行在線考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公證!客觀!更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。為了適應(yīng)新形勢的發(fā)展,目前,國內(nèi)有很多公司團(tuán)體研究開發(fā)了許多基于web的考試系統(tǒng)。在英國,已經(jīng)實(shí)現(xiàn)了英語資格考試的網(wǎng)上學(xué)習(xí)和水平認(rèn)證全過程。在線考試是現(xiàn)階段研究開發(fā)的一個(gè)熱點(diǎn)。它是建立在國際互聯(lián)網(wǎng)上
7、的應(yīng)用系統(tǒng),客戶端的配置可以極為簡單,使考試不受地域的局限。一個(gè)完備的在線考試系統(tǒng)可以使用戶在網(wǎng)上學(xué)習(xí)過后</p><p> 研究方法(包括研究思路及技術(shù)路線)本系統(tǒng)在Windows平臺下,運(yùn)用ASP技術(shù)和SQL Server數(shù)據(jù)庫技術(shù)開發(fā),分為前后臺,前臺給學(xué)生使用,后臺主要給老師用。前臺主要包括信息注冊、考生登陸、信息查詢及修改、在線考試、成績查詢。后臺主要是管理部分,包括管理員登陸、系統(tǒng)管理模塊、考生管理模
8、塊、題庫管理模塊、監(jiān)控中心模塊。系統(tǒng)管理模塊完成密碼更改、添加管理員、刪除管理員功能,考生管理模塊完成考生注冊、考生信息查詢功能,題庫管理模塊完成試題錄入、試題修改功能,監(jiān)控中心模塊完成考試控制功能。</p><p> 時(shí)間進(jìn)度(任務(wù)完成的階段內(nèi)容及時(shí)間安排)第一階段:收集整理相關(guān)資料,確定畢業(yè)設(shè)計(jì)題目,做好畢業(yè)設(shè)計(jì)開題準(zhǔn)備及寫好開題報(bào)告。(2007年11月~2007年12月)第二階段:畢業(yè)設(shè)計(jì)總體設(shè)計(jì)和系統(tǒng)功能
9、詳細(xì)設(shè)計(jì)(2007年12月~2008年1月)第三階段:系統(tǒng)實(shí)現(xiàn)及調(diào)試運(yùn)行。(2007年1月~2008年4月)第三階段:撰寫畢業(yè)設(shè)計(jì)論文初稿。(2008年4月)第四階段:畢業(yè)設(shè)計(jì)論文修改、定稿。(2008年5月)</p><p> 指導(dǎo)教師意見指導(dǎo)教師簽名: 日期:</p><p> 教研室意見教研室主任簽名: 日期:</p>
10、;<p> 院(系)意見院(系)領(lǐng)導(dǎo)簽名: 日期:院(系)蓋章</p><p><b> 目 錄</b></p><p> 原創(chuàng)性及知識產(chǎn)權(quán)聲明……………………………………………………………Ⅰ</p><p> 開題報(bào)告表…………………………………………………………………………Ⅱ</p>
11、<p> 中文摘要及關(guān)鍵詞…………………………………………………………………Ⅵ</p><p> 英文摘要及關(guān)鍵詞…………………………………………………………………Ⅶ</p><p> 一、ASP技術(shù)簡介………………………………………………………………… 1</p><p> ?。ㄒ唬〢SP文件………………………………………………………………1<
12、;/p><p> ?。ǘ〢SP的工作原理………………………………………………………1 </p><p> ?。ㄈ〢SP內(nèi)建對象…………………………………………………………2</p><p> (四)ASP外掛對象…………………………………………………………3</p><p> ?。ㄎ澹¦eb數(shù)據(jù)庫訪問……………………………………………………
13、…3</p><p> 二、系統(tǒng)分析和功能模塊設(shè)計(jì)……………………………………………………5</p><p> 三、數(shù)據(jù)庫設(shè)計(jì)……………………………………………………………………7</p><p> 四、界面設(shè)計(jì)與應(yīng)用程序?qū)崿F(xiàn)……………………………………………………9</p><p> (一)前臺界面……………………………………………
14、…………………9</p><p> ?。ǘ┕芾斫缑妗?2</p><p> (三)主要程序?qū)崿F(xiàn)…………………………………………………………15</p><p> 五、系統(tǒng)測試………………………………………………………………………27</p><p> 六、軟件運(yùn)行環(huán)境……………………………
15、……………………………………30</p><p> 七、小結(jié)……………………………………………………………………………31</p><p> 參考文獻(xiàn)……………………………………………………………………………32</p><p> 致謝…………………………………………………………………………………33</p><p><b>
16、 摘 要</b></p><p> 隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,特別是基于Web的數(shù)據(jù)庫應(yīng)用技術(shù)的逐漸完善和成熟,使得Web數(shù)據(jù)庫技術(shù)已成為一種主流的解決方案而應(yīng)用于電子商務(wù)、遠(yuǎn)程教育、網(wǎng)絡(luò)課堂等各個(gè)領(lǐng)域。在線考試系統(tǒng)是隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,應(yīng)運(yùn)而生的一種非常實(shí)用的系統(tǒng),現(xiàn)在很多國家的大學(xué)和社會其他部門都已開設(shè)了遠(yuǎn)程教育、考試系統(tǒng)等等。</p><p> 本文在
17、分析網(wǎng)絡(luò)考試的發(fā)展及現(xiàn)有模式的基礎(chǔ)上,結(jié)合計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展和素質(zhì)教育的要求,提出了計(jì)算機(jī)網(wǎng)絡(luò)自適應(yīng)考試的模式,并在技術(shù)實(shí)現(xiàn)上進(jìn)行了詳細(xì)的分析。本系統(tǒng)是在Windows XP下,以IIS4.1(Internet Information Server)網(wǎng)絡(luò)信息服務(wù)為應(yīng)用服務(wù)器,選擇ASP、SQL Server 2000開發(fā)在線考試系統(tǒng),采用Web技術(shù)實(shí)現(xiàn),Web技術(shù)超越了傳統(tǒng)的“客戶機(jī)/服務(wù)器”的兩層結(jié)構(gòu),采用的是三層體系(B/S)結(jié)構(gòu)
18、:用戶端/服務(wù)器端/數(shù)據(jù)庫,因此Web結(jié)構(gòu)有著更好的安全性,在用戶機(jī)上不需要安裝任何應(yīng)用程序。本系統(tǒng)實(shí)現(xiàn)在線注冊、隨機(jī)生成試卷、在線管理試卷、在線評分等功能,同時(shí)該系統(tǒng)避免了傳統(tǒng)在線考試效率低,可維護(hù)性不高的缺點(diǎn)。</p><p> 關(guān)鍵詞:ASP SQL Server 2000 B/S結(jié)構(gòu) Web技術(shù)</p><p><b> Abstract</b></
19、p><p> With computer technology and the rapid development of Internet technology, especially Web-based database application technology gradually improve and mature, and making Web database technology has becom
20、e a mainstream solution and applied to e-commerce, distance education, classroom, and other network field. Online examination system, with the rapid development of network technology, born a very practical system, many c
21、ountries, universities and other sectors of society have created a long-distan</p><p> Based on the analysis of network test and the development of the existing model on the basis of the development of comp
22、uter network technology and the requirements of quality education, I advance a computer network adaptive test mode, and the technical realization of a detailed analysis. The system is Windows XP, to IIS4.1 (Internet Info
23、rmation Server) network information services for the application server, select ASP, SQL Server 2000, the development of online exam system using Web technology,</p><p> Keywords:ASP SQL Server 2000 B/S St
24、ructure Web Technology </p><p><b> 在線考試系統(tǒng)</b></p><p><b> 一、ASP技術(shù)簡介</b></p><p> ASP(Active Server Pages,活動(dòng)服務(wù)器頁面)是微軟公司于1996年11月推出的一種Web應(yīng)用程序開發(fā)技術(shù)。它提供了一個(gè)在服務(wù)器執(zhí)
25、行腳本指令的環(huán)境,使用它可以創(chuàng)建動(dòng)態(tài)Web頁面,或者生成功能強(qiáng)大的、交互的Web應(yīng)用程序。它的源代碼均在服務(wù)器端運(yùn)行,運(yùn)行的結(jié)果以HTML代碼的形式輸出到客戶端。利用ASP不僅能夠產(chǎn)生動(dòng)態(tài)的、交互的、高性能的Web應(yīng)用程序,而且可以進(jìn)行復(fù)雜的數(shù)據(jù)庫操作。ASP是目前開發(fā)動(dòng)態(tài)網(wǎng)頁的一種常用技術(shù),主要運(yùn)行于Windows NT或Windows 2000 Server平臺,其Web服務(wù)器為IIS4.0/5.0。</p><
26、p><b> (一)ASP文件</b></p><p> ASP文件是以.asp為擴(kuò)展名的文本文件,該文件可以包含以下內(nèi)容:</p><p> 純文本:文本時(shí)直接顯示給用戶的信息,主要在用戶瀏覽器中顯示這些 信息,是簡單的ASCII文本。</p><p> HTML標(biāo)記:HTML使用定界符小于號“<”和
27、“>”來區(qū)別于其他內(nèi)容。</p><p> ASP語句:ASP語句包括了Web服務(wù)器上運(yùn)行ASP的一些指令,通過Web服務(wù)器上的動(dòng)態(tài)庫asp.dll執(zhí)行各種ASP命令。每個(gè)ASP的語句都在“<%”和“%>”限定符號中。 </p><p> 腳本語言:ASP內(nèi)嵌了VBScript腳本和JavaScript腳本。</p><p> ?。ǘ〢SP的
28、工作原理</p><p> 當(dāng)瀏覽器向Web服務(wù)器請求調(diào)用ASP文件時(shí),就啟動(dòng)了ASP。瀏覽器將這個(gè)ASP的請求(HTML請求)發(fā)送到IIS,Web服務(wù)器接受這個(gè)請求并調(diào)入正確的ASP文件,Web服務(wù)器將這個(gè)文件發(fā)送到一個(gè)叫asp.dll的文件中。該文件負(fù)責(zé)獲得一個(gè)ASP文件并對該文件內(nèi)所有服務(wù)器端的代碼進(jìn)行解析,它會在該文件中查找所有的腳本代碼,將這些腳本代碼發(fā)送到合適的腳本引擎(即腳本解釋器),然后使用如V
29、BScript等腳本語言進(jìn)行解釋。腳本代碼的運(yùn)行結(jié)果重新結(jié)合該ASP文件中原有的其他文件如文本內(nèi)容及HTML代碼,Web服務(wù)器將最終生成的頁面發(fā)送到客戶端的瀏覽器中進(jìn)行顯示。如果沒有查找到任何腳本代碼,則會通知IIS直接將這些文件發(fā)送到客戶端。若腳本指令中含有訪問數(shù)據(jù)庫的請求,就通過ODBC與后臺數(shù)據(jù)庫相連,由數(shù)據(jù)庫訪問組件ADO執(zhí)行訪問數(shù)據(jù)庫操作,如下圖1-1所示。</p><p> 圖1-1 ASP工作原
30、理圖</p><p> ?。ㄈ〢SP內(nèi)建對象</p><p> 在網(wǎng)絡(luò)程序的訪問過程中,瀏覽器的操作者需要與服務(wù)器之間交換各種數(shù)據(jù)。ASP通過其提供的一些內(nèi)建對象,使用戶更容易收集通過瀏覽器請求發(fā)送的信息、響應(yīng)瀏覽器以及存儲用戶信息。</p><p> 表1-1 ASP主要內(nèi)置對象功能一覽表</p><p> ?。ㄋ模〢SP外掛對象&
31、lt;/p><p> ASP在存取數(shù)據(jù)庫時(shí),經(jīng)常結(jié)合使用ADO(ActiveX Data Object)技術(shù),以實(shí)現(xiàn)存取數(shù)據(jù)庫的功能。這樣就允許在網(wǎng)頁上不但可以建立數(shù)據(jù)庫的網(wǎng)頁內(nèi)容,還可以在網(wǎng)頁里執(zhí)行SQL操作,用戶可以在網(wǎng)頁上對數(shù)據(jù)庫進(jìn)行查詢、刪除及新增等操作。ADO里的主要對象如下表。</p><p> 表1-2 ASP主要外掛對象功能一覽表</p><p>
32、 ?。ㄎ澹¦eb數(shù)據(jù)庫訪問技術(shù)</p><p> 隨著Internet技術(shù)的飛速發(fā)展,人們不再滿足只在Web瀏覽器上獲取靜態(tài)信息,于是基于Web方式的數(shù)據(jù)庫技術(shù)營運(yùn)而生。ADO是微軟提供的一種面向?qū)ο蟮臄?shù)據(jù)庫訪問技術(shù)。 ADO是ASP內(nèi)置的重要組件,通常ADO可以使用不同的數(shù)據(jù)接口訪問數(shù)據(jù)庫。下圖是ASP通過ADO來訪問SQL SERVER 數(shù)據(jù)庫的具體流程:</p><p> 圖1-
33、2 ASP 訪問數(shù)據(jù)庫流程</p><p> ADO把絕大部分的數(shù)據(jù)庫操作封裝在其內(nèi)部的7個(gè)對象中,在ASP網(wǎng)頁中可以通過這些對象的調(diào)用來方便地完成相應(yīng)的數(shù)據(jù)庫操作。(其具體對象見表1-2)。ADO還提供了4個(gè)數(shù)據(jù)集合:</p><p> 表1-3 ADO數(shù)據(jù)集合</p><p> 二、系統(tǒng)分析和功能模塊設(shè)計(jì)</p><p> 在
34、線考試系統(tǒng)采用網(wǎng)絡(luò)編程語言—ASP語言并結(jié)合功能強(qiáng)大的SQL Server 數(shù)據(jù)庫技術(shù)。系統(tǒng)采用B/S模式建立題庫,并設(shè)置隨機(jī)抽題和自動(dòng)判分功能。其網(wǎng)絡(luò)應(yīng)用原理如下圖:</p><p> 圖2-1在線考試系統(tǒng)網(wǎng)絡(luò)應(yīng)用原理</p><p> 在線考試系統(tǒng)包括兩個(gè)功能模塊,前臺考試模塊和后臺管理模塊。其具體功能模塊如下圖:</p><p> 圖2-2在線考試系統(tǒng)功
35、能模塊劃分</p><p> 整個(gè)系統(tǒng)的邏輯結(jié)構(gòu)設(shè)計(jì)如下圖: </p><p><b> 三、 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,可以列出以下5個(gè)主要的數(shù)據(jù)表,以及表中的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。</p><p> 管理員信息數(shù)據(jù)表(Admin)</p><
36、;p> 學(xué)生基本信息數(shù)據(jù)表(Student)</p><p> 試題表 (Test)</p><p> 成績表(Score)</p><p> 試題信息表(Testinfo)</p><p> 四、界面設(shè)計(jì)與應(yīng)用程序?qū)崿F(xiàn)</p><p> 在Test目錄下有一個(gè)文件夾images,它是用來存放程序中使
37、用到的圖片的,程序所有文件都放在test目錄下,下面用表格列舉一下主要的文件及功能。</p><p> 表4-1 在線考試系統(tǒng)主要文件的功能</p><p><b> ?。ㄒ唬┣芭_界面</b></p><p> 打開瀏覽器,在地址欄輸入http://localhost/mytest/default.asp,按回車后,就會看到如圖4-1所示
38、效果。</p><p> 圖4-1在線考試系統(tǒng)功首頁面</p><p> 如果你是新用戶,則先要注冊,單擊“注冊”按鈕,就會彈出如圖4-2所示的注冊頁面。</p><p><b> 圖4-2注冊頁面</b></p><p> 圖4-3注冊成功提示框</p><p> 假設(shè)我們注冊了一個(gè)學(xué)
39、生,姓名和密碼都為test 在注冊頁面中輸入,單擊注冊,會彈出注冊成功對話框,如圖4-3。這時(shí)你可以登錄考試系統(tǒng),在姓名和密碼文本框中輸入“test”,然后單擊登錄,進(jìn)入了考生主頁面,如圖4-4所示。</p><p> 圖4-4 考生主頁面</p><p> 在這里,點(diǎn)擊“考生信息查詢及修改”進(jìn)入考生信息查詢及修改,在這個(gè)頁面你可以查詢信息,修改信息。點(diǎn)擊“在線考試”進(jìn)入在線考試界面,
40、如圖4-5到4-7所示,</p><p> 圖4-5 選擇科目頁面 </p><p><b> 圖4-6 考試頁面</b></p><p> 圖4-7考試結(jié)果頁面</p><p><b> (二)管理界面</b></p><p> 單擊界面中的“管理”按鈕,進(jìn)入管理
41、員登錄頁面,在賬號和密碼中輸入admin后登錄進(jìn)入后臺主頁面如圖所示。</p><p> 圖4-8 管理員登錄頁面</p><p><b> 圖4-9 管理頁面</b></p><p> 在后臺主頁面中尼可以選擇管理學(xué)生、管理考試科目,管理管理員、查看學(xué)生及成績和添加試題。</p><p> 圖4-10 管理學(xué)生
42、頁面</p><p> 圖4-11 管理管理員頁面</p><p> 圖4-12管理科目頁面</p><p> 圖4-13成績查看頁面</p><p> 圖4-14試題管理頁面</p><p><b> (三)主要程序?qū)崿F(xiàn)</b></p><p> 1、數(shù)據(jù)庫連
43、接文件conn.asp</p><p><b> <%</b></p><p> dim conn </p><p> dim connstr</p><p> call conn_init()</p><p> sub conn_init()</p><p
44、> connstr="provider=SQLOLEDB.1;server=localhost; database=data;uid=sa;"</p><p> set conn=server.createobject("ADODB.CONNECTION")</p><p> if err.number<>0 then <
45、;/p><p><b> err.clear</b></p><p> set conn=nothing</p><p> response.write "數(shù)據(jù)庫連接出錯(cuò)!<a href=""javascript:history.back();"">返回</a>&quo
46、t;</p><p> Response.End</p><p><b> else</b></p><p> conn.open connstr</p><p> if err then </p><p><b> err.clear</b></p>
47、<p> set conn=nothing</p><p> response.write"數(shù)據(jù)庫連接出錯(cuò)!<a href=""javascript:history.back();"">返回</a>"</p><p> Response.End </p><p>&
48、lt;b> end if</b></p><p><b> end if </b></p><p><b> end sub</b></p><p> sub dbclose()</p><p> conn.close</p><p> se
49、t conn=nothing</p><p><b> end sub</b></p><p> function chkStr(str)</p><p> chkStr=replace(trim(str),"'","''")</p><p> en
50、d function</p><p><b> %></b></p><p> 2、考生登錄界面實(shí)現(xiàn)</p><p> <!--#include file="conn.asp"--></p><p><b> <%</b></p>&
51、lt;p> if Request.ServerVariables("http_method")="POST" then '學(xué)生登錄的處理</p><p> dim rs,sql</p><p> set rs = server.createobject("adodb.recordset")</p>
52、<p> sql="select* from student where stu_name='" & chkStr(Request("name")) & "'"</p><p> rs.open sql,conn,1,1</p><p> if err.number<>
53、;0 then </p><p> response.write "數(shù)據(jù)庫操作失?。?lt;a href=""javascript:history.back();"">返回</a>"&err.description</p><p><b> rs.close</b></p&
54、gt;<p> call dbclose</p><p> response.End()</p><p><b> else</b></p><p> if not rs.eof then</p><p> if chkStr(Request("pwd"))=trim(rs(&
55、quot;stu_pass")) then</p><p> session("studentname")=trim(rs("stu_name"))</p><p><b> rs.close</b></p><p> call dbclose</p><p>
56、Response.Redirect "stumain.asp"</p><p><b> end if</b></p><p><b> end if</b></p><p> session("studentname")=""</p><
57、;p> response.write "<center>對不起,請輸入正確的用戶名和密碼。</center><a href=""javascript:history.back();"">返回</a>"</p><p><b> rs.close</b></p>
58、<p> call dbclose</p><p> response.End()</p><p><b> end if </b></p><p><b> end if</b></p><p><b> %></b></p><
59、p> 3、管理員登錄實(shí)現(xiàn) </p><p> <% option explicit %></p><p> <!--#include file="conn.asp"--></p><p><b> <% </b></p><p> if request(&
60、quot;m")="m" then '管理員登錄的處理</p><p> session("name")=trim(request("name1"))</p><p> session("password")=trim(request("password1"))&
61、lt;/p><p> dim rs,sql</p><p> set rs = server.createobject("adodb.recordset")</p><p> sql="select * from admin where adminname='" & chkStr(request("
62、;name1")) & "'"</p><p> rs.open sql,conn,1,1</p><p> 'response.write session("name")</p><p> if err.number<>0 then </p><p>
63、; response.write "數(shù)據(jù)庫操作失?。?quot;&err.description</p><p><b> else</b></p><p> if not rs.eof then</p><p> if rs("adminpass")=chkStr(request("pa
64、ssword1")) then</p><p><b> rs.close</b></p><p> session("name")=trim(request("name1"))</p><p> set rs=nothing</p><p> call dbcl
65、ose()</p><p> Response.Redirect "primarypage.asp"</p><p><b> end if</b></p><p><b> end if</b></p><p> response.write "<fon
66、t class=text15>對不起,請輸入正確的管理員帳號和密碼。如果您不是管理員,請立即放棄!</font><br>"</p><p><b> rs.close</b></p><p><b> end if</b></p><p><b> end if<
67、;/b></p><p><b> %></b></p><p><b> 4、考試界面實(shí)現(xiàn)</b></p><p> 首先是一個(gè)包含文件,實(shí)現(xiàn)與數(shù)據(jù)庫的關(guān)聯(lián),下面是頁面跳轉(zhuǎn)函數(shù)</p><p> <script language="JavaScript"
68、;></p><p> function finishTest()</p><p><b> {</b></p><p> form1.action="result.asp";</p><p> form1.method="post";</p><
69、p> form1.submit();</p><p><b> }</b></p><p><b> </script></b></p><p> 對時(shí)間的處理是一個(gè)比較重要的技術(shù),下面是本系統(tǒng)實(shí)現(xiàn)提示時(shí)間的動(dòng)態(tài)顯示:</p><p> <SCRIPT langua
70、ge=javascript></p><p><b> <!--</b></p><p> var testtime = <%=session("testtime")%>;</p><p> var havetime = testtime*60; //考試時(shí)間長度:秒</p>&
71、lt;p> var sec=0;</p><p> var iTotal=0; //總共用時(shí)</p><p> var bAlert=false;</p><p> var min=0;</p><p> var hou=0;flag=0;idt=window.setTimeout("update();&
72、quot;,1000);</p><p> function update(){</p><p><b> sec++;</b></p><p><b> iTotal++;</b></p><p> if(sec==60) {sec=0;min+=1;}</p><p
73、> if(min==60) {min=0;hou+=1;}</p><p> if(havetime<(iTotal+60)&&!bAlert)</p><p><b> {</b></p><p> alert("考試中心提醒你:考試還有1分鐘就要結(jié)束,請馬上檢查并提交你的答案!");
74、</p><p> bAlert=true;</p><p><b> }</b></p><p> if(havetime<iTotal)</p><p><b> {</b></p><p> document.form1.Submit.disabled=
75、true;</p><p> finishTest()</p><p><b> }</b></p><p> document.form1.left.value=hou+"時(shí)"+min+"分"+sec+"秒";idt=window.setTimeout("update
76、();",1000);</p><p><b> }</b></p><p><b> //--></b></p><p><b> </SCRIPT></b></p><p><b> 隨機(jī)抽題實(shí)現(xiàn):</b></
77、p><p><b> <%</b></p><p> dim i,sql,rs,count,temp,strid1,strid2,strA,strB,strC,strD,strQuestion</p><p><b> strid1=""</b></p><p><
78、b> strid2=""</b></p><p><b> randomize</b></p><p> for i=1 to session("snumber")</p><p> set rs=server.createobject("adodb.recordset
79、")</p><p> sql="select * from test where subjectname='"&session("selectsubjectname") & "'and type='單選題' and haveselect=0 " '得到所有符合條件的試題</p&
80、gt;<p> rs.open sql,conn,1,2</p><p> if not rs.eof then</p><p> count=rs.recordcount'當(dāng)前所選試題還未被選擇的總數(shù)</p><p> temp=fix(count*rnd(10))'從總數(shù)中隨機(jī)選題</p><p>
81、 rs.move temp</p><p> rs("haveselect")=1'已經(jīng)被選擇進(jìn)行標(biāo)注</p><p> strA=trim(rs("A"))</p><p> strB=trim(rs("B"))</p><p> strC=trim(rs(&quo
82、t;C"))</p><p> strD=trim(rs("D"))</p><p> strQuestion=trim(rs("question"))</p><p> strid1=strid1 & rs("ID") & ","</p>
83、<p><b> rs.update</b></p><p><b> end if </b></p><p><b> %></b></p><p><b> 5、評分實(shí)現(xiàn)</b></p><p> 先提出交卷信息,與數(shù)據(jù)庫中的
84、答案進(jìn)行比較,從而得出分?jǐn)?shù)</p><p><b> <%</b></p><p> subjectname=session("selectsubjectname")</p><p> studentname=session("studentname")</p><p>
85、; singlenumber=session("snumber")</p><p> singleper=session("singleper")</p><p> multinumber=session("mnumber")</p><p> multiper=session("mult
86、iper")</p><p> endtime=now()</p><p><b> score=0</b></p><p> selectstr1=request("hidQuestID1")</p><p> selectstr2=request("hidQuestID
87、2")</p><p> len1=len(selectstr1)</p><p> len2=len(selectstr2)</p><p> str1=left(selectstr1,len1-1)</p><p> str2=left(selectstr2,len2-1)</p><p> d
88、im id1,id2</p><p> id1=split(str1,",")</p><p> id2=split(str2,",")</p><p> for i=1 to snumber</p><p> result=request("no"&id1(i-1)
89、)</p><p> if not isempty(result) then</p><p> sql="select * from test where id="& clng(id1(i-1))</p><p> set rs=server.createobject("adodb.recordset")<
90、;/p><p> rs.open sql,conn,3,2 </p><p> if result=rs("answer") then</p><p> score=score+cint(singleper)</p><p><b> end if</b></p><p
91、><b> rs.close</b></p><p> set rs=nothing </p><p><b> else</b></p><p><b> end if</b></p><p><b> next </b></p&g
92、t;<p> for i=1 to mnumber</p><p> result=replace(request("no"&id2(i-1))," ","")</p><p> if not isempty(result) then</p><p> sql="s
93、elect * from test where id="& clng(id2(i-1))</p><p> set rs=server.createobject("adodb.recordset")</p><p> rs.open sql,conn,3,2 </p><p> if result=replace(
94、rs("answer")," ","") then</p><p> score=score+cint(multiper)</p><p><b> end if </b></p><p><b> rs.close</b></p><
95、;p> set rs=nothing </p><p><b> else</b></p><p><b> end if</b></p><p><b> next </b></p><p> sql="select * from score&quo
96、t;</p><p> set rs=server.createobject("adodb.recordset")</p><p> rs.open sql,conn,3,2</p><p><b> rs.addnew</b></p><p> rs("stu_name"
97、)=studentname</p><p> rs("subjectname")=subjectname</p><p> rs("endtime")=endtime</p><p> rs("score")=score</p><p><b> rs.update
98、</b></p><p><b> rs.close</b></p><p> set rs=nothing</p><p> call dbclose()</p><p> total=singlenumber*singleper+multinumber*multiper</p>&l
99、t;p> response.write("<center>"&studentname&" 你好!你的考試成績?yōu)椋?quot;&score&"分,總分為"&total&"分</center>")</p><p><b> %〉</b><
100、/p><p><b> 6、科目管理實(shí)現(xiàn) </b></p><p> <%@ Language=VBScript %></p><p> <% option explicit %></p><p> <!--#include file="conn.asp"-->
101、</p><p><b> <% </b></p><p> if session("name")="" then</p><p> %><script language="JavaScript"></p><p> alert(
102、'對不起,你無權(quán)進(jìn)入該頁!');</p><p> location.href="login.asp";</p><p><b> </script></b></p><p><b> <%</b></p><p> response.
103、End()</p><p><b> end if</b></p><p> dim isedit '是否在編輯狀態(tài)</p><p> dim id,subjectname'定義變量,科目的id</p><p> dim sql,rs,rsc</p><p> isedi
104、t=false</p><p> if request("action")="edit" then</p><p> isedit=true</p><p><b> end if</b></p><p> if request("action")=&q
105、uot;modify" then '修改新科目</p><p> if trim(request("subjectname"))="" or trim(request("testtime"))="" or trim(request("multinumber"))=""or
106、 trim(request("multiper"))=""or trim(request("singlenumber"))=""or trim(request("singleper"))=""or trim(request("trys"))=""then </p>
107、;<p> response.write "錯(cuò)誤!請正確填寫各項(xiàng),且不能為空! <a href=mgsubject.asp>返回</a>"</p><p> response.end</p><p><b> end if</b></p><p> sql="updat
108、e testinfo set subjectname='" &cstr(chkStr(request("subjectname")))&"',testtime='"&cstr(chkStr(request("testtime")))&"',snumber='"&cstr
109、(chkStr(request("singlenumber")))&"',singleper='"&cstr(chkStr(request("singleper")))&"',mnumber='"&cstr(chkStr(request("multinumber")))&am
110、p;"',multiper='"&cstr(chkStr(request("multiper")))&"',trys='"&cstr(chkStr(request("trys"))) &"'"</p><p> conn.execute sq
111、l</p><p> if err.number <> 0 then</p><p> response.write "數(shù)據(jù)庫操作出錯(cuò):" + err.description</p><p><b> else %></b></p><p> <script langu
112、age=vbscript></p><p> msgbox "操作成功!<%=trim(request("subjectname"))%>科目的信息已經(jīng)更新!"</p><p><b> </script></b></p><p><b> <%end
113、if</b></p><p><b> end if</b></p><p> if request("action")="add" then '添加科目</p><p> if trim(request("subjectname"))=or trim(r
114、equest("testtime"))="" or trim(request("multinumber"))=""or trim(request("multiper"))=""or trim(request("singlenumber"))=""or trim(request(&
115、quot;singleper"))=""or trim(request("trys"))="" then</p><p> response.write "錯(cuò)誤!所有項(xiàng)均不能為空! <a href=# onclick='javascript:window.history.go(-1)'>返回</a&
116、gt;"</p><p> response.end</p><p><b> end if</b></p><p> set rs=server.createobject("adodb.recordset") '檢查科目名是否重名</p><p> rs.open &q
117、uot;select * from testinfo where subjectname='" & cstr(chkStr(request("subjectname"))) & "'",conn,1,1</p><p> if err.number <> 0 then</p><p> res
118、ponse.write "數(shù)據(jù)庫出錯(cuò)"</p><p> else if not rs.bof and not rs.eof then</p><p> response.write "錯(cuò)誤!該科目已經(jīng)存在! <a href=# onclick='javascript:window.history.go(-1)'>返回<
119、/a>"</p><p> response.end</p><p><b> end if</b></p><p><b> end if</b></p><p><b> rs.close</b></p><p> set
120、rs=nothing</p><p> sql="insert into testinfo(subjectname,testtime,snumber,singleper,mnumber,multiper,trys) values('" & cstr(chkStr(request("subjectname"))) & "','
121、;" & cstr(chkStr(request("testtime"))) & "','" & cstr(chkStr(request("singlenumber"))) & "','" & cstr(chkStr(request("singleper")
122、)) & "','" & cstr(chkStr(request("multinumber"))) & "','" & cstr(chkStr(request("multiper"))) & "','" & cstr(chkStr(reques
123、t("trys"))) & "')"</p><p> conn.execute sql</p><p> if err.number <> 0 then</p><p> response.write "數(shù)據(jù)庫操作出錯(cuò):" + err.description</p&
124、gt;<p><b> else %></b></p><p> <script language=vbscript></p><p> msgbox "操作成功!新科目<%=trim(request("subjectname"))%>的信息添加成功!"</p>&
125、lt;p><b> </script></b></p><p><b> <%end if</b></p><p><b> end if</b></p><p> if request("action")="del" then
126、 '刪除用戶</p><p> sql="delete from testinfo where id=" &request("id")</p><p> conn.execute sql</p><p> if err.number <> 0 then</p><p>
127、; response.write "數(shù)據(jù)庫操作錯(cuò)誤:" + err.description</p><p><b> err.clear</b></p><p><b> else %></b></p><p> <script language=vbscript></p
128、><p> msgbox "操作成功!科目<%=trim(request("subjectname"))%>的信息已刪除!"</p><p><b> </script></b></p><p><b> <% end if</b></p>
129、<p><b> end if</b></p><p><b> %></b></p><p><b> 7、試題管理實(shí)現(xiàn)</b></p><p> <%@ Language=VBScript %></p><p> <% opt
130、ion explicit %></p><p> <!--#include file="conn.asp"--></p><p><b> <% </b></p><p> if session("name")="" then</p><
131、;p> %> <script language="JavaScript"></p><p> alert('對不起,你無權(quán)進(jìn)入該頁!');</p><p> location.href="login.asp";</p><p><b> </script>&
132、lt;/b></p><p> <%response.End()</p><p><b> end if</b></p><p> dim isedit '是否在修改狀態(tài)</p><p> dim color '表格顏色</p><p> dim sql
133、,rs</p><p> dim subjectname</p><p> dim number '每頁顯示的文章數(shù)目</p><p> dim curpage, i,page </p><p> subjectname=trim(request("subjectname"))</p>&
134、lt;p><b> color=1</b></p><p> function invert(str) </p><p> invert=replace(replace(replace(replace(str,"<","<"),">",">&quo
135、t;),"<br>",chr(13))," "," ")</p><p> end function</p><p> number=5 '顯示試題數(shù)默認(rèn)值</p><p> isedit=false</p><p> if reque
136、st("action")="edit" then</p><p> isedit=true</p><p><b> end if</b></p><p> if request("action")="del" then '刪除</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----在線考試系統(tǒng)
- 在線考試系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)----網(wǎng)上在線考試系統(tǒng)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- java在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 網(wǎng)絡(luò)考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---在線考試系統(tǒng)設(shè)計(jì)與開發(fā)
- 畢業(yè)設(shè)計(jì)----在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開題報(bào)告
- c語言在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開題報(bào)告
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)開題報(bào)告
評論
0/150
提交評論