激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

在線(xiàn)考試系統論文

時(shí)間:2024-08-11 21:05:15 計算機畢業(yè)論文 我要投稿

在線(xiàn)考試系統論文

  前言

在線(xiàn)考試系統論文

  隨著(zhù)網(wǎng)絡(luò )技術(shù)的飛速發(fā)展,現在很多國外的大學(xué)和社會(huì )其他部門(mén)都已經(jīng)開(kāi)設了遠程教育,通過(guò)計算機網(wǎng)絡(luò )實(shí)現異地教育和培訓,F在,計算機硬件技術(shù)的發(fā)展已經(jīng)達到了相當高的水平。但是,遠程教育軟件的開(kāi)發(fā)目前還處于起步階段,隨著(zhù)這項技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統應用到遠程教育當中去,這就給軟件設計人員提出了更高的設計要求。

  遠程教育包括很多環(huán)節,例如教學(xué)系統、答疑系統和考試系統等等。其中很重要的一個(gè)環(huán)節就是在線(xiàn)考試系統,同時(shí)它也是最難實(shí)現的環(huán)節。在我國,雖然遠程教育已經(jīng)蓬勃地發(fā)展起來(lái),但是目前學(xué)校與社會(huì )上的各種考試大都采用傳統的考試方式,在此方式下,組織一次考試至少要經(jīng)過(guò)五個(gè)步驟,即人工出題、考生考試、人工閱卷、成績(jì)評估和試卷分析。顯然,隨著(zhù)考試類(lèi)型的不斷增加及考試要求的不斷提高,教師的工作量將會(huì )越來(lái)越大,并且其工作將是一件十分煩瑣和非常容易出錯的事情,可以說(shuō)傳統的考試方式已經(jīng)不能適應現幫考試的需要。隨著(zhù)計算機應用的迅猛發(fā)展,網(wǎng)絡(luò )應用不斷擴大,如遠程教育和虛擬大學(xué)的出現等等,且這些應用正逐步深入到千家萬(wàn)戶(hù)。人們迫切要求利用這些技術(shù)來(lái)進(jìn)行在線(xiàn)考試,以減輕教師的工作負擔及提高工作效率,與此同時(shí)也提高了考試的質(zhì)量,從而使考試更趨于公證、客觀(guān),更加激發(fā)學(xué)生的學(xué)習興趣。例如目前許多國際著(zhù)名的計算機公司所舉辦的各種認證考試絕大部分采用這種方式。

  在線(xiàn)考試是現階段研究開(kāi)發(fā)的一個(gè)熱點(diǎn)。它是建立在國際互聯(lián)網(wǎng)上的應用系統,客戶(hù)端的配置可以極為簡(jiǎn)單,使考試不受地域的局限。一個(gè)完備的在線(xiàn)考試系統可以使用戶(hù)在網(wǎng)上學(xué)習過(guò)后及時(shí)檢驗自己的學(xué)習效果,已發(fā)現自己的不足,使得學(xué)習效率得到很大提高。在線(xiàn)考試系統中題目的生成、試卷的提交、成績(jì)的批閱等都可以在網(wǎng)絡(luò )上自動(dòng)完成。只要形成一套成熟的題庫就可以實(shí)現考試的自動(dòng)化。這樣一來(lái),教師所要做的只是精心設計題目、維護題庫,而不是組織考試,從而大大減輕了教師的負擔,這表明其經(jīng)濟性是相當可觀(guān)的。為了適應新形勢的發(fā)展,我進(jìn)行了這一系統的初步設計工作,也可以說(shuō)是做一個(gè)初步的探索,希望它能夠在各類(lèi)考試中發(fā)揮高效、便捷的作用,把老師從繁重的工作中解脫出來(lái)!

  目前,網(wǎng)絡(luò )應用軟件運行的模式主要有二類(lèi):Client/server模式,Browser/Web模式。前者主要的缺點(diǎn)是維護、升級較麻煩,后者是近幾年伴隨Internet迅速發(fā)展起來(lái)的一種技術(shù),它與客戶(hù)/服務(wù)器方式類(lèi)似,客戶(hù)端是一個(gè)標準的瀏覽器,服務(wù)器端是Web Server ,而Web Server與數據庫和應用服務(wù)器的緊密結合,使得這種模式的應用范圍不斷擴大,它已不僅僅用于網(wǎng)上查詢(xún),有很多部門(mén)的業(yè)務(wù)系統、企業(yè)的MIS系統紛紛采用這種模式,它的主要優(yōu)點(diǎn)是便于擴充應用、升級維護簡(jiǎn)便。

  另外,考試系統的軟件也必將不斷的更新;同時(shí)軟件產(chǎn)品本身就要經(jīng)過(guò)一個(gè)不斷自我完善的過(guò)程。

  基于上述考慮,用Browser/Web模式來(lái)設計考試系統比較合適,服務(wù)器端我們采用Access數據庫系統和ASP組件來(lái)構成考試的應用服務(wù)系統;客戶(hù)端采用瀏覽器來(lái)完成考試全過(guò)程,同時(shí)可進(jìn)行遠程系統維護和管理。

  利用網(wǎng)絡(luò )和數據庫技術(shù),結合目前硬件價(jià)格普遍下跌與寬帶網(wǎng)大力建設的有利優(yōu)勢,應用Active Server Page技術(shù),我開(kāi)發(fā)了基于B/S模式多用戶(hù)在線(xiàn)考試系統這一程序。它運用方便、操作簡(jiǎn)單,效率很高(同時(shí),它要求計算機配置也很高,尤其是服務(wù)器端),F階段雖只實(shí)現了試卷的客觀(guān)題部分,但已具有用戶(hù)注冊、多用戶(hù)同時(shí)在線(xiàn)考試、動(dòng)態(tài)隨機出題、時(shí)間控制、自動(dòng)判卷,試題錄入、修改題庫、用戶(hù)管理、科目管理、管理員管理、分數管理等重要功能,也就是說(shuō)實(shí)現了真正的無(wú)紙化考試,滿(mǎn)足任何授權的考生隨時(shí)隨地考試并迅速獲得成績(jì),同時(shí)也大大減輕了教師出題、出題和判卷等繁重的工作量。

  第一章 系統設計相關(guān)原理

  該在線(xiàn)考試系統主要采用ASP、HTML、Access數據庫、VBScript、SQL等技術(shù)和工具,整體設計遵循軟件工程的方法,經(jīng)過(guò)需求分析、總體設計、文檔和代碼的編制、模塊測試和系統實(shí)現幾個(gè)階段。下面就對這幾種技術(shù)和方法做一個(gè)概述。

  1.1 ASP技術(shù)介紹

  Microsoft Active Server Pages 即我們所稱(chēng)的ASP,其實(shí)是一套微軟開(kāi)發(fā)的服務(wù)器端腳本環(huán)境。Active Server Page 是創(chuàng )建動(dòng)態(tài)網(wǎng)頁(yè)的一個(gè)很好的工具,它起一種編程語(yǔ)言的作用,可以利用它編寫(xiě)動(dòng)態(tài)產(chǎn)生HTML的程序代碼。因此,只要用戶(hù)瀏覽Web站點(diǎn)并請求一個(gè)ASP頁(yè),Web服務(wù)器就可以處理相應的ASP代碼,生成HTML代碼,然后將它傳遞到用戶(hù)瀏覽器并顯示出網(wǎng)頁(yè)。ASP內含于IIS3.0和4.0之中,通過(guò)ASP我們可以結合HTML網(wǎng)頁(yè)、ASP指令和ActiveX元件建立動(dòng)態(tài)、交互且高效的WEB服務(wù)器應用程序。有了ASP就不必擔心客戶(hù)的瀏覽器是否能運行所編寫(xiě)的代碼,因為所有的程序都將在服務(wù)器端執行,包括所有嵌在普通HTML中的腳本程序。當程序執行完畢后,服務(wù)器僅將執行的結果返回給客戶(hù)瀏覽器,這樣也就減輕了客戶(hù)端瀏覽器的負擔,大大提高了交互的速度。以下羅列了ASP所獨具的一些特點(diǎn):

  1.使用VBScript 、JScript等簡(jiǎn)單易懂的腳本語(yǔ)言,結合HTML代碼,即可快速地完成網(wǎng)站的應用程序。

  2.無(wú)須編譯,容易編寫(xiě),可在服務(wù)器端直接執行。

  3.使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設計。

  4.與瀏覽器無(wú)關(guān),用戶(hù)端只要使用可執行HTML碼的瀏覽器,即可瀏覽ASP所設計的網(wǎng)頁(yè)內容。ASP所使用的腳本語(yǔ)言(VBScript 、Jscript)均在WEB服務(wù)器端執行,用戶(hù)端的瀏覽器不需要能夠執行這些腳本語(yǔ)言。

  5.ASP能與任何ActiveX scripting語(yǔ)言相容。除了可使用VBScript或JScript語(yǔ)言來(lái)設計外,還通過(guò)plug-in的方式,使用由第三方所提供的其他腳本語(yǔ)言,譬如REXX、Perl、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model)物件。

  6.ASP的源程序,不會(huì )被傳到客戶(hù)瀏覽器,因而可以避免所寫(xiě)的源程序被他人剽竊,也提高了程序的安全性。

  7.可使用服務(wù)器端的腳本來(lái)產(chǎn)生客戶(hù)端的腳本。

  8.物件導向(Object-oriented)。

  9.ActiveX Server Components(ActiveX服務(wù)器元件)具有無(wú)限可擴充性?梢允褂肰isual Basic 、Java 、Visual C++ 、COBOL等編程語(yǔ)言來(lái)編寫(xiě)你所需要的ActiveX Server Component。

  10.另外,ASP技術(shù)的處理速度相當快,并且其安全性也很高。ASP最重要的優(yōu)點(diǎn)是能夠建立對諸如時(shí)間、地點(diǎn)、用戶(hù)標志、以前的選擇和活動(dòng)等因素敏感的頁(yè)面。換句話(huà)說(shuō),可針對每個(gè)用戶(hù)的個(gè)別需求,用ASP定制網(wǎng)頁(yè),能夠滿(mǎn)足用戶(hù)的各種需求。

  總之,ASP包含三方面含義:

   1.Active:ASP使用了微軟的ActiveX技術(shù)。ActiveX(COM)技術(shù)是現在Microsoft軟件的重要基礎。它采用封裝對象,程序調用對象的技術(shù),簡(jiǎn)化編程,加強程序間合作。ASP本身封裝了一些基本組件和常用組件,有很多公司也開(kāi)發(fā)了很多實(shí)用組件。只要你可以在服務(wù)器上安裝這些組件,通過(guò)訪(fǎng)問(wèn)組件,你就可以快速、簡(jiǎn)易地建立自己的WEB應用。

  2.Server:ASP運行在服務(wù)器端。這樣就不必擔心瀏覽器是否支持ASP所使用的編程語(yǔ)言。ASP的編程語(yǔ)言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一個(gè)簡(jiǎn)集,會(huì )VB的人可以很方便的快速上手。然而Netscape瀏覽器不支持客戶(hù)端的VBSCRIPT,所以最好不要在客戶(hù)端使用VBSCRIPT。而在服務(wù)器端,則無(wú)需考慮瀏覽器的支持問(wèn)題。Netscape瀏覽器也可以正常顯示ASP頁(yè)面。

  3.Pages:ASP返回標準的HTML頁(yè)面,可以正常地在常用的瀏覽器中顯示。瀏覽者查看頁(yè)面源文件時(shí),看到的是ASP生成的HTML代碼,而不是ASP程序代碼。這樣就可以防止別人抄襲程序。

  由此可以看出,ASP是在IIS下開(kāi)發(fā)WEB應用的一種簡(jiǎn)單、方便的編程工具。在了解了VBSCRIPT的基本語(yǔ)法后,只需要清楚各個(gè)組件的用途、屬性、方法,就可以輕松編寫(xiě)出自己的ASP系統。

  運行 ASP 所需的環(huán)境如下:

  ☆Microsoft Internet Information Server version 3.0/4.0 on Windows NT Server

  ☆Microsoft Peer Web Services Version 3.0 on Windows NT Workstation

  ☆Microsoft Personal Web Server on Windows 95/98

  與一般的程序不同,ASP程序無(wú)須編譯。ASP程序的控制部份,是使用VBScript、JScript等腳本語(yǔ)言來(lái)設計的,當執行ASP程序時(shí),腳本程序將一整套命令發(fā)送給腳本解釋器(即腳本引擎),由腳本解釋器進(jìn)行翻譯并將其轉換成服務(wù)器所能執行的命令。當然,同其他編程語(yǔ)言一樣,ASP程序的編寫(xiě)也遵循一定的規則,如果你想使用你所喜愛(ài)的腳本語(yǔ)言編寫(xiě)ASP程序,那么你的服務(wù)器上必須要有能解釋這種腳本語(yǔ)言的腳本解釋器。當你安裝ASP時(shí),系統提供了兩種腳本語(yǔ)言:VBSrcipt和JScript,而VBScript則被作為系統默認的腳本語(yǔ)言。

  ASP程序其實(shí)是以擴展名為.asp的純文本形式存在于WEB服務(wù)器上的,可以用任何文本編輯器打開(kāi)它,ASP程序中可以包含純文本、HTML標記以及腳本命令。只需將.asp程序放在Web服務(wù)器的虛擬目錄下(該目錄必須要有可執行權限),就可以通過(guò)WWW的方式訪(fǎng)問(wèn)ASP程序了。要學(xué)好ASP程序的設計,必須掌握腳本的編寫(xiě),那么究竟什么是腳本呢?其實(shí)腳本是由一系列的腳本命令所組成的,如同一般的程序,腳本可以將一個(gè)值賦給一個(gè)變量,可以命令Web服務(wù)器發(fā)送一個(gè)值到客戶(hù)瀏覽器,還可以將一系列命令定義成一個(gè)過(guò)程。要編寫(xiě)腳本,你必須要熟悉至少一門(mén)腳本語(yǔ)言,如VBScript。腳本語(yǔ)言是一種介于HTML和諸如JAVA、Visual Basic、C++等編程語(yǔ)言之間的一種特殊的語(yǔ)言,盡管它更接近后者,但它卻不具有編程語(yǔ)言復雜、嚴謹的語(yǔ)法和規則。如前所述ASP所提供的腳本運行環(huán)境可支持多種腳本語(yǔ)言,譬如:JScript、REXX、PERL等等,這無(wú)疑給ASP程序設計者提供了廣泛的發(fā)揮余地。ASP的出現使得廣大Web設計者不必在為客戶(hù)瀏覽器是否支持而擔心,實(shí)際上就算在同一個(gè).asp文件中使用不同的腳本語(yǔ)言,都無(wú)須為此擔憂(yōu),因為所有的一切都將在服務(wù)器端進(jìn)行,客戶(hù)瀏覽器得到的只是一個(gè)程序執行的結果,而你也只需在文件中聲明使用不同的腳本語(yǔ)言即可。

  ASP的對象和組件:

  1.ASP有7個(gè)固有對象

  這7個(gè)固有對象分別是Request、Response、Server、Application、Session、ASPError和ObjectContext。

  Request對象用來(lái)處理用戶(hù)做出的請求,就是處理用戶(hù)要求瀏覽器查看特定的網(wǎng)頁(yè)或Web應用時(shí)做出的請求。此請求可以HTML的形式輸入或僅以URL的形式作出。Response對象用來(lái)處理從Web服務(wù)器向用戶(hù)發(fā)送信息并對此信息進(jìn)行控制。

  Serve對象用來(lái)代表服務(wù)器自身。因此它提供幾個(gè)與Web服務(wù)器可能要完成的任務(wù)相關(guān)的常用功能,諸如建立新對象和設置腳本的超時(shí)特性等。還有通過(guò)將不合法字符轉化為合法字符,把字符串轉換為URL和HTML正確的使用格式的方法。

  Application對象用來(lái)代表應用,可用它來(lái)管理諸如應用目錄這一類(lèi)的東西。

  Session對象用來(lái)代表用戶(hù)會(huì )話(huà),并存儲該會(huì )話(huà)的信息?衫肧ession對象來(lái)管理如Web服務(wù)器在用戶(hù)“請求”之間等待的時(shí)間等。

  ObjectContext對象用來(lái)管理事務(wù)處理。它目前已經(jīng)集成到Windows2000操作系統中了。它包含了所有ASP其他對象,可通過(guò)ObjectContext引用ASP的每個(gè)對象。

  ASPError對象包含ASP腳本或asp.dll本身產(chǎn)生的任何錯誤的詳細內容。

  2.Microsoft Data Access Component

  MDAC作為操作系統的組成部分的組件,與ASP一起提供。此組件中包含一組稱(chēng)為ActiveX Data Object(ADO)的對象,他們對于查看不同平臺上的各種數據(數據庫、表單、文本文件)是必不可少的。ADO主要有3個(gè)對象,分別是Connection、Command和Recordset。

  Connection對象就是使ADO與數據庫之間建立一個(gè)通道,也就是實(shí)現與數據庫的連接。

  Command對象就是對數據庫進(jìn)行發(fā)號施令,比如建立新的索引,執行查詢(xún)等,它可以通過(guò)標準的SQL數據庫操作語(yǔ)言得以實(shí)現。

  Recordset對象是一個(gè)數據記錄集,它包含了我們檢索出來(lái)的記錄數據,通過(guò)它可以直接對數據庫進(jìn)行修改。

  3.活動(dòng)服務(wù)器組件

  活動(dòng)服務(wù)器組件是與ASP一起免費帶來(lái)的組件或DLL,他們有著(zhù)廣泛的用途。主要包括AD Rotator、Browser Capabilities、Content Link、Content Rotator、Counters、logging Utility、MyInfo、Page Counter、permission Checker、tools等組件。由于本次設計用到的不多,在此就不詳細介紹了

  4.ASP腳本對象

  他們分別是Dictionary、FileSystemObject和TextStream.由于本設計用到的也不多,在此就不詳細介紹了。

  1.2 SQL語(yǔ)句介紹

  SQL全稱(chēng)是“結構化查詢(xún)語(yǔ)言(Structured Query Language)”,最早的是IBM的圣約瑟研究實(shí)驗室為其關(guān)系數據庫管理系統SYSTEM R開(kāi)發(fā)的一種查詢(xún)語(yǔ)言,它的前身是SQUARE語(yǔ)言。SQL語(yǔ)言結構簡(jiǎn)潔,功能強大,簡(jiǎn)單易學(xué),所以自從IBM公司1981年推出以來(lái),SQL語(yǔ)言,得到了廣泛的應用。如今無(wú)論是像Oracle ,Sybase,Informix,SQL server這些大型的數據庫管理系統,還是像Visual Foxporo,PowerBuilder這些微機上常用的數據庫開(kāi)發(fā)系統,都支持SQL語(yǔ)言作為查詢(xún)語(yǔ)言。

  Structured Query Language包含4個(gè)部分:

  ☆數據查詢(xún)語(yǔ)言DQL-Data Query Language SELECT

  ☆據操縱語(yǔ)言DQL-Data Manipulation Language INSERT, UPDATE, DELETE

  ☆數據定義語(yǔ)言DQL-Data Definition Language CREATE, ALTER, DROP

  ☆數據控制語(yǔ)言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK 1.2.1 SQL的優(yōu)點(diǎn)

  SQL廣泛地被采用正說(shuō)明了它的優(yōu)點(diǎn)。它使全部用戶(hù),包括應用程序員、DBA管理員和終端用戶(hù)受益非淺。

  1.非過(guò)程化語(yǔ)言

  SQL是一個(gè)非過(guò)程化的語(yǔ)言,因為它一次處理一個(gè)記錄,對數據提供自動(dòng)導航。SQL允許用戶(hù)在高層的數據結構上工作,而不對單個(gè)記錄進(jìn)行操作,可操作記錄集。所有SQL 語(yǔ)句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語(yǔ)句的結果作為另一條SQL語(yǔ)句的輸入。 SQL不要求用戶(hù)指定對數據的存放方法。 這種特性使用戶(hù)更易集中精力于要得到的結果。所有SQL語(yǔ)句使用查詢(xún)優(yōu)化器,它是RDBMS的一部分,由它決定對指定數據存取的最快速度的手段。查詢(xún)優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶(hù)從不需要知道表是否有索引,表有什么類(lèi)型的索引。 2.統一的語(yǔ)言

  SQL可用于所有用戶(hù)的DB活動(dòng)模型,包括系統管理員、數據庫管理員、 應用程序員、決策支持系統人員及許多其它類(lèi)型的終端用戶(hù);镜腟QL 命令只需很少時(shí)間就能學(xué)會(huì ),最高級的命令在幾天內便可掌握。 SQL為許多任務(wù)提供了命令,包括:

  ☆查詢(xún)數據☆在表中插入、修改和刪除記錄 ☆建立、修改和刪除數據對象 ☆控制對數據和數據對象的存取 ☆保證數據庫一致性和完整性 以前的數據庫管理系統為上述各類(lèi)操作提供單獨的語(yǔ)言,而SQL將全部任務(wù)統一在一種語(yǔ)言中。

  3.是所有關(guān)系數據庫的公共語(yǔ)言

  由于所有主要的關(guān)系數據庫管理系統都支持SQL語(yǔ)言,用戶(hù)可將使用SQL的技能從一個(gè)RDBMS轉到另一個(gè)。所有用SQL編寫(xiě)的程序都是可以移植的。SQL是PostgreSQL(和大多數其它關(guān)系型數據庫)用做查詢(xún)語(yǔ)言的語(yǔ)言。它是可以移植的,并且容易學(xué)習使用。但是所有SQL語(yǔ)句都必須由數據庫服務(wù)器獨立地執行。這就意味著(zhù)客戶(hù)端應用必須把每條查詢(xún)發(fā)送到數據庫服務(wù)器,等待它處理這個(gè)查詢(xún),接收結果,做一些運算,然后給服務(wù)器發(fā)送另外一條查詢(xún)。所有這些東西都會(huì )產(chǎn)生進(jìn)程間通訊,并且如果客戶(hù)端在另外一臺機器上甚至還會(huì )導致網(wǎng)絡(luò )開(kāi)銷(xiāo)。如果使用了 PL/pgSQL,那么可以把一塊運算和一系列查詢(xún)在數據庫服務(wù)器里面組成一個(gè)塊,這樣就擁有了過(guò)程語(yǔ)言的力量并且簡(jiǎn)化SQL的使用,因而節約了大量的時(shí)間,因為用不著(zhù)付出客戶(hù)端/服務(wù)器通訊的過(guò)熱。通過(guò)使用PL/pgSQL,應用可以獲得可觀(guān)的性能提升。

  1.2.2 SQL的使用

  1.ASP與Access數據庫連接:<("數據庫名稱(chēng).mdb")setconn=server.createobject("adodb.connection")conn.open"driver={microsoftaccessdriver(*.mdb)};uid=admin;pwd=數據庫密碼;dbq="&mdbfile%>2.ASP與SQL數據庫連接:< conn=server.createobject("ADODB.connection")conn.open"PROVIDER=SQLOLEDB;DATASOURCE=SQL服務(wù)器名稱(chēng)或IP地址;UID=sa;PWD=數據庫密碼;DATABASE=數據庫名稱(chēng)%>建立記錄集對象:setrs=server.createobject("adodb.recordset")rs.openSQL語(yǔ)句,conn,3,23.SQL常用命令使用方法:(1)數據記錄篩選:sql="select*from數據表where字段名=字段值orderby字段名[desc]"sql="select*from數據表where字段名like%字段值%orderby字段名[desc]"sql="selecttop10*from數據表where字段名orderby字段名[desc]"sql="select*from數據表where字段名in(值1,值2,值 3)"sql="select*from數據表where字段名between值1and值2"(2)更新數據記錄:sql="update數據表set字段名=字段值where條件表達式"sql="update數據表set字段1=值1,字段2=值2……字段n=值nwhere條件表達式(3)刪除數據記錄:sql="from數據表where條件表達式"sql="from數據表"(將數據表所有記錄刪除)(4)添加數據記錄:sql="into數據表(字段1,字段2,字段3…)values(值1,值2,值3…)"sql="into目標數據表select*from源數據表"(把源數據表的記錄添加到目標數據表)(5)數據記錄統計函數:AVG(字段名)得出一個(gè)表格欄平均值COUNT(*字段名)對數據行數的統計或對某一欄有值的數據行數統計MAX(字段名)取得一個(gè)表格欄最大的值MIN(字段名)取得一個(gè)表格欄最小的值SUM(字段名)把數據欄的值相加引用以上函數的方法:sql="selectsum(字段名)as別名from數據表where條件表達式"setrs=conn.excute(sql)用rs("別名")獲取統的計值,其它函數運用同上。(5)數據表的建立和刪除:CREATETABLE數據表名稱(chēng)(字段1類(lèi)型1(長(cháng)度),字段2類(lèi)型2(長(cháng)度)……)DROPTABLE數據表名稱(chēng)(永久性刪除一個(gè)數據表)4.記錄集對象的方法:rs.movenext將記錄指針從當前的位置向下移一行rs.moveprevious將記錄指針從當前的位置向上移一行rs.movefirst將記錄指針移到數據表第一行rs.movelast將記錄指針移到數據表最后一行rs.absoluteposition=N將記錄指針移到數據表第N行rs.absolutepage=N將記錄指針移到第N頁(yè)的第一行rs.pagesize=N設置每頁(yè)為N條記錄rs.pagecount根據pagesize的設置返回總頁(yè)數rs.recordcount返回記錄總數rs.bof返回記錄指針是否超出數據表首端,true表示是,false為否rs.eof返回記錄指針是否超出數據表末端,true表示是,false為否rs.刪除當前記錄,但記錄指針不會(huì )向下移動(dòng)rs.addnew添加記錄到數據表末端rs.update更新數據表記錄

  1.3 VBScript介紹

  Microsoft Visual Basic Scripting Edition是程序開(kāi)發(fā)語(yǔ)言Visual Basic家族的最新成員,它將靈活的Script應用于更廣泛的領(lǐng)域,包括Microsoft Internet Explorer中的 Web 客戶(hù)機 Script 和 Microsoft Internet Information Server 中的 Web 服務(wù)器 Script。

  VBScript使用ActiveX Script與宿主應用程序對話(huà)。使用ActiveX Script,瀏覽器和其他宿主應用程序不再需要每個(gè)Script部件的特殊集成代碼。ActiveX Script使宿主可以編譯Script、獲取和調用入口點(diǎn)及管理開(kāi)發(fā)者可用的命名空間。通過(guò)ActiveX Script,語(yǔ)言廠(chǎng)商可以建立標準Script運行時(shí)語(yǔ)言。Microsoft將提供VBScript的運行時(shí)支持。Microsoft正在與多個(gè)Internet組一起定義ActiveX Script標準以使Script引擎可以互換。ActiveX Script可用在Microsoft Internet Explorer和Microsoft Internet Information Server中。

  VBScript只有一種數據類(lèi)型,稱(chēng)為Variant。Variant 是一種特殊的數據類(lèi)型,根據使用的方式,它可以包含不同類(lèi)別的信息。因為Variant是VBScript中唯一的數據類(lèi)型,所以它也VBScript 中所有函數的返回值的數據類(lèi)型。最簡(jiǎn)單的Variant可以包含數字或字符串信息。Variant用于數字上下文中時(shí)作為數字處理,用于字符串上下文中時(shí)作為字符串處理。這就是說(shuō),如果使用看起來(lái)象是數字的數據,則VBScript會(huì )假定其為數字并以適用于數字的方式處理。與此類(lèi)似,如果使用的數據只可能是字符串,則VBScript將按字符串處理。當然,也可以將數字包含在引號("")中使其成為字符串。除簡(jiǎn)單數字或字符串以外,Variant可以進(jìn)一步區分數值信息的特定含義。例如使用數值信息表示日期或時(shí)間。此類(lèi)數據在與其他日期或時(shí)間數據一起使用時(shí),結果也總是表示為日期或時(shí)間。當然,從Boolean值到浮點(diǎn)數,數值信息是多種多樣的。Variant包含的數值信息類(lèi)型稱(chēng)為子類(lèi)型。大多數情況下,可將所需的數據放進(jìn)Variant中,而Variant也會(huì )按照最適用于其包含的數據的方式進(jìn)行操作。聲明變量的一種方式是使用Dim語(yǔ)句、Public語(yǔ)句和Private語(yǔ)句在Script中顯式聲明變量。

  另一種方式是通過(guò)直接在Script中使用變量名這一簡(jiǎn)單方式隱式聲明變量。這通常不是一個(gè)好習慣,因為這樣有時(shí)會(huì )由于變量名被拼錯而導致在運行Script時(shí)出現意外的結果。因此,最好使用Option Explicit語(yǔ)句顯式聲明所有變量。 1.過(guò)程 在VBScript中,過(guò)程被分為兩類(lèi):Sub過(guò)程和Function過(guò)程。 (1)Sub過(guò)程

  Sub過(guò)程是包含在Sub和End Sub語(yǔ)句之間的一組VBScript語(yǔ)句,執行操作但不返回值。Sub過(guò)程可以使用參數(由調用過(guò)程傳遞的常數、變量或表達式)。

  (2)Function過(guò)程

  Function過(guò)程是包含在Function和End Function語(yǔ)句之間的一組VBScript語(yǔ)句。Function過(guò)程與Sub過(guò)程類(lèi)似,但是Function過(guò)程可以返回值。Function過(guò)程可以使用參數(由調用過(guò)程傳遞的常數、變量或表達式)。如果Function過(guò)程無(wú)任何參數,則Function語(yǔ)句必須包含空括號()。Function過(guò)程通過(guò)函數名返回一個(gè)值,這個(gè)值是在過(guò)程的語(yǔ)句中賦給函數名的。Function 返回值的數據類(lèi)型總是Variant。

  2.VBScript中可使用下列循環(huán)語(yǔ)句:☆Do...Loop:當(或直到)條件為T(mén)rue時(shí)循環(huán)!頦hile...Wend:當條件為T(mén)rue時(shí)循環(huán)!頕or...Next:指定循環(huán)次數,使用計數器重復運行語(yǔ)句!頕or Each...Next:對于集合中的每項或數組中的每個(gè)元素,重復執行一組語(yǔ)句。

  3.在VBScript中可使用以下條件語(yǔ)句:☆I(lǐng)f...Then...Else 語(yǔ)句☆Select Case 語(yǔ)句

  第二章 需求分析

  要實(shí)現一個(gè)軟件系統,首先應該進(jìn)行需求分析,這樣才能令設計出的軟件滿(mǎn)足用戶(hù)的各項功能。下面就對在線(xiàn)考試系統的設計進(jìn)行需求分析。

  2.1 系統需要解決的主要問(wèn)題

  首先,因為考試是面向特定的某些對象的,所以考試者進(jìn)入系統應該進(jìn)行身份驗證?荚囌哌M(jìn)入考試系統后,應該能根據自己的需要選擇考試科目,所以該系統還應具有考試科目選擇的功能。在線(xiàn)考試于一般的單機考試是不同的。鑒于考試環(huán)境一般為機房,考試者之間的距離很近,為了在線(xiàn)考試做到規范,對于每個(gè)應試者來(lái)說(shuō),試卷的試題和題量都應是相同的,但試題并不相同。在線(xiàn)考試基于網(wǎng)絡(luò )環(huán)境,試卷應該從服務(wù)器的數據庫隨機抽取試題后動(dòng)態(tài)生成的。另外,系統還應該對考試時(shí)間進(jìn)行控制,時(shí)間到了會(huì )要求考試者交卷?荚囌哌x擇答案提交后,應該由計算機自動(dòng)判卷,得到成績(jì)后顯示出來(lái)?荚囃戤吅,可以返回登錄界面或繼續考試。此外,應該能夠方便、快捷的對在線(xiàn)考試系統管理,此外,用戶(hù)還應能進(jìn)行遠程注冊。

  2.2 系統應該具備的基本功能

  ☆用戶(hù)注冊:用戶(hù)可以進(jìn)行注冊,然后登錄。

  ☆用戶(hù)信息的管理:管理員可以增刪用戶(hù)

  ☆試題模型設置:設置各科目試題的每種題型的數量和分值。

  ☆試題庫管理:分科目,對單選、多選兩種題型試題庫的管理,使試題的增刪、編輯更為簡(jiǎn)便。

  ☆試卷生成:可以指定試卷的各題型的數量,從試題庫里隨機抽取試題生成一份原始試卷。

  ☆在線(xiàn)考試:系統嚴格控制整個(gè)考試過(guò)程,實(shí)行時(shí)間的監控與權限的控制,考生需要在限定的考試時(shí)間內交卷。

  ☆計算機自動(dòng)閱卷:本系統只考慮客觀(guān)題,要求計算機能自動(dòng)閱卷,然后馬上顯示出考生分數。

  ☆成績(jì)查閱:考生考完以后,管理員應該能對所有紀錄進(jìn)行查詢(xún),并應該可以刪除指定紀錄。

  除了實(shí)現上述功能以外,在線(xiàn)考試系統還應該具有友好、簡(jiǎn)潔的界面,安全性要高,穩定性要強,能夠滿(mǎn)足100人以上同時(shí)及進(jìn)行在線(xiàn)考試。

  第三章 系統總體設計

  3.1基本簡(jiǎn)介

  該系統是專(zhuān)門(mén)用于用戶(hù)注冊、登錄、參加在線(xiàn)考試以及管理員進(jìn)行試題錄入、修改、刪除、成績(jì)查詢(xún)、管理用戶(hù)的ASP應用程序。它應該具有開(kāi)放性、方便性和靈活性。管理員不僅可以輕松地向題庫添加、修改和查詢(xún)試題,而且還可以自動(dòng)新增科目并建立相應的數據;它還允許用戶(hù)根據自己的需求,選取考試科目?忌M(jìn)行有效的身份驗證登錄后,選擇考試科目,并要求在規定的時(shí)間內進(jìn)行答題,當達到規定的時(shí)間后,系統將自動(dòng)予以提示。一旦考生做完交卷后便能立即看到自己的考試成績(jì),并且其分數將被記入庫中以供審核和查閱;另外,還可完全由計算機自動(dòng)靈活、隨機的抽取試題庫中的各類(lèi)試題組成各種形式的試卷,其內容會(huì )隨著(zhù)庫中試題的改變而改變,而且,不同的考生生成的試題是不同的。

  用戶(hù)可以是學(xué)校等單位的教師及學(xué)生和企事業(yè)單位的培訓部門(mén)(因企事業(yè)單位每年要對員工進(jìn)行素質(zhì)、安全教育與技能等方面的培訓及考試等)。

  3.2 運行環(huán)境與系統結構

  為了保證系統運行的效率和可靠性,系統服務(wù)器端應具有較高的軟硬件配置,客戶(hù)端的要求不是很高。此應用程序可廣泛運行于國際互聯(lián)網(wǎng)即Internet,也可適用于內部的局域網(wǎng)。其運行要求如下:

  ☆軟件環(huán)境:

  客戶(hù)端: Windows95/98,Internet Explorer(IE)等

  服務(wù)器端:Windows NT/Windows2000,Internet Information Server (IIS)4.0及其以上版本,IE等;或者Windows98,Personal Web Server(PWS),IE等。

  數據庫:采用access,運行于服務(wù)器端。

  ☆硬件環(huán)境:

  服務(wù)器 CPU:PIII 500以上 ,內存:256M以上

  客戶(hù)機 CPU:P200MMX以上,內存:32M以上

  3.2 系統結構圖

  根據需求分析,在線(xiàn)考試系統的結構圖如下:

  圖3-1 在線(xiàn)考試系統結構圖

  3.3 詳細設計

  詳細設計是整個(gè)設計過(guò)程中,最重要的步驟之一。下面就分如下幾個(gè)部分對系統進(jìn)行詳細設計:(1)試題設計(2)數據庫中表的設計(3)用戶(hù)、管理員權限(4)功能模塊詳細設計(5)在線(xiàn)考試系統考試模塊框圖

  3.3.1試題設計

  鑒于主觀(guān)題的主觀(guān)性,目前無(wú)法實(shí)現系統自動(dòng)判卷,所以本系統只作客觀(guān)題部分。一般情況下,單選題往往在四個(gè)供選的答案A、B、C、D中選擇唯一正確的答案;多選題是在供選答案中有多個(gè)選擇;而判斷題實(shí)質(zhì)上就相當于有兩個(gè)選項的單選題。因而,本系統中所涉及的單選題和多選題跟過(guò)去的大體相同,由于時(shí)間的關(guān)系,判斷題部分沒(méi)有做。并且假設多選題一般情況下也是最多提供四個(gè)備選答案,標準答案至少有一個(gè)。故各題型的樣題設計如下:

  單選題:password的意思是: A、密碼 B、經(jīng)過(guò) C、單詞

  D、通路

  正確答案為A

  多選題:下面的表達式為真的有:A、1>2 B、7%5=2

  C、sin(30)=1/2 D、Cint(7/5)=1

  正確答案為B、C、D

  3.3.2數據庫中表的設計

  1.question表結構

  通常,每一類(lèi)型的試題都應有一個(gè)表結構。但考慮到目前系統存貯空間可以很大,也為了更加方便。我們采用把全部試題集中在一起的方案來(lái)建立數據表,每道客觀(guān)題均有四個(gè)備選答案項,每個(gè)試題均具有題型、所屬科目等數據段表示其屬性。字段名一般是相應的英文單詞。這樣,查詢(xún)起來(lái)較方便,會(huì )節約時(shí)間,也不致于造成數據十分雜亂等。詳細設計如下表所示:

  表3-1 question 表

  字段名稱(chēng)類(lèi)型說(shuō)明

  Haveselect數字常整型

  ID自動(dòng)編號常整型,遞增,主鍵

  Question文本字段大小200

  A文本字段大小50

  B文本字段大小50

  C文本字段大小50

  D文本字段大小50

  Answer文本字段大小50

  Type文本字段大小50

  subjectname文本字段大小50

  各字段說(shuō)明:

  (1)haveselect字段代表在隨機選題時(shí)是否已經(jīng)被某用戶(hù)選過(guò),類(lèi)型為數字。

  (2)ID是問(wèn)題的id號,用來(lái)唯一標志該問(wèn)題,把它設為主鍵,類(lèi)型為自動(dòng)編號。

  (3)Question字段為問(wèn)題內容,類(lèi)型為文本。

  (4)A字段代表選項A的內容

  (5)B字段代表選項B的內容

  (6)C字段代表選項C的內容

  (7)D字段代表選項D的內容

  (8)Answer字段表示答案選項

  (9)Type字段表示試題類(lèi)型

  (10)subjectname字段代表試題所屬科目名稱(chēng)

  2.subject表結構

  表3-2 subject表

  字段名稱(chēng)類(lèi)型說(shuō)明

  Multiper數字常整型

  Singleper數字常整型

  multinumber數字常整型

  singlenumber數字常整型

  subjectname文本字段大小50

  Testtime數字常整型

  Id自動(dòng)編號常整型,遞增,主鍵

  各字段說(shuō)明:

  (1)multiper字段代表在某考試科目的考試題中每個(gè)多選題的分值。

  (2)singleper字段代表在某考試科目的考試題中每個(gè)單選題的分值。

  (3)multinumber字段為某科的多選題題量。

  (4)singlenumber字段為某科的多選題題量。

  (5)subjectname字段代表科目名稱(chēng)。

  (6)testtime字段代表某科的考試總時(shí)間。

  (7)id字段代表科目的id號。

  3.score表結構

  表3-3 score表

  字段名稱(chēng)類(lèi)型說(shuō)明

  Studentname文本字段大小50

  Subjectname文本字段大小50

  Score數字常整型

  Id自動(dòng)編號常整型,遞增,主鍵

  Endtime日期/時(shí)間

  各字段說(shuō)明:

  (1)studentname字段代表在某次考試記錄中學(xué)生的名字。

  (2)subjectname字段代表在某次考試紀錄中考試科目名。

  (3)score字段為某次考試紀錄中考試分數。

  (4)id字段為某次考試紀錄的標志號。

  (5)endtime字段代表考試的結束時(shí)間。

  4.student表結構

  表3-4 student表

  字段名稱(chēng)類(lèi)型說(shuō)明

  Studentname文本字段大小50

  Studentpassword文本字段大小50

  Id自動(dòng)編號常整型,遞增,主鍵

  各字段說(shuō)明:

  (1)studentname字段代表學(xué)生的名字。

  (2)studentpassword字段代表密碼。

  (3)id字段為學(xué)生的標志號。

  5.admin表結構

  表3-5 admin表

  字段名稱(chēng)類(lèi)型說(shuō)明

  Name文本字段大小50

  Password文本字段大小50

  Id自動(dòng)編號常整型,遞增,主鍵

  各字段說(shuō)明:

  (1)name字段代表管理員的名字。

  (2)password字段代表密碼。

  (3)id字段為管理員的標志號。

  3.3.3 用戶(hù)、管理員權限

  ☆管理員:在此系統中可以由若干個(gè)管理員,即系統管理員。他們具有一般用戶(hù)所沒(méi)有的權限,即具有管理用戶(hù)、試題以及試卷等內容的權力。它不需注冊,在數據庫有一個(gè)表來(lái)存放相關(guān)信息,可由以存在的管理員添加或刪除管理員。

  ☆一般用戶(hù):主要是指學(xué)校的學(xué)生和企事業(yè)單位的培訓對象等。

  3.3.4 功能模塊詳細設計

  下面,對各個(gè)功能模塊分別進(jìn)行詳細討論,具體情況見(jiàn)系統源程序。

  3.3.4.1 管理模塊

  管理員可以向題庫中添加各種類(lèi)型且符合要求的試題,也可以對它們進(jìn)行修改和刪除。同時(shí),管理員也能對科目、用戶(hù)、考試記錄等數據進(jìn)行管理。

  試題管理

  (1)試題錄入

  首先,用戶(hù)選擇試題所屬科目。若菜單中沒(méi)有該科目,則可以新增一個(gè)。返回、刷新一次頁(yè)面,即可看到新增的科目名稱(chēng)。而且,在本系統中其它需要選擇科目的地方也會(huì )自動(dòng)更新。其次,每道試題有類(lèi)型、試題內容與選項和答案等欄目。管理員輸入完以后,即可看到預覽效果。如果輸入不合法,或者該科題庫中已有該試題編號和內容等,則系統給出相應的提示或警告,以待更正。

  (2)試題修改

  管理員還可以對試題進(jìn)行修改。不過(guò),對于各表中的主鍵不用修改,避免了造成系統中的數據混亂,或者覆蓋其它有用數據的現象。如果用戶(hù)執行了非法操作,則必須重新操作。

  (3)試題刪除

  管理員可以刪除不再需要的試題。

  科目管理

  (1)添加科目

  其基本信息有科目名稱(chēng)、題型、題量和考試總時(shí)間等,對于用戶(hù)輸入的不符合系統要求的數據,系統仍舊給出提示或警告。

  (2)科目刪除

  管理員可以刪除不再需要的科目。

  3.用戶(hù)管理

  管理員可以通過(guò)管理界面添加或刪除用戶(hù)。

  4.管理管理員

  管理員可以通過(guò)管理界面添加新管理員或刪除原有管理員。

  5.考試記錄管理

  系統中的管理員可以查詢(xún)考試記錄,也可以刪除考試紀錄。

  3.3.4.2在線(xiàn)考試模塊

  進(jìn)入在線(xiàn)考場(chǎng)是本系統最重要的部分之一。因為一個(gè)系統如果涉及到現實(shí)的話(huà),就必須考慮得十分周到、完善?忌卿浐,只要選擇考試科目以后,就可以調出試卷進(jìn)行在線(xiàn)考試。為了實(shí)現動(dòng)態(tài)隨機不重復的抽取試題,需要在選題過(guò)程中每選出一題,就要在試題庫中作相應的標志,以便下次不會(huì )重復取出此題。試卷出來(lái)后要對試題庫中的標志位復原。這樣就會(huì )使每個(gè)考生的試卷都不同?忌钠浯痤}信息通過(guò)單、復選按鈕選擇答案來(lái)反映?荚嚱Y束采取自主交卷和到了規定的時(shí)間自動(dòng)題示有機結合的方式辦法予以實(shí)現。

  3.3.4.2用戶(hù)注冊模塊

  該模塊的功能是實(shí)現用戶(hù)遠程注冊。用戶(hù)輸入想要注冊的用戶(hù)名和密碼,提交之后由系統判斷該用戶(hù)是否已經(jīng)存在,如果存在,就給出相應信息,如果不存在,就把用戶(hù)輸入的用戶(hù)名和密碼寫(xiě)到數據庫中,完成注冊。

  3.3.5 在線(xiàn)考試系統考試模塊框圖

  圖3-2 在線(xiàn)考試系統考試模塊框圖

  第四章 系統實(shí)現

  在進(jìn)行了整體設計以后,就開(kāi)始進(jìn)行詳細的設計及編碼工作。也就是設計文件和把他們有機地組織在一起實(shí)現所有功能。

  4.1 系統流程圖設計

  根據系統總體設計,首先系統要有一個(gè)登錄界面,用戶(hù)可以從該界面登錄參加考試。管理員也應該有一個(gè)進(jìn)入管理登錄界面的通道。此外,這個(gè)界面上還應該有一個(gè)用戶(hù)注冊的通道。

  在考生正確輸入用戶(hù)名和密碼以后,接著(zhù)應該進(jìn)入考試科目選擇界面。在該界面上,考生選擇參加考試的科目,這個(gè)人機交互的過(guò)程是必不可少的。

  考生確定考試科目以后,進(jìn)入開(kāi)始考試界面,由計算機隨機提取試題,顯示出來(lái)組成試卷,并開(kāi)始進(jìn)行計時(shí)?忌俅芜M(jìn)行考試,答完試題后交卷,進(jìn)入下一個(gè)界面。

  考生提交答卷后,由計算機進(jìn)行處理--判卷,得出考試分數,顯示出來(lái),并把該生考試記錄存入數據庫。在這個(gè)界面上應該可以返回繼續進(jìn)行考試或回到登錄界面。

  以上是系統進(jìn)行考試功能的部分,要對系統進(jìn)行管理,如試題管理、科目管理、用戶(hù)管理等就需要設計一些管理界面。下面就來(lái)逐步進(jìn)行設計。

  要進(jìn)行管理首先要有管理員登陸驗證,這里另外設計了一個(gè)界面,使它與用戶(hù)登錄區別開(kāi)來(lái)。這個(gè)界面與用戶(hù)登錄界面表面上很相似,但是他們是從不同的表中提取數據進(jìn)行驗證的,以便于系統擴充和增加安全性。

  管理員登錄以后,應該有一個(gè)管理項目選擇界面,其中包括管理用戶(hù)選項、管理管理員選項、管理考試科目選項、管理考試紀錄選項以及管理各科試題選項。

  管理用戶(hù)的界面可以實(shí)現用戶(hù)的增加、和刪除的功能,管理員在此可以對用戶(hù)進(jìn)行管理。

  管理管理員的界面,功能和管理用戶(hù)的差不多,實(shí)現對管理員的增加和刪除功能。

  管理考試科目界面用來(lái)增加或刪除考試的科目,以方便對各科試題的管理和查詢(xún)。

  管理考試紀錄界面可以對考生的每次考試進(jìn)行紀錄,管理員科可以對考生成績(jì)、考試科目、時(shí)間及考試各相關(guān)紀錄進(jìn)行查詢(xún)和刪除。

  最后是試題庫管理界面,它根據各科進(jìn)行分類(lèi)。通過(guò)這個(gè)界面管理員可以對題庫中的某科試題進(jìn)行增加、修改或刪除。這樣就十分方便靈活的對試題庫進(jìn)行管理。

  下圖就是系統流程圖:

  圖4-1 系統流程圖

  4.2 各文件功能介紹及詳解

  1.該文件實(shí)現的是連接數據庫和斷開(kāi)連接的功能。

  文件中主要是定義了兩個(gè)過(guò)程conn_init()和endConnection()。第一個(gè)是連接數據庫,第二個(gè)是實(shí)現斷開(kāi)連接。其中conn_init()過(guò)程中的連接是通過(guò)下面語(yǔ)句實(shí)現的:

  connstr= "DBQ=" + server.mappath("data.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

  set conn=server.createobject("ADODB.CONNECTION")

  conn.open connstr

  connstr確定了數據文件的路徑和數據庫驅動(dòng)程序。

  Conn的含義是定義了一個(gè)變量用,來(lái)存放數據庫連接所創(chuàng )建的對象。

  conn.open connstr則真正實(shí)現了數據庫的連接。

  該文件主要被包含在其他文件中實(shí)現數據庫的連接和斷開(kāi)功能。

  2.該文件的功能是系統登陸的入口,在此可以實(shí)現用戶(hù)注冊入口,管理員管理入口以及用戶(hù)進(jìn)入考試系統登陸界面的功能。

  該文件的功能使這樣實(shí)現的:表單提交給文件本身。再由HTML上面的ASP程序對提交信息進(jìn)行處理。

  最上面的<%@ language="VBScript">表示腳本語(yǔ)言是VBScript。

  表示包含conn.asp文件。以下的程序進(jìn)行了選擇判斷,如果提交的表單中的submit值為“登錄”,就繼續判斷看student表中是否存在與該用戶(hù)輸入的用戶(hù)名和密碼相同的記錄,如果存在就轉到selectsubject.asp頁(yè)進(jìn)行考試科目選擇。不存在就返回“對不起,請輸入正確的用戶(hù)名和密碼!比绻鹲ubmit值為“注冊”,就轉到register.asp頁(yè)進(jìn)行用戶(hù)注冊。如果submit的值為“管理”就轉到admin文件夾中的login.asp頁(yè)。重點(diǎn)程序如下:

  set rs = server.createobject("adodb.recordset")

  rs是一個(gè)變量,用來(lái)存放一個(gè)recordset對象。

  sql="select * from student where studentname=" & Request.Form("studentname") & " and studentpassword=" & Request.Form("studentpassword") & ""

  變量sql代表一個(gè)SQL語(yǔ)句,功能是從表student中選出用戶(hù)名和密碼與考生提交的用戶(hù)名和密碼都相同的記錄。

  rs.open sql,conn,1,1

  該語(yǔ)句的功能是執行sql語(yǔ)句并把記錄集結果存儲在變量rs中。

  rs.close的作用是關(guān)閉紀錄。

  session("studentname")=request.form("studentname")

  該句的意思是把表單提交的變量studentname的值賦給一個(gè)session對象studentname。這個(gè)對象用來(lái)存儲用戶(hù)名,它在該用戶(hù)對每個(gè)頁(yè)面的訪(fǎng)問(wèn)中有效。

  set rs=nothing含義是清空rs變量。

  call endConnection()是調用conn.asp中的過(guò)程,用來(lái)關(guān)閉于數據庫的連接。

  3.該文件實(shí)現了用戶(hù)注冊的功能,用戶(hù)只要填寫(xiě)想要注冊的用戶(hù)名及密碼,文件首先查看用戶(hù)名是否已經(jīng)存在,如果存在就提示該用戶(hù)名已經(jīng)存在,否則就將用戶(hù)輸入的信息添加到數據庫中的student表內。然后用戶(hù)就可以使用自己注冊的用戶(hù)名和密碼登錄在線(xiàn)考試系統進(jìn)行在線(xiàn)考試。

  在文件中,表單提交給register.Asp自身進(jìn)行處理,如果submit值為“注冊”首先進(jìn)行判斷看用戶(hù)名或密碼是否為空。如果為空就顯示“錯誤!用戶(hù)名或密碼不能為空!”的信息。如果不為空,進(jìn)行下一步判斷,看student表中是否已經(jīng)存在用戶(hù)想要注冊的用戶(hù)名,如果存在,就顯示信息“錯誤!該用學(xué)生存在!”,如果不存在就將要注冊的用戶(hù)名和密碼寫(xiě)入student表。代碼如下:

  sql=" into student(studentname,studentpassword) values(" & cstr(trim(request("studentname"))) & "," & cstr(trim(request("studentpassword"))) & ")"

  conn.execute sql

  最后,用一個(gè)Vbscrip語(yǔ)言編寫(xiě)的消息框顯示注冊成功信息。

  4.該文件是實(shí)現用戶(hù)登錄在線(xiàn)考試系統后進(jìn)行考試科目選擇的功能,選擇科目后進(jìn)入考試界面。

  該文件首先是將subject表中所有的紀錄都以單選項的方式選出來(lái),如果沒(méi)有紀錄,則顯示“對不起,暫時(shí)沒(méi)有任何考試科目!庇脩(hù)按提交后,表單仍然提交給文件自身。處理程序首先判斷用戶(hù)是否選擇了一個(gè)考試科目,如果沒(méi)有選擇顯示“你沒(méi)有選擇考試科目,請選擇考試科目!”如果選擇了某個(gè)考試科目,先把該科目賦值給一個(gè)session變量selectsubjectname,然后從subject表中選出該科的相關(guān)信息,并也都設成session變量。Singlenumber表示單選試題數量,multinumber表示多選試題數量,singleper表示單選試題分值,multiper表示多選試題分值,testtime表示考試總時(shí)間。接著(zhù)進(jìn)入考試界面。

  5.<test.asp&該文件的功能是實(shí)現對考試科目及相關(guān)參數(如考試時(shí)間、單選及多選題量)進(jìn)行管理。

  11.

  該文件的功能是對考試記錄進(jìn)行查詢(xún)或刪除。

  12.

  和兩個(gè)文件和起來(lái)實(shí)現對試題庫進(jìn)行刪除修改和添加的功能。

  subjectname=trim(request("subjectname"))是將上一個(gè)界面傳來(lái)的科目名稱(chēng)賦值給subjectname變量。

  set rs=server.createobject("adodb.recordset")

  rs.open "select * from question where subjectname=" & cstr(trim(request("subjectname")))&" order by id desc ",conn,1,1

  上面這段代碼是從question表中將所有其科目名與所選科目相同的問(wèn)題都選出來(lái)。

  <a href=mgquestion.asp?type=<%=trim(rs("type"))%>

  &subjectname=<%=trim(rs("subjectname"))%>&action=edit&id=<%=trim(rs("id"))%>&page=<%=request("page")%>>編輯&nbsp<a href=java script:SureDel(<%=rs("id")%>)>刪除

  上面這段代碼的的作用是將刪除的參數傳給文件自身或將編輯的參數傳給SureDel(id,subjectname)函數。

  如果實(shí)執行刪除操作就轉到SureDel(id,subjectname),提示是否真的要刪除,如果選擇確定就執行如下代碼:

  sql=" from question where id=" &request("id")

  conn.execute sql

  執行刪除該問(wèn)題的操作,將question表中的相應記錄刪除。否則,如果選擇取消就不執行刪除操作。

  如果執行編輯同樣將參數傳給文件自身,先執行下面代碼將isedit的值設為真:

  if request("action")="edit" then

  isedit=true

  end if

  文件最下面是編輯試題或添加試題部分,表單提交給addquestion進(jìn)行處理。

  13.首先將表單傳過(guò)來(lái)的各個(gè)參數值賦給不同的變量,以便于使用。然后判斷question,subjectname,answer和leixing四個(gè)變量是否為空,如果為空顯示錯誤信息。不為空就進(jìn)行判斷,看是修改問(wèn)題還是添加問(wèn)題,分別進(jìn)行相應處理(修改question表中的記錄或向其中添加記錄),然后返回到mgquestion.asp頁(yè)面。

  4.3調試過(guò)程中遇到的主要問(wèn)題和解決辦法

  在系統調試的過(guò)程中主要遇到三個(gè)比較困難的問(wèn)題:

  第一個(gè)就是如何實(shí)現在隨機選題的同時(shí)保證不重復,本設計最后使用了在question表中設置了一個(gè)haveselect字段來(lái)標志選過(guò)的紀錄的辦法來(lái)解決。

  第二個(gè)就是如何將test.asp中所有試題的id號傳到result.asp頁(yè)中。因為試題數是變值,用一般的使用變量方式實(shí)行不通的。本設計采用了將id號以逗號分隔存在字符串變量中,然后到result.asp頁(yè)面用split()函數拆開(kāi)存放到數組中的辦法進(jìn)行解決。

  第三個(gè)就是問(wèn)題在編輯之后就無(wú)法再選出來(lái)了,最后發(fā)現是因為編輯之后科目名的前面會(huì )有空格,所以會(huì )無(wú)法選出。解決的辦法是使用trim()函數將空格去掉。

  4.4 系統測試及實(shí)現后主要界面

  本系統經(jīng)先進(jìn)行各模塊測試,經(jīng)過(guò)修改和調整通過(guò)以后,進(jìn)行總體測試。測試結果各項功能均已經(jīng)或基本達到設計要求。

【在線(xiàn)考試系統論文】相關(guān)文章:

在線(xiàn)考試系統設計與開(kāi)發(fā)論文05-29

基于WEB的在線(xiàn)考試系統03-09

在線(xiàn)考試系統的設計ASP+ACCESS03-08

在線(xiàn)英語(yǔ)考試系統ASP+SQL03-08

在線(xiàn)考試及自動(dòng)評分系統ASP+SQL03-08

基于.NET技術(shù)的在線(xiàn)考試系統ASP.NET+SQL03-08

基于A(yíng)SP.NET在線(xiàn)考試系統設計ASP.NET+SQL03-08

ASP在線(xiàn)教育系統(一)12-26

尾礦庫在線(xiàn)監測系統的研究與實(shí)現11-26

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频