版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 基于internet的考試系統(tǒng)</p><p><b> 二○一一年五月</b></p><p> 基于internet的考試系統(tǒng)</p><p><b> 摘 要</b></p>
2、<p> 隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,學(xué)校教學(xué)和管理的信息化發(fā)展也有長足的進(jìn)步,這就要求各個(gè)環(huán)節(jié)都均衡發(fā)展,從軟硬件雙方面把學(xué)校建設(shè)成一流的信息管理、教育教學(xué)的平臺(tái)。本文設(shè)計(jì)開發(fā)的考試管理系統(tǒng)也是其中重要的一個(gè)方面。該系統(tǒng)本著減輕教師工作負(fù)擔(dān)、提高工作效率、優(yōu)化學(xué)生考試的流程,增強(qiáng)參加考試學(xué)生的身份識(shí)別,比傳統(tǒng)的考試模式節(jié)省人力財(cái)力和時(shí)間。 </p><p> 系統(tǒng)分為三大模塊:用戶注冊模塊、考試
3、模塊和系統(tǒng)管理模塊。其中系統(tǒng)管理模塊是進(jìn)行題目的添加、存儲(chǔ)和刪除,是系統(tǒng)運(yùn)行的基礎(chǔ);查詢子模塊實(shí)現(xiàn)了對(duì)學(xué)生考試信息遠(yuǎn)程查詢??荚嚹K是客戶端學(xué)生或教師通過自己的姓名和學(xué)號(hào)以及密碼登陸系統(tǒng),進(jìn)入界面時(shí)由系統(tǒng)按照出題教師預(yù)先設(shè)置好的試卷結(jié)構(gòu)從題庫中隨機(jī)抽取適合的題目,形成試卷。 </p><p> 關(guān)鍵詞:考試 試卷 自動(dòng) 系統(tǒng) ASP</p><p>
4、; DESIGN OF EXAM SYSTEM BASED ON THE INTERNET </p><p><b> ABSTRACT</b></p><p> With the rapid development of computer technology, school teaching and management of information tec
5、hnology development has made great progress, which requires a balanced development of all aspects, from hardware and software both sides School put information into a first-class management, education and teaching platfo
6、rm. In this paper, design and development of test management system is one of important aspect. The system is based on reducing the workload of teachers, improve work efficiency, a</p><p> System is divided
7、 into three modules: User Registration module, test module and system management module. One of system management module is to add a topic, store and delete, are the basic system is running; query module the students ach
8、ieve a remote query exam information. Examination module is a client of students or teachers, through their own name and study number, and password login system, to enter the interface by the system in accordance with pr
9、e-set questions of teachers from the best p</p><p> Keywords: automated system ASP exam papers</p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><
10、p> ABSTRACTII</p><p><b> 引言1 </b></p><p> 1系統(tǒng)設(shè)計(jì)相關(guān)原理3 </p><p> 1.1 ASP技術(shù)介紹3 </p><p> 1.2 Access數(shù)據(jù)庫介紹5</p><p> 1.2.1 Access數(shù)據(jù)庫的用途
11、5 </p><p> 1.2.2 Access數(shù)據(jù)庫的優(yōu)點(diǎn)6</p><p> 1.3 ASP與Access數(shù)據(jù)庫鏈接7 </p><p> 1.4 ASP查詢Access數(shù)據(jù)庫7</p><p><b> 2需求分析9 </b></p><p> 2.1 系統(tǒng)需要解決的主
12、要問題9 </p><p> 2.2 系統(tǒng)應(yīng)該具備的基本功能9</p><p> 3 系統(tǒng)總體設(shè)計(jì)10</p><p> 3.1基本簡介10 </p><p> 3.2運(yùn)行環(huán)境與系統(tǒng)結(jié)構(gòu)10</p><p> 3.3系統(tǒng)結(jié)構(gòu)圖11</p><p> 3.4 詳細(xì)設(shè)計(jì) 1
13、1</p><p> 3.4.1試題設(shè)計(jì)11</p><p> 3.4.2數(shù)據(jù)庫詳細(xì)設(shè)計(jì)11</p><p> 3.4.3功能模塊詳細(xì)設(shè)計(jì)16</p><p><b> 4 系統(tǒng)實(shí)現(xiàn)18</b></p><p> 4.1 系統(tǒng)流程圖設(shè)計(jì) 18 </p>&l
14、t;p> 4.2 各文件功能介紹及詳解 18</p><p> 4.2.1<default.asp頁介紹> 18 </p><p> 4.2.2<register.asp頁介紹>20 </p><p> 4.2.3<selectsubject.asp頁介紹>23</p><p>
15、 4.2.4<test.asp頁介紹>24</p><p> 4.2.5<result.asp頁介紹>26 </p><p> 4.2.6<primary.asp頁介紹>29</p><p> 4.2.7<mgstudent.asp頁介紹>30 </p><p> 4.2.8&l
16、t;mgadmin.asp頁介紹>33</p><p> 4.2.9<mgsubject.asp頁介紹>36</p><p><b> 5.結(jié)論40</b></p><p><b> 結(jié)束語40</b></p><p><b> 參考文獻(xiàn)41</b
17、></p><p><b> 謝 辭42</b></p><p><b> 引 言</b></p><p> 隨著技術(shù)的飛速發(fā)展,現(xiàn)在很多國外的大學(xué)和社會(huì)其他部門都已經(jīng)開設(shè)了教學(xué),通過計(jì)算機(jī)實(shí)現(xiàn)異地教育和培訓(xùn)?,F(xiàn)在,計(jì)算機(jī)硬件技術(shù)的發(fā)展已經(jīng)達(dá)到了相當(dāng)高的水平。但是,教學(xué)軟件的開發(fā)目前還處于起步階段,隨著這
18、項(xiàng)技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應(yīng)用到教學(xué)當(dāng)中去,這就給軟件設(shè)計(jì)人員提出了更高的設(shè)計(jì)要求。</p><p> 教學(xué)包括很多環(huán)節(jié),例如教學(xué)系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個(gè)環(huán)節(jié)就是基于Internet的考試系統(tǒng),同時(shí)它也是最難實(shí)現(xiàn)的環(huán)節(jié)。在我國,雖然教學(xué)已經(jīng)蓬勃地發(fā)展起來,但是目前學(xué)校與社會(huì)上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個(gè)步驟,即人工出題、
19、考生考試、人工閱卷、成績評(píng)估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì)越來越大,并且其工作將是一件十分煩瑣和非常容易出錯(cuò)的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應(yīng)現(xiàn)代考試的需要。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,應(yīng)用不斷擴(kuò)大,如教學(xué)和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切要求利用這些技術(shù)來進(jìn)行考試,以減輕教師的工作負(fù)擔(dān)及提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀,
20、更加激發(fā)學(xué)生的學(xué)習(xí)興趣。例如目前許多國際著名的計(jì)算機(jī)公司所舉辦的各種認(rèn)證考試絕大部分采用這種方式。</p><p> 基于Internet考試是現(xiàn)階段研究開發(fā)的一個(gè)熱點(diǎn)。它是建立在國際互聯(lián)網(wǎng)上的應(yīng)用系統(tǒng),客戶端的配置可以極為簡單,使考試不受地域的局限。一個(gè)完備的考試系統(tǒng)可以使用戶在網(wǎng)上學(xué)習(xí)過后及時(shí)檢驗(yàn)自己的學(xué)習(xí)效果,已發(fā)現(xiàn)自己的不足,使得學(xué)習(xí)效率得到很大提高。在考試系統(tǒng)中題目的生成、試卷的提交、成績的批閱等都可
21、以在internent上自動(dòng)完成。只要形成一套成熟的題庫就可以實(shí)現(xiàn)考試的自動(dòng)化。這樣一來,教師所要做的只是精心設(shè)計(jì)題目、維護(hù)題庫,而不是組織考試,從而大大減輕了教師的負(fù)擔(dān),這表明其經(jīng)濟(jì)性是相當(dāng)可觀的。為了適應(yīng)新形勢的發(fā)展,我進(jìn)行了這一系統(tǒng)的初步設(shè)計(jì)工作,也可以說是做一個(gè)初步的探索,希望它能夠在各類考試中發(fā)揮高效、便捷的作用,把老師從繁重的工作中解脫出來。</p><p> 目前,應(yīng)用軟件運(yùn)行的模式主要有二類:C
22、lient/server模式,Browser/Web模式。前者主要的缺點(diǎn)是維護(hù)、升級(jí)較麻煩,后者是近幾年伴隨Internet迅速發(fā)展起來的一種技術(shù),它與客戶/服務(wù)器方式類似,客戶端是一個(gè)標(biāo)準(zhǔn)的瀏覽器,服務(wù)器端是Web Server ,而Web Server與數(shù)據(jù)庫和應(yīng)用服務(wù)器的緊密結(jié)合,使得這種模式的應(yīng)用范圍不斷擴(kuò)大,它已不僅僅用于網(wǎng)上查詢,有很多部門的業(yè)務(wù)系統(tǒng)、企業(yè)的MIS系統(tǒng)紛紛采用這種模式,它的主要優(yōu)點(diǎn)是便于擴(kuò)充應(yīng)用、升級(jí)維護(hù)簡便
23、。另外,考試系統(tǒng)的軟件也必將不斷的更新;同時(shí)軟件產(chǎn)品本身就要經(jīng)過一個(gè)不斷自我完善的過程。</p><p> 基于上述考慮,用Browser/Web模式來設(shè)計(jì)考試系統(tǒng)比較合適,服務(wù)器端我們采用Access數(shù)據(jù)庫系統(tǒng)和ASP組件來構(gòu)成考試的應(yīng)用服務(wù)系統(tǒng);客戶端采用瀏覽器來完成考試全過程,同時(shí)可進(jìn)行遠(yuǎn)程系統(tǒng)維護(hù)和管理。</p><p> 利用和數(shù)據(jù)庫技術(shù),結(jié)合目前硬件價(jià)格普遍下跌與寬帶網(wǎng)大力
24、建設(shè)的有利優(yōu)勢,應(yīng)用Active Server Page技術(shù),我開發(fā)了基于B/S模式多用戶在線考試系統(tǒng)這一程序。它運(yùn)用方便、操作簡單,效率很高(同時(shí),它要求計(jì)算機(jī)配置也很高,尤其是服務(wù)器端)?,F(xiàn)階段雖只實(shí)現(xiàn)了試卷的客觀題部分,但已具有用戶注冊、多用戶同時(shí)在線考試、動(dòng)態(tài)隨機(jī)出題、時(shí)間控制、自動(dòng)判卷,試題錄入、修改題庫、用戶管理、科目管理、管理員管理、分?jǐn)?shù)管理等重要功能,也就是說實(shí)現(xiàn)了真正的無紙化考試,滿足任何授權(quán)的考生隨時(shí)隨地考試并迅速獲
25、得成績,同時(shí)也大大減輕了教師出題、出題和判卷等繁重的工作量。</p><p> 1 系統(tǒng)設(shè)計(jì)相關(guān)原理</p><p> 該在線考試系統(tǒng)主要采用ASP、HTML、Access數(shù)據(jù)庫、VBScript、SQL等技術(shù)和工具,整體設(shè)計(jì)遵循軟件工程的方法,經(jīng)過需求分析、總體設(shè)計(jì)、文檔和代碼的編制、模塊測試和系統(tǒng)實(shí)現(xiàn)幾個(gè)階段。下面就對(duì)這幾種技術(shù)和方法做一個(gè)概述。</p><p
26、> 1.1 ASP技術(shù)介紹</p><p> Microsoft Active Server Pages 即我們所稱的ASP,其實(shí)是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境。Active Server Page 是創(chuàng)建動(dòng)態(tài)網(wǎng)頁的一個(gè)很好的工具,它起一種編程語言的作用,可以利用它編寫動(dòng)態(tài)產(chǎn)生HTML的程序代碼。因此,只要用戶瀏覽Web站點(diǎn)并請(qǐng)求一個(gè)ASP頁,Web服務(wù)器就可以處理相應(yīng)的ASP代碼,生成HTML代碼,
27、然后將它傳遞到用戶瀏覽器并顯示出網(wǎng)頁。ASP內(nèi)含于IIS3.0和6.0之中,通過ASP我們可以結(jié)合HTML網(wǎng)頁、ASP指令和ActiveX元件建立動(dòng)態(tài)、交互且高效的WEB服務(wù)器應(yīng)用程序。有了ASP就不必?fù)?dān)心客戶的瀏覽器是否能運(yùn)行所編寫的代碼,因?yàn)樗械某绦蚨紝⒃诜?wù)器端執(zhí)行,包括所有嵌在普通HTML中的腳本程序。當(dāng)程序執(zhí)行完畢后,服務(wù)器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負(fù)擔(dān),大大提高了交互的速度。以下羅列了AS
28、P所獨(dú)具的一些特點(diǎn):</p><p> 1.使用VBScript 、JScript等簡單易懂的腳本語言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。</p><p> 2.無須編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。</p><p> 3.使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計(jì)。</p><p> 4.與瀏
29、覽器無關(guān),用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計(jì)的網(wǎng)頁內(nèi)容。ASP所使用的腳本語言(VBScript 、Jscript)均在WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。</p><p> 5.ASP能與任何ActiveX scripting語言相容。除了可使用VBScript或JScript語言來設(shè)計(jì)外,還通過plug-in的方式,使用由第三方所提供的其他腳本語言,譬如R
30、EXX、Perl、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model)物件。</p><p> 6.ASP的源程序,不會(huì)被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。</p><p> 7.可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。</p><p> 8.物件導(dǎo)向(Object-oriented)
31、。</p><p> 9.ActiveX Server Components(ActiveX服務(wù)器元件)具有無限可擴(kuò)充性??梢允褂肰isual Basic 、Java 、Visual C++ 、COBOL等編程語言來編寫你所需要的ActiveX Server Component。</p><p> 10.另外,ASP技術(shù)的處理速度相當(dāng)快,并且其安全性也很高。ASP最重要的優(yōu)點(diǎn)是能夠建立
32、對(duì)諸如時(shí)間、地點(diǎn)、用戶標(biāo)志、以前的選擇和活動(dòng)等因素敏感的頁面。換句話說,可針對(duì)每個(gè)用戶的個(gè)別需求,用ASP定制網(wǎng)頁,能夠滿足用戶的各種需求。</p><p> 總之,ASP包含三方面含義:</p><p> 1.Active:ASP使用了微軟的ActiveX技術(shù)。ActiveX(COM)技術(shù)是現(xiàn)在Microsoft軟件的重要基礎(chǔ)。它采用封裝對(duì)象,程序調(diào)用對(duì)象的技術(shù),簡化編程,加強(qiáng)程序間
33、合作。ASP本身封裝了一些基本組件和常用組件,有很多公司也開發(fā)了很多實(shí)用組件。只要你可以在服務(wù)器上安裝這些組件,通過訪問組件,你就可以快速、簡易地建立自己的WEB應(yīng)用。</p><p> 2.Server:ASP運(yùn)行在服務(wù)器端。這樣就不必?fù)?dān)心瀏覽器是否支持ASP所使用的編程語言。ASP的編程語言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個(gè)簡集,會(huì)VB的人可以很方便的快速上手。然而Nets
34、cape瀏覽器不支持客戶端的VBSCRIPT,所以最好不要在客戶端使用VBSCRIPT。而在服務(wù)器端,則無需考慮瀏覽器的支持問題。Netscape瀏覽器也可以正常顯示ASP頁面。</p><p> 3.Pages:ASP返回標(biāo)準(zhǔn)的HTML頁面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁面源文件時(shí),看到的是ASP生成的HTML代碼,而不是ASP程序代碼。這樣就可以防止別人抄襲程序。</p><
35、;p> 與一般的程序不同,ASP程序無須編譯。ASP程序的控制部份,是使用VBScript、JScript等腳本語言來設(shè)計(jì)的,當(dāng)執(zhí)行ASP程序時(shí),腳本程序?qū)⒁徽酌畎l(fā)送給腳本解釋器(即腳本引擎),由腳本解釋器進(jìn)行翻譯并將其轉(zhuǎn)換成服務(wù)器所能執(zhí)行的命令。當(dāng)然,同其他編程語言一樣,ASP程序的編寫也遵循一定的規(guī)則,如果你想使用你所喜愛的腳本語言編寫ASP程序,那么你的服務(wù)器上必須要有能解釋這種腳本語言的腳本解釋器。當(dāng)你安裝ASP時(shí),
36、系統(tǒng)提供了兩種腳本語言:VBSrcipt和JScript,而VBScript則被作為系統(tǒng)默認(rèn)的腳本語言。</p><p> ASP程序其實(shí)是以擴(kuò)展名為.asp的純文本形式存在于WEB服務(wù)器上的,可以用任何文本編輯器打開它,ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令。只需將.asp程序放在Web服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),就可以通過WWW的方式訪問ASP程序了。要學(xué)好ASP程序的設(shè)計(jì)
37、,必須掌握腳本的編寫,那么究竟什么是腳本呢?其實(shí)腳本是由一系列的腳本命令所組成的,如同一般的程序,腳本可以將一個(gè)值賦給一個(gè)變量,可以命令Web服務(wù)器發(fā)送一個(gè)值到客戶瀏覽器,還可以將一系列命令定義成一個(gè)過程。要編寫腳本,你必須要熟悉至少一門腳本語言,如VBScript。腳本語言是一種介于HTML和諸如JAVA、Visual Basic、C++等編程語言之間的一種特殊的語言,盡管它更接近后者,但它卻不具有編程語言復(fù)雜、嚴(yán)謹(jǐn)?shù)恼Z法和規(guī)則。如前
38、所述ASP所提供的腳本運(yùn)行環(huán)境可支持多種腳本語言,譬如:JScript、REXX、PERL等等,這無疑給ASP程序設(shè)計(jì)者提供了廣泛的發(fā)揮余地。ASP的出現(xiàn)使得廣大Web設(shè)計(jì)者不必在為客戶瀏覽器是否支持而擔(dān)心,實(shí)際上就算在同一個(gè).asp文件中使用不同的腳本語言,都無須為此</p><p> ASP的對(duì)象和組件:</p><p> 1.ASP有7個(gè)固有對(duì)象</p><p
39、> 這7個(gè)固有對(duì)象分別是Request、Response、Server、Application、Session、ASPError和ObjectContext。</p><p> 2.Microsoft Data Access Component</p><p> MDAC作為操作系統(tǒng)的組成部分的組件,與ASP一起提供。此組件中包含一組稱為ActiveX Data Object(
40、ADO)的對(duì)象,他們對(duì)于查看不同平臺(tái)上的各種數(shù)據(jù)(數(shù)據(jù)庫、表單、文本文件)是必不可少的。ADO主要有3個(gè)對(duì)象,分別是Connection、Command和Recordset。</p><p><b> 3.活動(dòng)服務(wù)器組件</b></p><p> 活動(dòng)服務(wù)器組件是與ASP一起免費(fèi)帶來的組件或DLL,他們有著廣泛的用途。主要包括AD Rotator、Browser
41、Capabilities、Content Link、Content Rotator、Counters、logging Utility、MyInfo、Page Counter、permission Checker、tools等組件。由于本次設(shè)計(jì)用到的不多,在此就不詳細(xì)介紹了</p><p><b> 4.ASP腳本對(duì)象</b></p><p> 他們分別是Dicti
42、onary、FileSystemObject和TextStream.由于本設(shè)計(jì)用到的也不多,在此就不詳細(xì)介紹了。</p><p> 1.2 Access數(shù)據(jù)庫介紹</p><p> Microsoft Office Access是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。是一款操作簡單,易學(xué)的數(shù)據(jù)庫。它結(jié)合了 Microsoft Jet Database Engine 和 圖形用戶界面兩項(xiàng)特點(diǎn)
43、,是 Microsoft Office 的系統(tǒng)程式之一。Assess能夠存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料。熟練 Microsoft Office Access的軟件設(shè)計(jì)師和資料分析師利用它來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的"進(jìn)階用戶"則能使用它來開發(fā)簡單的應(yīng)用軟件。</p><p> 1.
44、2.1 Access數(shù)據(jù)庫用途</p><p> Microsoft Access在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門,和喜愛編程的開發(fā)人員專門利用它來制作處理數(shù)據(jù)的桌面系統(tǒng)。它也常被用來開發(fā)簡單的WEB應(yīng)用程序.這些應(yīng)用程序都利用ASP技術(shù)在Internet Information Services運(yùn)行。比較復(fù)雜的WEB應(yīng)用程序則使用PHP/MySQL或者ASP/Microsoft SQL Se
45、rver.它的使用方便程度和強(qiáng)大的設(shè)計(jì)工具為初級(jí)程序員提供許多功能。不過,這種便于使用可能使人誤解。這類開發(fā)者都是沒有在應(yīng)用或者數(shù)據(jù)設(shè)計(jì)方面訓(xùn)練的辦公室從業(yè)人員。因此許多人以為這樣的開發(fā)者能夠創(chuàng)造可用的系統(tǒng),但也有很多人認(rèn)為工具本身的局限性產(chǎn)生了這樣的誤導(dǎo)。一些專業(yè)的應(yīng)用程序開發(fā)人員使用 Access 用作快速應(yīng)用開發(fā),特別是給街道上的推銷員制作一個(gè)初型或獨(dú)立應(yīng)用程序的工具??墒侨绻峭競€(gè)網(wǎng)絡(luò)存取數(shù)據(jù)的話,Access 的可擴(kuò)放性并不高
46、.因此當(dāng)程序被較多使用者使用時(shí),他們的選擇多會(huì)是傾向于一些客戶端-服務(wù)器為本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Se</p><p> 1.2.2 Access數(shù)據(jù)庫優(yōu)點(diǎn)</p><p> Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一
47、。它提供了表、查詢、窗體、報(bào)表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。</p><p> Access是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其主要特點(diǎn)如下:</p><p><b> ?。?)存儲(chǔ)方式
48、單一</b></p><p> Access管理的對(duì)象有表、查詢、窗體、報(bào)表、頁、宏和模塊,以上對(duì)象都存放在后綴為(.mdb)的數(shù)據(jù)庫文件種,便于用戶的操作和管理。</p><p><b> (2)面向?qū)ο?lt;/b></p><p> Access是一個(gè)面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種功能對(duì)象化,將數(shù)據(jù)
49、庫管理的各種功能封裝在各類對(duì)象中。它將一個(gè)應(yīng)用系統(tǒng)當(dāng)作是由一系列對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和外國,用戶還可以按需要給對(duì)象擴(kuò)展方法和屬性。通過對(duì)象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極大地簡化了用戶的開發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_發(fā)方式,使得開發(fā)應(yīng)用程序更為簡便。</p><p> ?。?)界面友好、易操作</p><p> Access是一個(gè)可
50、視化工具,是風(fēng)格與Windows完全一樣,用戶想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫向?qū)?、表向?qū)А⒉樵兿驅(qū)?、窗體向?qū)?、?bào)表向?qū)У裙ぞ撸沟貌僮骱啽?,容易使用和掌握?lt;/p><p> ?。?)集成環(huán)境、處理多種數(shù)據(jù)信息</p><p> Access基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向?qū)?/p>
51、和生成器工具,極大地提高了開發(fā)人員的工作效率,使得建立數(shù)據(jù)庫、創(chuàng)建表、設(shè)計(jì)用戶界面、設(shè)計(jì)數(shù)據(jù)查詢、報(bào)表打印等可以方便有序地進(jìn)行。</p><p> ?。?)Access支持ODBC(開發(fā)數(shù)據(jù)庫互連,Open Data Base Connectivity),利用Access強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的聯(lián)接和嵌入)特性,可以在一個(gè)數(shù)據(jù)表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動(dòng)態(tài)的數(shù)
52、據(jù)庫報(bào)表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動(dòng)態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪問頁對(duì)象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。</p><p> 1.3 ASP與Access數(shù)據(jù)庫鏈接</p><p> <%@language=VBscript%></p><p><b> <%</
53、b></p><p> dimconn,mdbfilemdbfile=server.mappath("數(shù)據(jù)庫名稱.mdb")</p><p> setconn=server.createobject("adodb.connection")</p><p> conn.open"driver={micro
54、softaccessdriver</p><p> (*.mdb)};uid=admin;pwd=數(shù)據(jù)庫密碼;dbq="&mdbfile</p><p><b> %></b></p><p> 1.4 ASP查詢ACCESS數(shù)據(jù)庫</p><p> 1. ASP查詢ACCESS數(shù)據(jù)的常用
55、語句</p><p> 1).SELECT 語句:命令數(shù)據(jù)庫引擎從數(shù)據(jù)庫里返回信息,作為一組記錄。</p><p> 2)INSERT INTO 語句:添加一個(gè)或多個(gè)記錄至一個(gè)表。</p><p> 3)UPDATE 語句:創(chuàng)建更新查詢來改變基于特定準(zhǔn)則的指定表中的字段值。</p><p> 4)DELETE 語句:創(chuàng)建一個(gè)刪除查詢把
56、記錄從 FROM 子句列出并符合 WHERE 子句的一個(gè)或更多的表中清除。</p><p> 5)EXECUTE 語句:用于激活 PROCEDURE(過程)</p><p><b> 2.建立記錄集對(duì)象</b></p><p> setrs=server.createobject("adodb.recordset")
57、rs.openSQL語句,conn,3,2</p><p> 3.ACCESS數(shù)據(jù)庫常用命令使用方法</p><p><b> 1)數(shù)據(jù)記錄篩選:</b></p><p> sql="select*from數(shù)據(jù)表where字段名=字段值orderby字段名[desc]"</p><p> sq
58、l="select*from數(shù)據(jù)表where字段名like'%字段值%'orderby字段名[desc]"</p><p> sql="selecttop10*from數(shù)據(jù)表where字段名orderby字段名[desc]"</p><p> sql="select*from數(shù)據(jù)表where字段名in('值1
59、39;,'值2','值 3')"</p><p> sql="select*from數(shù)據(jù)表where字段名between值1and值2"</p><p><b> 2)更新數(shù)據(jù)記錄:</b></p><p> sql="update數(shù)據(jù)表set字段名=字段值where
60、條件表達(dá)式" </p><p> sql="update數(shù)據(jù)表set字段1=值1,字段2=值2……字段n=值nwhere條件表達(dá)式</p><p><b> 3)刪除數(shù)據(jù)記錄:</b></p><p> sql="deletefrom數(shù)據(jù)表where條件表達(dá)式"</p>&l
61、t;p> sql="deletefrom數(shù)據(jù)表"(將數(shù)據(jù)表所有記錄刪除)</p><p><b> 4)添加數(shù)據(jù)記錄:</b></p><p> sql="insertinto數(shù)據(jù)表(字段1,字段2,字段3…)values(值1,值2,值3…)"</p><p> sql="ins
62、ertinto目標(biāo)數(shù)據(jù)表select*from源數(shù)據(jù)表"(把源數(shù)據(jù)表的記錄添加到目標(biāo)數(shù)據(jù)表)</p><p> (5)數(shù)據(jù)記錄統(tǒng)計(jì)函數(shù):</p><p> COUNT(*¦字段名)對(duì)數(shù)據(jù)行數(shù)的統(tǒng)計(jì)或?qū)δ骋粰谟兄档臄?shù)據(jù)行數(shù)統(tǒng)計(jì)</p><p> MAX(字段名)取得一個(gè)表格欄最大的值</p><p> MIN(字段名
63、)取得一個(gè)表格欄最小的值</p><p> SUM(字段名)把數(shù)據(jù)欄的值相加</p><p> 引用以上函數(shù)的方法:</p><p> sql="selectsum(字段名)as別名from數(shù)據(jù)表where條件表達(dá)式"</p><p> setrs=conn.excute(sql)</p><p
64、> 用rs("別名")獲取統(tǒng)的計(jì)值,其它函數(shù)運(yùn)用同上。</p><p> 5)數(shù)據(jù)表的建立和刪除:</p><p> CREATETABLE數(shù)據(jù)表名稱(字段1類型1(長度),字段2類型2(長度)……)</p><p> DROPTABLE數(shù)據(jù)表名稱(永久性刪除一個(gè)數(shù)據(jù)表)</p><p> 4.記錄集對(duì)象的
65、方法:</p><p> rs.movenext將記錄指針從當(dāng)前的位置向下移一行</p><p> rs.moveprevious將記錄指針從當(dāng)前的位置向上移一行</p><p> rs.movefirst將記錄指針移到數(shù)據(jù)表第一行</p><p> rs.movelast將記錄指針移到數(shù)據(jù)表最后一行</p><p
66、> rs.absoluteposition=N將記錄指針移到數(shù)據(jù)表第N行</p><p> rs.absolutepage=N將記錄指針移到第N頁的第一行</p><p> rs.pagesize=N設(shè)置每頁為N條記錄</p><p> rs.pagecount根據(jù)pagesize的設(shè)置返回總頁數(shù)</p><p> rs.re
67、cordcount返回記錄總數(shù)</p><p> rs.bof返回記錄指針是否超出數(shù)據(jù)表首端,true表示是,false為否</p><p> rs.eof返回記錄指針是否超出數(shù)據(jù)表末端,true表示是,false為否</p><p> rs.delete刪除當(dāng)前記錄,但記錄指針不會(huì)向下移動(dòng)</p><p> rs.addnew添加記
68、錄到數(shù)據(jù)表末端</p><p> rs.update更新數(shù)據(jù)表記錄</p><p><b> 2 需求分析</b></p><p> 要實(shí)現(xiàn)一個(gè)軟件系統(tǒng),首先應(yīng)該進(jìn)行需求分析,這樣才能令設(shè)計(jì)出的軟件滿足用戶的各項(xiàng)功能。下面就對(duì)在線考試系統(tǒng)的設(shè)計(jì)進(jìn)行需求分析。</p><p> 2.1 系統(tǒng)需要解決的主要問題&l
69、t;/p><p> 首先,因?yàn)榭荚囀敲嫦蛱囟ǖ哪承?duì)象的,所以考試者進(jìn)入系統(tǒng)應(yīng)該進(jìn)行身份驗(yàn)證??荚囌哌M(jìn)入考試系統(tǒng)后,應(yīng)該能根據(jù)自己的需要選擇考試科目,所以該系統(tǒng)還應(yīng)具有考試科目選擇的功能。在線考試于一般的單機(jī)考試是不同的。鑒于考試環(huán)境一般為機(jī)房,考試者之間的距離很近,為了在線考試做到規(guī)范,對(duì)于每個(gè)應(yīng)試者來說,試卷的試題和題量都應(yīng)是相同的,但試題并不相同。在線考試基于環(huán)境,試卷應(yīng)該從服務(wù)器的數(shù)據(jù)庫隨機(jī)抽取試題后動(dòng)態(tài)生
70、成的。另外,系統(tǒng)還應(yīng)該對(duì)考試時(shí)間進(jìn)行控制,時(shí)間到了會(huì)要求考試者交卷??荚囌哌x擇答案提交后,應(yīng)該由計(jì)算機(jī)自動(dòng)判卷,得到成績后顯示出來??荚囃戤吅?,可以返回登錄界面或繼續(xù)考試。此外,應(yīng)該能夠方便、快捷的對(duì)在線考試系統(tǒng)管理,此外,用戶還應(yīng)能進(jìn)行遠(yuǎn)程注冊。</p><p> 2.2 系統(tǒng)應(yīng)該具備的基本功能</p><p> ☆用戶注冊:用戶可以進(jìn)行注冊,然后登錄。</p><
71、;p> ☆用戶信息的管理:管理員可以增刪用戶</p><p> ☆試題模型設(shè)置:設(shè)置各科目試題的每種題型的數(shù)量和分值。</p><p> ☆試題庫管理:分科目,對(duì)單選、多選兩種題型試題庫的管理,使試題的增刪、編輯更為簡便。</p><p> ☆試卷生成:可以指定試卷的各題型的數(shù)量,從試題庫里隨機(jī)抽取試題生成一份原始試卷。</p><
72、p> ☆在線考試:系統(tǒng)嚴(yán)格控制整個(gè)考試過程,實(shí)行時(shí)間的監(jiān)控與權(quán)限的控制,考生需要在限定的考試時(shí)間內(nèi)交卷。 </p><p> ☆計(jì)算機(jī)自動(dòng)閱卷:本系統(tǒng)只考慮客觀題,要求計(jì)算機(jī)能自動(dòng)閱卷,然后馬上顯示出考生分?jǐn)?shù)。</p><p> ☆成績查閱:考生考完以后,管理員應(yīng)該能對(duì)所有紀(jì)錄進(jìn)行查詢,并應(yīng)該可以刪除指定紀(jì)錄。</p><p><b> 3
73、 系統(tǒng)總體設(shè)計(jì)</b></p><p><b> 3.1基本簡介</b></p><p> 基于Internet考試系統(tǒng)適用于遠(yuǎn)處教育的方式,參加考試的學(xué)生不需要聚集在一個(gè)考場內(nèi)進(jìn)行考試。學(xué)生使用教師或者考試管理員分配的賬號(hào)登錄考試系統(tǒng),然后選擇需要參加的考試科目。選定考試科目后,開始答題。系統(tǒng)自動(dòng)計(jì)算學(xué)生已經(jīng)參考的時(shí)間,如果在考試時(shí)間內(nèi)沒有答完試卷,
74、系統(tǒng)自動(dòng)交卷。交卷后,系統(tǒng)馬上批閱試卷,并給出考試結(jié)果。</p><p> 3.2運(yùn)行環(huán)境與系統(tǒng)結(jié)構(gòu)</p><p> 基于internet考試系統(tǒng)前臺(tái)基于asp設(shè)計(jì)而成,后臺(tái)基于acess數(shù)據(jù)庫。</p><p> 整個(gè)系統(tǒng)采用Browser/Web/DataBase的3層體系結(jié)構(gòu)。Browser/Server的系統(tǒng)中,用戶可以通過瀏覽器向分布在網(wǎng)絡(luò)上的服務(wù)
75、器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機(jī)的工作,客戶機(jī)上只需配置Web瀏覽器即可。服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請(qǐng)求,而其余如數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁生成等工作全部由Web Server完成。在Browser/Server三層體系結(jié)構(gòu)下,表示層(presentatioon)、功能層(business logic)、數(shù)據(jù)層(
76、data service)被割成3個(gè)相對(duì)獨(dú)立的單元。</p><p> 第一層(表示層):Web瀏覽器。在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務(wù)是由Web瀏覽器向網(wǎng)絡(luò)上的Web服務(wù)器提出服務(wù)請(qǐng)求,Web服務(wù)器對(duì)用戶身份進(jìn)行驗(yàn)證后用HTTP協(xié)議把所需的主頁傳送給客戶端,客戶機(jī)接受傳來的主頁文件,并把它顯示在Web瀏覽器上,系統(tǒng)采用IE瀏覽器。</p><p> 第二層(功能層)
77、:具有應(yīng)用程序擴(kuò)展功能的Web服務(wù)器。在功能層中包含系統(tǒng)的事務(wù)處理邏輯,位于Web服務(wù)器端。它的任務(wù)是接受用戶的請(qǐng)求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫進(jìn)行連接,通過SQL等方式向數(shù)據(jù)庫服務(wù)器提出數(shù)據(jù)處理申請(qǐng),而后等數(shù)據(jù)庫服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶端。</p><p> 第三層(數(shù)據(jù)層):數(shù)據(jù)庫服務(wù)器。在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫服務(wù)器端。它的任務(wù)是
78、接受Web服務(wù)器對(duì)數(shù)據(jù)庫操縱的請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫查詢、修改、更新等功能,把運(yùn)行結(jié)果提交給Web服務(wù)器。系統(tǒng)采用acess 2000數(shù)據(jù)庫。</p><p><b> 3.3系統(tǒng)結(jié)構(gòu)圖</b></p><p> 圖3-1 系統(tǒng)結(jié)構(gòu)圖</p><p><b> 3.4 詳細(xì)設(shè)計(jì)</b></p><p&
79、gt; 詳細(xì)設(shè)計(jì)是整個(gè)設(shè)計(jì)過程中,最重要的步驟之一。下面就分如下幾個(gè)部分對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì):(1)試題設(shè)計(jì)(2)數(shù)據(jù)庫詳細(xì)設(shè)計(jì)(3)功能模塊詳細(xì)設(shè)計(jì)</p><p><b> 3.4.1試題設(shè)計(jì)</b></p><p> 鑒于主觀題的主觀性,目前無法實(shí)現(xiàn)系統(tǒng)自動(dòng)判卷,所以本系統(tǒng)只作客觀題部分。一般情況下,單選題往往在四個(gè)供選的答案A、B、C、D中選擇唯一正確的答
80、案;</p><p> 3.4.2數(shù)據(jù)庫詳細(xì)設(shè)計(jì)</p><p> 3.4.2.1 創(chuàng)建數(shù)據(jù)庫</p><p> 用 Microsoft Access 建立一個(gè)名為 data.mdb 的空數(shù)據(jù)庫</p><p> 在Windows中用鼠標(biāo)左鍵雙擊Access圖標(biāo),啟動(dòng)Access。并按以下步驟創(chuàng)建數(shù)據(jù)庫:(1)從“文件”菜單選取“新建
81、數(shù)據(jù)庫”選項(xiàng);</p><p> ?。?)在文件名框中鍵入自定文件名(如DBI);</p><p> ?。?)單擊“創(chuàng)建”按鈕,Access便會(huì)創(chuàng)建一個(gè)擴(kuò)展名為.MDB的數(shù)據(jù)庫文件。在Access中,一個(gè)數(shù)據(jù)庫應(yīng)用有6個(gè)基本構(gòu)成部分:表、查詢、窗體、報(bào)表、宏和模塊?,F(xiàn)在它們都是空的。</p><p> 3.4.2.2創(chuàng)建創(chuàng)建表</p><p&g
82、t; 單擊數(shù)據(jù)庫窗口上邊的“表”選項(xiàng)卡,并單擊“新建”按鈕,會(huì)出現(xiàn)一個(gè)“新建表”對(duì)話框,雙擊其中的“設(shè)計(jì)視圖”選項(xiàng)。表設(shè)計(jì)視圖中每一行是對(duì)一個(gè)字段的詳細(xì)定義。</p><p> 1)admin表結(jié)構(gòu)</p><p> 表3-1 admin表</p><p><b> 各字段說明:</b></p><p> n
83、ame字段代表管理員的名字。</p><p> password字段代表密碼。</p><p> id字段為管理員的標(biāo)志號(hào)。</p><p> 圖3-2 admin表</p><p> 2)question表結(jié)構(gòu)</p><p> 通常,每一類型的試題都應(yīng)有一個(gè)表結(jié)構(gòu)。但考慮到目前系統(tǒng)存貯空間可以很大,也為了
84、更加方便。我們采用把全部試題集中在一起的方案來建立數(shù)據(jù)表,每道客觀題均有四個(gè)備選答案項(xiàng),字段名一般是相應(yīng)的英文單詞。這樣,查詢起來較方便,會(huì)節(jié)約時(shí)間,也不致于造成數(shù)據(jù)十分雜亂等。詳細(xì)設(shè)計(jì)如下表所示:</p><p> 表3-2 question 表 </p><p><b> 各字段說明:</b></p><p> ID是問題的id號(hào),用
85、來唯一標(biāo)志該問題,把它設(shè)為主鍵,類型為自動(dòng)編號(hào)。</p><p> Question字段為問題內(nèi)容,類型為文本。</p><p> A字段代表選項(xiàng)A的內(nèi)容</p><p> B字段代表選項(xiàng)B的內(nèi)容</p><p> C字段代表選項(xiàng)C的內(nèi)容</p><p> D字段代表選項(xiàng)D的內(nèi)容</p><
86、;p> Answer字段表示答案選項(xiàng)</p><p> Type表示題目類型</p><p> subjectname字段表示科目</p><p> 圖3-3 question表</p><p><b> score表結(jié)構(gòu)</b></p><p> 表3-3 score表<
87、/p><p><b> 各字段說明:</b></p><p> studentname字段代表在某次考試記錄中學(xué)生的名字。</p><p> Subjectname 表示科目</p><p> score字段為某次考試紀(jì)錄中考試分?jǐn)?shù)。</p><p> id字段為某次考試紀(jì)錄的標(biāo)志號(hào)。<
88、;/p><p> endtime字段代表考試的結(jié)束時(shí)間。</p><p> 圖3-4 score表</p><p> 4)student表結(jié)構(gòu)</p><p> 表3-4 student表</p><p><b> 各字段說明:</b></p><p> stude
89、ntname字段代表學(xué)生的名字。</p><p> studentpassword字段代表密碼。</p><p><b> Id表示自動(dòng)編號(hào)</b></p><p> 圖3-5 student表</p><p> 3.4.3 功能模塊詳細(xì)設(shè)計(jì)</p><p> 下面,對(duì)各個(gè)功能模塊分別進(jìn)
90、行詳細(xì)討論,具體情況見系統(tǒng)源程序。</p><p> 3.4.3.1 管理模塊</p><p> 管理員可以向題庫中添加各種類型且符合要求的試題,也可以對(duì)它們進(jìn)行修改和刪除。同時(shí),管理員也能對(duì)科目、用戶、考試記錄等數(shù)據(jù)進(jìn)行管理。</p><p><b> 1試題管理</b></p><p><b> (
91、1)試題錄入</b></p><p> 首先,試題的錄入是通過一個(gè)asp.net頁面中的web服務(wù)器控件:GridView完成的。GridView控件是.net framework2.0新增加的一個(gè)數(shù)據(jù)綁定控件。它的功能比.net framework1.1中的DataGrid控件的功能進(jìn)一步加強(qiáng),并且效率也有所提高。</p><p><b> (2)試題修改<
92、;/b></p><p> 管理員還可以對(duì)試題進(jìn)行修改。不過,對(duì)于各表中的主鍵不用修改,避免了造成系統(tǒng)中的數(shù)據(jù)混亂,或者覆蓋其它有用數(shù)據(jù)的現(xiàn)象。如果用戶執(zhí)行了非法操作,則必須重新操作。對(duì)于對(duì)數(shù)據(jù)庫數(shù)據(jù)的修改,在以前的asp頁面中比較麻煩,要想修改一條記錄,必須寫很長的代碼。在asp.net中,幾乎可以不寫一行代碼,就可以對(duì)數(shù)據(jù)庫記錄進(jìn)行修改。</p><p><b>
93、(3)試題刪除</b></p><p> 管理員可以刪除不再需要的試題。通過在每一條記錄的后面放置一個(gè)button按鈕并提示用戶是否要?jiǎng)h除,來完成試題的刪除。</p><p><b> 2 用戶管理</b></p><p> 管理員可以通過管理界面添加或刪除用戶。</p><p> 3.4.3.2在線
94、考試模塊</p><p> 進(jìn)入在線考場是本系統(tǒng)最重要的部分之一。因?yàn)橐粋€(gè)系統(tǒng)如果涉及到現(xiàn)實(shí)的話,就必須考慮得十分周到、完善。考生登錄后,只要選擇考試科目以后,就可以調(diào)出試卷進(jìn)行在線考試。系統(tǒng)所選的題是隨機(jī)選出的,這樣就會(huì)使每個(gè)考生的試卷都不同??忌钠浯痤}信息通過單選按鈕選擇答案來反映??荚嚱Y(jié)束采取自主交卷的方式辦法予以實(shí)現(xiàn)。系統(tǒng)會(huì)在考試時(shí)間結(jié)束前提示考生交卷。</p><p><
95、;b> 4系統(tǒng)實(shí)現(xiàn)</b></p><p> 4.1 系統(tǒng)流程圖設(shè)計(jì)</p><p> 圖4-1 系統(tǒng)流程圖</p><p> 4.2 各文件功能介紹及詳解</p><p> 4.2.1<default.asp頁介紹></p><p> <%@ Language=VB
96、Script %></p><p> <% option explicit %></p><p> <!--#include file="conn.asp"--></p><p> <% if Request.Form("submit")="登 錄" then
97、'學(xué)生登錄的處理</p><p> dim rs,sql</p><p> set rs = server.createobject("adodb.recordset")</p><p> sql="select * from student where studentname='" & Req
98、uest.Form("studentname") & "' and studentpassword='" & Request.Form("studentpassword") & "'"</p><p> rs.open sql,conn,1,1</p><p>
99、 if err.number<>0 then </p><p> response.write "數(shù)據(jù)庫操作失?。?quot;&err.description</p><p> else if rs.bof and rs.eof then</p><p> response.write "<BR><B
100、R><BR><BR><BR><BR><center>對(duì)不起,請(qǐng)輸入正確的用戶名和密碼。</center>"</p><p> rs.close </p><p><b> else</b></p><p><b> rs.clo
101、se</b></p><p> session("studentname")=request.form("studentname")</p><p> set rs=nothing</p><p> call endConnection()</p><p> Response.Red
102、irect "selectsubject.asp"</p><p><b> end if</b></p><p> end if'用戶注冊</p><p> elseif Request.Form("submit")="注 冊" then </
103、p><p> Response.Redirect "register.asp" '管理員進(jìn)行管理</p><p> elseif Request.Form("submit")="管 理" then</p><p> Response.Redirect "admin/login.as
104、p"</p><p><b> end if</b></p><p><b> %></b></p><p><b> 圖4-2 登錄頁面</b></p><p> 4.2.2<register.asp頁介紹></p>&
105、lt;p> <%@ Language=VBScript %></p><p> <% option explicit %></p><p> <!--#include file="conn.asp"--></p><p><b> <% </b></p>
106、<p> dim id,studentname,studentpassword'定義變量</p><p> dim sql,rs,rsc</p><p> if request("submit")="注冊" then '添加新用戶</p><p> if trim(request(&quo
107、t;studentname"))="" or trim(request("studentpassword"))="" then</p><p> Response.Redirect "register.asp?errMessage=錯(cuò)誤!用戶名或密碼不能為空!"</p><p> response
108、.end</p><p><b> end if</b></p><p> if trim(request("studentpassword")) <> trim(request("studentpassword2")) then</p><p> Response.Redirect &
109、quot;register.asp?errMessage=錯(cuò)誤!兩次輸入的密碼不一致!"</p><p> response.end</p><p><b> end if</b></p><p> set rs=server.createobject("adodb.recordset") '檢查
110、學(xué)生是否重名</p><p> rs.open "select * from student where studentname='" & cstr(trim(request("studentname"))) & "'",conn,1,1</p><p> if err.number <&
111、gt; 0 then</p><p> Response.Redirect "register.asp?errMessage=數(shù)據(jù)庫出錯(cuò)!"</p><p> response.end</p><p> else if not rs.bof and not rs.eof then</p><p> Respons
112、e.Redirect "register.asp?errMessage=錯(cuò)誤!該學(xué)生已經(jīng)存在!!"</p><p><b> rs.close</b></p><p> response.end</p><p><b> end if</b></p><p><b&g
113、t; rs.close</b></p><p> set rs=nothing</p><p> sql="insert into student(studentname,studentpassword) values('" & cstr(trim(request("studentname"))) & &qu
114、ot;','" & cstr(trim(request("studentpassword"))) & "')"</p><p> conn.execute sql</p><p> if err.number <> 0 then</p><p> Respon
115、se.Redirect "register.asp?errMessage=" & "數(shù)據(jù)庫操作出錯(cuò):" & err.description</p><p> Response.End</p><p><b> else </b></p><p> session("stud
116、entname")=request("studentname") '通過session變量studentname標(biāo)志一個(gè)學(xué)生登陸了系統(tǒng)</p><p> response.write "<script language=javascript>window.alert('注冊成功!')</script>"</p
117、><p> session("studentname")=request("studentname")</p><p> Response.Redirect "selectsubject.asp"</p><p><b> end if</b></p><p>
118、;<b> end if</b></p><p><b> end if</b></p><p><b> %></b></p><p><b> <html></b></p><p><b> <head>
119、;</b></p><p> <title>新用戶注冊----基于Internet考試系統(tǒng)</title></p><p><b> </head></b></p><p> <body background=../images/backimage.gif > </p>
120、;<p><b> <%</b></p><p> if Request("errMessage") <> null or Request("errMessage") <> "" then</p><p> Response.Write("<c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 考試系統(tǒng)畢業(yè)設(shè)計(jì)論文 基于vc開發(fā)與設(shè)計(jì)考試系統(tǒng)
- 網(wǎng)上考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- java考試系統(tǒng)畢業(yè)設(shè)計(jì)(論文)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)論文---jsp網(wǎng)上考試系統(tǒng)
- 網(wǎng)上考試書店系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)(論文)在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于jsp的在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于java的在線考試系統(tǒng)
- 畢業(yè)設(shè)計(jì)--基于java的在線考試系統(tǒng)
- 基于web的在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 考試系統(tǒng)畢業(yè)設(shè)計(jì)--基于vc開發(fā)與設(shè)計(jì)考試系統(tǒng)
- 畢業(yè)設(shè)計(jì)論文 基于j2ee的網(wǎng)絡(luò)在線考試系統(tǒng)設(shè)計(jì)
- 基于plc控制的噴泉系統(tǒng)畢業(yè)設(shè)計(jì)(doc畢業(yè)設(shè)計(jì)論文)
- 等級(jí)考試報(bào)名系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)論文(設(shè)計(jì))基于web的畢業(yè)設(shè)計(jì)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論