版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要基于ASP.NET學(xué)生在線考試系統(tǒng),是基于B/S模式,即用戶(hù)可利用瀏覽器直接訪問(wèn)本站點(diǎn)。采用ASP.NET(C#)和SQL2005數(shù)據(jù)庫(kù)以及VS2005等技術(shù)。網(wǎng)絡(luò)在線考試系統(tǒng)旨在探索一種以互聯(lián)網(wǎng)為基礎(chǔ)的考試模式。通過(guò)這一新的考試模式,為考試創(chuàng)造一種新的考試環(huán)境;提高考試工作效率和標(biāo)準(zhǔn)化水平。本系統(tǒng)實(shí)現(xiàn)了網(wǎng)絡(luò)在線考試的功能,以減輕教師的工作負(fù)擔(dān)及提高工作效率,并能激發(fā)學(xué)生的學(xué)習(xí)興趣。論文首先論述了課題的背景、開(kāi)發(fā)意義以及課題的研究方案和國(guó)內(nèi)外研究現(xiàn)狀。論述了系統(tǒng)的需求分析與總體設(shè)計(jì)。本系統(tǒng)定位學(xué)生在線考試和管理員對(duì)試題、試卷的維護(hù)工作,具體來(lái)說(shuō)系統(tǒng)的總體功能模塊包括:學(xué)生注冊(cè)與登錄;在線考試;學(xué)生信息維護(hù);試題管理;學(xué)生成績(jī)管理。在總體設(shè)計(jì)里著重論述了數(shù)據(jù)庫(kù)的設(shè)計(jì),數(shù)據(jù)庫(kù)中各表的屬性設(shè)置。其次介紹了詳細(xì)設(shè)計(jì)。對(duì)于前臺(tái)系統(tǒng)的在線考試登錄頁(yè)、密碼找回頁(yè)、考生注冊(cè)頁(yè)在線考試頁(yè)進(jìn)行了詳細(xì)的論述。后臺(tái)的考試套題管理頁(yè)、考試題目管理頁(yè)、管理員與學(xué)生信息管理頁(yè)、課程與專(zhuān)業(yè)信息管理頁(yè)也進(jìn)行了詳細(xì)的論述。本文著重研究了選擇題題庫(kù)管理以及前臺(tái)在線考試的實(shí)現(xiàn)。選擇題題庫(kù)管理主要實(shí)現(xiàn)了選擇題的自由人性化添加、修改、刪除及瀏覽等功能;前臺(tái)學(xué)生可以查看其考試成績(jī),并且進(jìn)入在線考試,嚴(yán)格的監(jiān)視系統(tǒng)保證了考試的安全順利進(jìn)行。最后,是對(duì)該課題所研究的系統(tǒng)進(jìn)行測(cè)試。關(guān)鍵詞:在線考試系統(tǒng);B/S模式;ASP.NET;SQLSever2005AbstractStudents
online
examination
system
based
on
ASP.NET,
is
based
on
the
B/S
mode,
the
user
can
access
the
site
through
the
browser.
Using
ASP.NET
(C#)
and
SQL2005
database
and
VS2005
technology.
Exploration
of
an
Internet
based
exam
modeto
Online
Examination
System.
Through
this
new
examination
mode,
to
create
a
new
test
environment
for
the
exam;
improving
the
test
efficiency
and
the
level
of
standardization.
This
system
realizes
the
function
of
online
test,
in
order
to
reduce
the
workload
of
teachers
and
improve
work
efficiency,and
can
stimulate
students'
interest
in
learning.The
paper
first
discusses
the
research
background,
the
development
significance
and
research
method
and
the
research
situation
at
home
and
abroad.Discussestherequirementanalysisandsystemdesign.Thesystempositioningstudentsonlineexaminationandtheadministratorofthetestpapers,themaintenancework,theoverallfunctionmodulespecificallysysteminclude:Studentregistrationandlogin;onlinetest;students'informationmaintenance;testmanagement;managementofstudentachievement.Intheoveralldesignfocusesonthedesignofthedatabase,thedatabasetableattributeset.Secondly,introducesthedetaileddesign.FortheOnlineExamSystemloginpage,passwordrecoverypage,theexamineeregistrationpageonlinetestpageisdiscussedindetail.Thispaperfocusonmultiple-choicequestionbankmanagementandtheimplementationofonlineexam.Multiplechoicequestionbankmanagementmainlyrealizesthefreedomofhumanchoice,modify,adddeleteandbrowsefunctions;thestudentscanchecktheirscores,andintotheonlineexamination,monitoringsystemstrictlyguaranteetheexaminationsmoothlyandsafely.Finally,systemstudyonthesubjecttest.
Keywords:
Qnline
Examination
System;B/S;
ASP.NET;SQL
Sever
2005目錄178701緒論 1216341.1課題的背景及意義 1317861.2研究的主要內(nèi)容 16011.3課題的研究方案及國(guó)內(nèi)外研究現(xiàn)狀 2202322考試系統(tǒng)的相關(guān)技術(shù)介紹和分析 318422.1動(dòng)態(tài)網(wǎng)頁(yè)技術(shù) 341652.2AJAX技術(shù)及數(shù)據(jù)庫(kù)技術(shù) 3316902.3編程語(yǔ)言、編程平臺(tái)及構(gòu)建開(kāi)發(fā)環(huán)境介紹 547793系統(tǒng)需求分析與總體設(shè)計(jì) 7145013.1系統(tǒng)總體功能業(yè)務(wù)分析 7251043.2數(shù)據(jù)流程圖 7169483.3系統(tǒng)總體模塊設(shè)計(jì) 8167123.4數(shù)據(jù)庫(kù)設(shè)計(jì) 1019183.4.1數(shù)據(jù)庫(kù)概念設(shè)計(jì) 10175943.4.2數(shù)據(jù)庫(kù)邏輯設(shè)計(jì) 1238043.5網(wǎng)站文件組織結(jié)構(gòu) 14221764系統(tǒng)詳細(xì)設(shè)計(jì) 15188854.1公共類(lèi)設(shè)計(jì) 15151034.2前臺(tái)設(shè)計(jì) 1867654.2.1在線考試登錄頁(yè)設(shè)計(jì) 19167584.2.2密碼找回頁(yè)設(shè)計(jì) 21222234.2.3考生注冊(cè)頁(yè)設(shè)計(jì) 24102644.2.4在線考試頁(yè)設(shè)計(jì) 25118274.3后臺(tái)設(shè)計(jì) 28256434.3.1考試套題管理頁(yè)設(shè)計(jì) 2917534.3.2考試題目管理頁(yè)面設(shè)計(jì) 31145244.3.3管理員與學(xué)生信息管理頁(yè)設(shè)計(jì) 35241244.3.4課程與專(zhuān)業(yè)信息管理頁(yè)設(shè)計(jì) 37249505系統(tǒng)測(cè)試 39197225.1軟件測(cè)試 39310275.1.1測(cè)試的基本概念 39317385.1.2測(cè)試步驟 3987165.2本系統(tǒng)功能測(cè)試 406164結(jié)論 4225330致謝 432660參考文獻(xiàn) 443868附錄A英文原文 4519751附錄B漢語(yǔ)翻譯 551緒論1.1課題的背景及意義ASP[1]是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁(yè)中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù)。指ActiveServerPages(動(dòng)態(tài)服務(wù)器頁(yè)面),運(yùn)行于IIS之中的程序。InternetInformationServices(IIS,互聯(lián)網(wǎng)信息服務(wù)),是由微軟公司提供的基于運(yùn)行MicrosoftWindows的互聯(lián)網(wǎng)基本服務(wù)??荚囀墙逃兄匾囊粋€(gè)環(huán)節(jié)??荚嚨哪康囊皇菫榱丝疾閷W(xué)生的知識(shí)掌握情況;二是為教師提供教學(xué)分析的依據(jù)。傳統(tǒng)的考試由于涉及組織命題,試卷印刷,考場(chǎng)安排,組織閱卷等諸多環(huán)節(jié),考試時(shí)間周期長(zhǎng),效率低下;同時(shí)人工批卷等主觀因素也影響到考試的公正性。隨著網(wǎng)絡(luò)技術(shù)在教育領(lǐng)域應(yīng)用的普及,應(yīng)用現(xiàn)代信息技術(shù)架構(gòu)的網(wǎng)絡(luò)在線考試系統(tǒng)展現(xiàn)出來(lái)越來(lái)越多的優(yōu)越性。網(wǎng)絡(luò)在線考試系統(tǒng)旨在探索一種以互聯(lián)網(wǎng)為基礎(chǔ)的考試模式。通過(guò)這一新的考試模式,為考試創(chuàng)造一種新的考試環(huán)境;提高考試工作效率和標(biāo)準(zhǔn)化水平;使考務(wù)管理突破時(shí)空限制;使考生可以隨時(shí),隨地通過(guò)網(wǎng)絡(luò)完成考試。網(wǎng)絡(luò)在線考試系統(tǒng)從根本上解決了傳統(tǒng)考試過(guò)程中工作量大,效率低,反饋周期長(zhǎng),資源浪費(fèi)等缺陷。1.2研究的主要內(nèi)容本系統(tǒng)運(yùn)行速度快、操作簡(jiǎn)單、界面友好、易于管理和維護(hù);而且具有較強(qiáng)的針對(duì)性、實(shí)用性和可操作性,初步解決了校園理論考核層次廣、次數(shù)多、內(nèi)容全,以及保密性和公平性差、評(píng)卷困難等問(wèn)題。并對(duì)其詳細(xì)的設(shè)計(jì)方案、實(shí)現(xiàn)技術(shù)和運(yùn)行情況做了分析和研究,最后對(duì)未來(lái)的工作做了研究與探討。論文主要圍繞系統(tǒng)設(shè)計(jì)開(kāi)展研究,保證了考核的公平、公正、公開(kāi),有力地促進(jìn)了理論學(xué)習(xí)的全面開(kāi)展。本文重點(diǎn)研究了以下幾個(gè)方面:(1)系統(tǒng)的體系結(jié)構(gòu)、工作方式、主要功能模塊、主要數(shù)據(jù)的工作流程、后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)、數(shù)據(jù)庫(kù)配置與連接;(2)系統(tǒng)各功能模塊的詳細(xì)設(shè)計(jì)、開(kāi)發(fā)及其關(guān)鍵技術(shù)。1.3課題的研究方案及國(guó)內(nèi)外研究現(xiàn)狀系統(tǒng)采用開(kāi)放、動(dòng)態(tài)的B/S系統(tǒng)架構(gòu),基于ASP.NET開(kāi)發(fā)技術(shù),實(shí)現(xiàn)用戶(hù)與網(wǎng)站的動(dòng)態(tài)交互性。設(shè)計(jì)實(shí)現(xiàn)具有空間性、被授權(quán)用戶(hù)可以異地登錄考試的系統(tǒng),系統(tǒng)提供倒計(jì)時(shí)功能以及自動(dòng)提交試卷功能,考生可查詢(xún)考試成績(jī),對(duì)考生注冊(cè)信息進(jìn)行管理。系統(tǒng)為考生提供更全面,更靈活的服務(wù),并全面、準(zhǔn)確地對(duì)考試進(jìn)行跟蹤和評(píng)價(jià)。實(shí)現(xiàn)系統(tǒng)運(yùn)行穩(wěn)定,安全可靠。隨著計(jì)算機(jī)應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴(kuò)大,如遠(yuǎn)程教育和虛擬大學(xué)的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬(wàn)戶(hù)。其中很重要的一個(gè)環(huán)節(jié)就是在線考試系統(tǒng),同時(shí)它也是最難實(shí)現(xiàn)的環(huán)節(jié)。學(xué)生在線考試系統(tǒng)的開(kāi)發(fā)可以適應(yīng)現(xiàn)代教學(xué)的需求,為考生提供更全面,更靈活的服務(wù),對(duì)于如何設(shè)計(jì)開(kāi)發(fā)有針對(duì)性的在線考試系統(tǒng)也提出了更高的要求。目前動(dòng)態(tài)網(wǎng)頁(yè)的開(kāi)發(fā)技術(shù)比較成熟,主要有ASP.NET、JSP和PHP等,本系統(tǒng)基于ASP.NET開(kāi)發(fā)技術(shù)。ASP.NET[2]是一種強(qiáng)大的Web服務(wù)器端技術(shù),與ASP相比,ASP.NET擁有更高的編譯特性與緩存機(jī)制。其特點(diǎn)包括:與其地層框架.NET緊密結(jié)合;將事件模型引入到Web應(yīng)用程序的開(kāi)發(fā)領(lǐng)域;支持多種語(yǔ)言開(kāi)發(fā),包括C#、VisualBasic和Jscript等。2考試系統(tǒng)的相關(guān)技術(shù)介紹和分析2.1動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)由于系統(tǒng)的操作界面都是Web頁(yè)面形式,而且需要對(duì)各種用戶(hù)的具體請(qǐng)求進(jìn)行動(dòng)態(tài)處理并返回結(jié)果,這是一般靜態(tài)Web頁(yè)面技術(shù)所無(wú)法實(shí)現(xiàn)的,所以采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。目前動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)有很多,可以說(shuō)是層出不窮,比如CGI、PHP、JSP、ASP、ASP.NET等。本設(shè)計(jì)采用ASP.NET技術(shù)。ASP.NET[3](又稱(chēng)ASP+)是ASP的下一代版本,它并不只是ASP4.0,它是一個(gè)用于Web開(kāi)發(fā)的全新框架,其中包含了許多新的特性。ASP.NET完全基于模塊與組件,具有更好的可擴(kuò)展性與可定制性,數(shù)據(jù)處理方面更是引入了許多激動(dòng)人心的新技術(shù),正是這些具有革新意義的新特性,讓ASP.NET遠(yuǎn)遠(yuǎn)超越了ASP,同時(shí)也是提供給Web開(kāi)發(fā)人員更好的靈活性,有效縮短了Web應(yīng)用程序的開(kāi)發(fā)周期。Asp.Net所獨(dú)具的一些特點(diǎn):(1)簡(jiǎn)單的開(kāi)發(fā)操作,分離程序代碼和網(wǎng)頁(yè)內(nèi)容。ASP.NET可以將頁(yè)面邏輯與業(yè)務(wù)邏輯分開(kāi),實(shí)用代碼分離技術(shù)(CodeBehind)分離程序代碼與顯示內(nèi)容,使程序的可讀性更強(qiáng),簡(jiǎn)化開(kāi)放操作。(2)提高了執(zhí)行效率所有ASP.NET代碼(包括服務(wù)器腳本)都經(jīng)過(guò)編譯,可提供強(qiáng)類(lèi)型、性能優(yōu)化和早期綁定及其他有點(diǎn)。代碼一旦經(jīng)過(guò)編譯,運(yùn)行庫(kù)會(huì)進(jìn)一步將ASP.NET編譯為本機(jī)代碼,從而提供增強(qiáng)的性能。(3)支持客戶(hù)端類(lèi)型ASP.NET提供了許多服務(wù)器控件(ServerControl),在網(wǎng)頁(yè)執(zhí)行期間,能自動(dòng)檢測(cè)瀏覽器所支持的功能,并自動(dòng)產(chǎn)生瀏覽器可用網(wǎng)頁(yè)。2.2AJAX技術(shù)及數(shù)據(jù)庫(kù)技術(shù)AJAX的全稱(chēng)是AsynchronousJavaScriptandXML,即異步JavaScript和XML。這是一種多項(xiàng)成熟技術(shù)的組合,其目的是讓W(xué)eb應(yīng)用獲得與用戶(hù)快速、即時(shí)交互的能力。AJAX所組合的技術(shù),包括:?JavaScript,Java腳本語(yǔ)言(注意,此Java非Sun公司的Java)?DHTML,DynamicHTML,動(dòng)態(tài)HTML?XML,ExtensibleMarkupLanguage,可擴(kuò)展標(biāo)記語(yǔ)言?CSS,CascadingStyleSheets,層疊樣式表單?DOM,DocumentObjectModel,文檔對(duì)象模型?微軟的稱(chēng)為XMLHttpRequest的對(duì)象在AJAX技術(shù)下,用戶(hù)會(huì)感覺(jué)到網(wǎng)頁(yè)與普通桌面應(yīng)用一樣,響應(yīng)迅速,而不是像傳統(tǒng)網(wǎng)頁(yè)那樣,任何操作都需要等待頁(yè)面的刷新。AJAX是如何做到這一點(diǎn)的呢?有兩個(gè)秘密:第一,其實(shí)AJAX也會(huì)刷新頁(yè)面,只不過(guò),AJAX可以只刷新部分頁(yè)面,而不是整個(gè)頁(yè)面;第二,AJAX的頁(yè)面刷新是異步的,就是說(shuō),用戶(hù)可以繼續(xù)他的其他操作,而不必等候刷新完成。當(dāng)用戶(hù)瀏覽一個(gè)基于AJAX的Web應(yīng)用時(shí),用戶(hù)的請(qǐng)求被提交給一個(gè)稱(chēng)為AJAX引擎(AJAXEngine)的代理,這個(gè)AJAX引擎負(fù)責(zé)接收用戶(hù)請(qǐng)求,從Web服務(wù)器上獲取響應(yīng),并更新瀏覽器內(nèi)容。形象地說(shuō),傳統(tǒng)的Web應(yīng)用中,瀏覽器是直接和Web服務(wù)器打交道的,而在AJAX應(yīng)用中,瀏覽器和Web服務(wù)器之間出現(xiàn)了一個(gè)來(lái)回跑腿的“中介”,而且這個(gè)“中介”相當(dāng)?shù)那诳?,所以,能夠給瀏覽器提供更好的服務(wù),從而使用戶(hù)獲得更滿(mǎn)意的應(yīng)用體驗(yàn)。由于本系統(tǒng)涉及到許多數(shù)據(jù)的處理,這就需要有一個(gè)強(qiáng)大的后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)支持。目前主要的數(shù)據(jù)庫(kù)有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQLServer等,其中網(wǎng)絡(luò)型的SQLServer、Oracle產(chǎn)品安全性遠(yuǎn)遠(yuǎn)高于桌面型的Access、FoxPro等數(shù)據(jù)庫(kù)。本系統(tǒng)采用的是微軟公司的SQLServer2005。原因如下:第一,SQLServer與Windows2000Server服務(wù)器緊密集成,而Windows2000Server服務(wù)器具有良好的安全性,能夠排除所有未經(jīng)授權(quán)的非法用戶(hù)的訪問(wèn),確保了SQLServer2005服務(wù)器的安全性,符合系統(tǒng)對(duì)安全性的要求;第二,用戶(hù)可以使用Web瀏覽器查詢(xún)存儲(chǔ)在SQLServer2005數(shù)據(jù)庫(kù)中的數(shù)據(jù),符合系統(tǒng)遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù)的要求;第三,容量龐大,每個(gè)數(shù)據(jù)庫(kù)中可創(chuàng)建多達(dá)20萬(wàn)個(gè)數(shù)據(jù)表,數(shù)據(jù)表中的記錄的行數(shù)只受服務(wù)器硬盤(pán)空間的限制,符合系統(tǒng)的考題數(shù)目較多的要求。2.3編程語(yǔ)言、編程平臺(tái)及構(gòu)建開(kāi)發(fā)環(huán)境介紹C#[4]是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NETFramework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。C#看起來(lái)與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語(yǔ)法和編譯成中間代碼再運(yùn)行的過(guò)程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NETwindows網(wǎng)絡(luò)框架的主角。C#是一種安全的、穩(wěn)定的、簡(jiǎn)單的、優(yōu)雅的,由C和C++衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。它在繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒(méi)有宏以及不允許多重繼承)。C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性和便捷的面向組件編程的支持成為.NET開(kāi)發(fā)的首選語(yǔ)言。VisualStudio2005是基于.NET2.0框架的。它同時(shí)也能開(kāi)發(fā)跨平臺(tái)的應(yīng)用程序,如開(kāi)發(fā)使用微軟操作系統(tǒng)的手機(jī)的程序等??傮w來(lái)說(shuō)是一個(gè)非常龐大的軟件,甚至包含代碼測(cè)試功能。通過(guò)將SDLC工具集成到UI級(jí)別的表面,VisualStudioTeamSystem提高了團(tuán)隊(duì)工作效率并增強(qiáng)了項(xiàng)目的可預(yù)見(jiàn)性,此外,過(guò)程集成并不增加工作量,而通常能夠降低與SDLC中所采納過(guò)程相關(guān)的開(kāi)銷(xiāo)。盡管存在一些基本的工具可組成SDLC工具(例如,架構(gòu)師工具、測(cè)試工具等),但是SDLC并未限制住工具的數(shù)量。當(dāng)集成支持SDLC的工具時(shí),團(tuán)隊(duì)會(huì)發(fā)現(xiàn)在提高團(tuán)隊(duì)效率,同時(shí)降低復(fù)雜性這些方面的好處。VisualStudioTeamSystem將提供基本的平臺(tái),讓所有提供商能夠以一種普通的、公眾可理解的形式交換信息。這理所當(dāng)然地鑄造了一個(gè)充滿(mǎn)活力的合作伙伴體系,合作伙伴能夠構(gòu)建完全集成的工具,簡(jiǎn)化構(gòu)建IT解決方案的復(fù)雜性,以及推動(dòng)信息交流和鼓勵(lì)團(tuán)隊(duì)協(xié)作。要獲得跨UI、數(shù)據(jù)和過(guò)程集成的最大價(jià)值,就需要擴(kuò)展性。擴(kuò)展性促成交互性。(1)網(wǎng)站開(kāi)發(fā)環(huán)境網(wǎng)站開(kāi)發(fā)語(yǔ)言:MicrosoftVisualStudio2005集成開(kāi)發(fā)環(huán)境網(wǎng)站開(kāi)發(fā)語(yǔ)言:ASP.NET+C#網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù):SQLSever2005開(kāi)發(fā)環(huán)境運(yùn)行平臺(tái):Windows7旗艦版(2)服務(wù)器端操作系統(tǒng):Windows7旗艦版Web服務(wù)器:Internet信息服務(wù)(IIS)管理器數(shù)據(jù)庫(kù)服務(wù)器:SQLSever2005瀏覽器:IE6.0網(wǎng)站服務(wù)器運(yùn)行環(huán)境:Microsoft.NETFrameworkSDKv2.0(3)客戶(hù)端瀏覽器:IE6.0分辨率:最佳效果1024*768像素3系統(tǒng)需求分析與總體設(shè)計(jì)3.1系統(tǒng)總體功能業(yè)務(wù)分析本系統(tǒng)定位學(xué)生在線考試和管理員對(duì)試題、試卷的維護(hù)工作,具體來(lái)說(shuō)系統(tǒng)的總體功能模塊包括以下幾個(gè)面:(1)學(xué)生注冊(cè)與登錄:學(xué)生可在線注冊(cè)并登錄該系統(tǒng);(2)在線考試:學(xué)生注冊(cè)并登錄后即可進(jìn)行在線考試,可以選擇考試的試卷,考試完畢后可查看自己的成績(jī);(3)學(xué)生信息維護(hù):管理員可對(duì)所有注冊(cè)的學(xué)生的信息進(jìn)行查看、修改和刪除操作;(4)試題管理:管理員可以對(duì)考試試題進(jìn)行查看、修改和刪除管理,可以生成不同的試卷。(5)學(xué)生成績(jī)管理:管理員可以查看和刪除學(xué)生的考試結(jié)果信息。3.2數(shù)據(jù)流程圖數(shù)據(jù)流圖(DataFlowDiagram):簡(jiǎn)稱(chēng)DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。繪制數(shù)據(jù)流圖的基本要求:系統(tǒng)的頂層圖是用來(lái)表示整個(gè)系統(tǒng)的功能結(jié)構(gòu)。隨著數(shù)據(jù)分析活動(dòng)的逐漸深入,較高抽象級(jí)別上的復(fù)雜轉(zhuǎn)換可以精化為一系列的相互關(guān)聯(lián)的數(shù)據(jù)流和子轉(zhuǎn)換。數(shù)據(jù)流程圖(DFD)數(shù)據(jù)流圖描述系統(tǒng)的邏輯模型,在設(shè)計(jì)數(shù)據(jù)流圖時(shí)只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需考慮如何具體地實(shí)現(xiàn)這些。圖例: 外部項(xiàng) 加工 數(shù)據(jù)存儲(chǔ) 信息流或數(shù)據(jù)流在線考試系統(tǒng)的數(shù)據(jù)流程如圖3.1所示。圖3.1在線考試系統(tǒng)的數(shù)據(jù)流程圖3.3系統(tǒng)總體模塊設(shè)計(jì)本系統(tǒng)主要用于學(xué)生在線考試,管理員可對(duì)考試信息進(jìn)行修改,在線考試學(xué)生登錄流程圖與管理員登錄流程圖分別如圖3.2所示與3.3所示。是否同意考試規(guī)則是否同意考試規(guī)則選擇考試課程和套題寶準(zhǔn)備考試開(kāi)始考試提交試卷查看考試結(jié)果注冊(cè)考生登錄?在線考試查詢(xún)成績(jī)開(kāi)始結(jié)束否考生操作是否是圖3.2在線考試學(xué)生登錄流程圖對(duì)考生信息,考試信息,和管理員信息,考試套題和考試題目進(jìn)行添加,就該,刪除等管理對(duì)考生信息,考試信息,和管理員信息,考試套題和考試題目進(jìn)行添加,就該,刪除等管理管理員登錄?開(kāi)始結(jié)束否是是圖3.3在線考試管理員登錄流程圖3.4數(shù)據(jù)庫(kù)設(shè)計(jì)在程序開(kāi)發(fā)中,數(shù)據(jù)庫(kù)設(shè)計(jì)[5]是一個(gè)非常重要的環(huán)節(jié)。一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)結(jié)構(gòu),可以提高效率,方便維護(hù),并且為以后進(jìn)行功能的擴(kuò)充留有余地。這好比一高樓座大廈,有穩(wěn)固的地基,才能穩(wěn)如磐石,屹立不倒。本網(wǎng)站采用SQLSever2005[6]名稱(chēng)為db_Examination,其中包含9張表。3.4.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)通過(guò)對(duì)網(wǎng)站進(jìn)行的需求分析,網(wǎng)站流程設(shè)計(jì)以及系統(tǒng)功能結(jié)構(gòu)的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體對(duì)象分別為“管理員信息”、“考試套題”、“考生成績(jī)”、“考生成績(jī)信息”。對(duì)網(wǎng)站進(jìn)行有效的管理就要設(shè)置一個(gè)或多個(gè)管理員,管理員實(shí)體包括管理員編號(hào)、管理員姓名、管理員密碼和注冊(cè)時(shí)間,管理員信息實(shí)體E-R圖如圖3.4所示。 考試套題套題名稱(chēng)考試套題套題名稱(chēng)所屬課程添加時(shí)間有效時(shí)間管理員管理員編號(hào)管理員姓名管理員編號(hào)管理員編號(hào)圖3.4管理員信息實(shí)體E-R圖 圖3.5考試套題E-R圖考試套題包括套題名稱(chēng)、所屬課程、添加時(shí)間以及有效時(shí)間等屬性??荚囂最}E-R圖如圖3.5所示??忌畔?shí)體包括學(xué)生證號(hào)、姓名、性別、所學(xué)專(zhuān)業(yè)、注冊(cè)時(shí)間、登錄網(wǎng)站密碼、密碼提示問(wèn)題、密碼提示答案以IP等屬性,考生信息實(shí)體E-R圖如圖3.6所示。學(xué)生證號(hào)學(xué)生證號(hào)密碼提示答案注冊(cè)IP地址密碼提示問(wèn)題考生性別登錄網(wǎng)站密碼考生注冊(cè)時(shí)間考生姓名所學(xué)專(zhuān)業(yè)考生圖3.6考生信息實(shí)體E-R圖當(dāng)答完考題后可以對(duì)自己的成績(jī)進(jìn)行查詢(xún),后臺(tái)管理員也可以對(duì)考生成績(jī)進(jìn)行管理??忌煽?jī)包括學(xué)生證號(hào)、所學(xué)課程、考生總分等。考試成績(jī)信息實(shí)體E-R圖如圖3.7所示。套題名稱(chēng)套題名稱(chēng)單選題分?jǐn)?shù)考生總分?jǐn)?shù)考生成績(jī)編號(hào)套題編號(hào)成績(jī)提交時(shí)間多選題分?jǐn)?shù)學(xué)生證號(hào)所學(xué)課程考生圖3.7考試成績(jī)信息實(shí)體E-R圖3.4.2數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)管理員信息表用于保存管理員信息,tb_Administrator表的結(jié)構(gòu)設(shè)計(jì)如下:(1)ID是表的關(guān)鍵字,唯一標(biāo)識(shí),不可為空。類(lèi)型為bigint,長(zhǎng)度為8。(2)Name是管理員登錄名稱(chēng),可為空。類(lèi)型為varchar,長(zhǎng)度為50。(3)PWD是管理員密碼,可為空。類(lèi)型為varchar,長(zhǎng)度為60。(4)JoinTime是加入時(shí)間,可為空。類(lèi)型為datetime,長(zhǎng)度為8。默認(rèn)值為getdate()??忌n程信息表用于保存指定專(zhuān)業(yè)所包含的課程信息,tb_Lesson表的結(jié)構(gòu)設(shè)計(jì)如下:(1)ID是表的關(guān)鍵字,唯一標(biāo)識(shí),不可為空。類(lèi)型為bigint,長(zhǎng)度為8。(2)Name是課程名稱(chēng),可為空。類(lèi)型為varchar,長(zhǎng)度為60。(3)ofProfession是所屬專(zhuān)業(yè)的編號(hào),可為空。類(lèi)型為bigint,長(zhǎng)度為8。(4)JoinTime是添加時(shí)間,可為空。類(lèi)型為datetime,長(zhǎng)度為8。默認(rèn)值為getdate()??忌鷮?zhuān)業(yè)信息表用于保存考試所涉及到的專(zhuān)業(yè)信息,tb_Profession表的結(jié)構(gòu)設(shè)計(jì)如下:(1)ID是表的關(guān)鍵字,唯一標(biāo)識(shí),不可為空。類(lèi)型為bigint,長(zhǎng)度為8。(2)Name是專(zhuān)業(yè)名稱(chēng),可為空。類(lèi)型為varchar,長(zhǎng)度為200。(3)JoinTime是添加時(shí)間,可為空。類(lèi)型為datetime,長(zhǎng)度為8。默認(rèn)值為getdate()??荚囋嚲硇畔⒈碛糜诒4娓魈最}中所包含的的詳細(xì)考試題目,tb_Questions表的結(jié)構(gòu)設(shè)計(jì)如下:(1)ID是表的關(guān)鍵字,唯一標(biāo)識(shí),不可為空。類(lèi)型為bigint,長(zhǎng)度為8。(2)Que_subject是試題主題,可為空。類(lèi)型為varchar,長(zhǎng)度為50。(3)Que_type是試題類(lèi)型,可為空。類(lèi)型為char,長(zhǎng)度為10。(4)Que_joindate是試題添加時(shí)間,可為空。類(lèi)型為datetime,長(zhǎng)度為8。默認(rèn)值為getdate()。(5)Que_lessonid是所屬課程號(hào),可為空。類(lèi)型為int,長(zhǎng)度為4。(6)Que_professionid是所屬專(zhuān)業(yè)號(hào),可為空。類(lèi)型為int,長(zhǎng)度為4。(7)Que_toatiid是所屬套題編號(hào),可為空。類(lèi)型為bigint,長(zhǎng)度為8。(8)OptionA、OptionB、OptionC、OptionD,分別為選項(xiàng)A、B、C、D。類(lèi)型均為varchar,長(zhǎng)度為50。(9)Que_answer是試題答案,可為空。類(lèi)型為char,長(zhǎng)度為10。(10)note是注釋?zhuān)蔀榭?。?lèi)型為varchar,長(zhǎng)度為50。用于試題備注。生信息表用于保存網(wǎng)站注冊(cè)的學(xué)生信息,tb_Student表的結(jié)構(gòu)設(shè)計(jì)如下:(1)ID是表的關(guān)鍵字,代表學(xué)生證號(hào),不可為空。類(lèi)型為varchar,長(zhǎng)度為50。(2)Name是學(xué)生姓名,可為空。類(lèi)型為varchar,長(zhǎng)度為20。(3)PWD是學(xué)生登錄密碼,可為空。類(lèi)型為varchar,長(zhǎng)度為20。(4)Sex是學(xué)生性別,可為空。類(lèi)型為varchar,長(zhǎng)度為2。(5)JoinTime是加入時(shí)間,可為空。類(lèi)型為datetime,長(zhǎng)度為8。默認(rèn)值為getdate()。(6)Questions與Answer分別為密碼問(wèn)題、密碼答案,可為空。類(lèi)型均為varchar,長(zhǎng)度為50。(7)profession是所學(xué)專(zhuān)業(yè)號(hào),可為空。類(lèi)型為bigint,長(zhǎng)度為8。(8)IPAddress是IP地址,可為空。類(lèi)型為char,長(zhǎng)度為30。用于防止重復(fù)考試。考試成績(jī)信息表用于保存考生的考試成績(jī),tb_StuResult表的結(jié)構(gòu)設(shè)計(jì)如下:(1)Res_id是表的關(guān)鍵字,唯一標(biāo)識(shí),不可為空。類(lèi)型為bigint,長(zhǎng)度為8。(2)Stu_id與Which_lesson、taotiname分別是所屬學(xué)生編號(hào)、所屬課程名稱(chēng)、所屬套題名稱(chēng),可為空。類(lèi)型均為varchar,長(zhǎng)度為50。(3)taotiid是所屬套題編號(hào),可為空。類(lèi)型為bigint,長(zhǎng)度為8。(4)Res_single與Res_more分別為單選成績(jī)、多選成績(jī),可為空。類(lèi)型均為int,長(zhǎng)度為4。(5)Res_subdate是成績(jī)提交時(shí)間,可為空。類(lèi)型為datetime,長(zhǎng)度為8。默認(rèn)值為getdate()??荚囂最}信息表用于保存課程所對(duì)應(yīng)的套題信息,tb_Taoti表的結(jié)構(gòu)設(shè)計(jì)如下:(1)ID是表的關(guān)鍵字,唯一標(biāo)識(shí),不可為空。類(lèi)型為bigint,長(zhǎng)度為8。(2)Name是套題名稱(chēng),可為空。類(lèi)型為varchar,長(zhǎng)度為50。(3)LessonID是所屬課程號(hào),可為空。類(lèi)型為bigint,長(zhǎng)度為8。(4)JoinTime與Limittime分別是添加時(shí)間、有效時(shí)間,可為空。類(lèi)型均為datetime,長(zhǎng)度為8。Jointime默認(rèn)值為getdate()。3.5網(wǎng)站文件組織結(jié)構(gòu)在進(jìn)行編碼之前,為了便于系統(tǒng)文件的管理,按照功能模塊劃分,將一些Web窗體文件存放在同一個(gè)文件夾里。Default.aspx為網(wǎng)站首頁(yè),與密碼找回頁(yè)1:InfoPwd.aspx、密碼找回頁(yè)2:InfoPwdd.aspx、密碼找回頁(yè)3:InfoPwddd.aspx、考生注冊(cè)頁(yè):zhuce.aspx以及網(wǎng)站配置文件web.config放于主文件夾第一級(jí)目錄中。主文件夾中App_Code文件夾為自定義公共類(lèi)文件夾,其中有公共類(lèi)文件為Database.cs;App_Data為數(shù)據(jù)庫(kù)文件夾;App_Themes文件夾里有主題文件夾,用于存放網(wǎng)站的外觀文件;HouAdmin文件夾存放后臺(tái)網(wǎng)頁(yè)文件;圖片文件則放于igm文件中;Qianuser文件夾放置前臺(tái)管理文件,其中Info_StuResult.aspx為考生成績(jī)查詢(xún)頁(yè),StarExamfra.aspx為在線考試頁(yè),XuanZe_TaoTi.aspx為在線考試套題頁(yè),zaixian_kaoshi.aspxk為考生規(guī)則頁(yè),ZhunBeiKaoShi.aspx為在線考試準(zhǔn)備頁(yè)。4系統(tǒng)詳細(xì)設(shè)計(jì)4.1公共類(lèi)設(shè)計(jì)在網(wǎng)站開(kāi)發(fā)項(xiàng)目[7]中通常以類(lèi)的形式來(lái)組織、封裝一些常用的方法和事件,有利于代碼的維護(hù),在編程過(guò)程中可以起到事半功倍的效果。在線考試網(wǎng)頁(yè)中創(chuàng)建了一個(gè)公共類(lèi)Datacon,在此公共類(lèi)中共創(chuàng)建6個(gè)方法:getcon,eccom,ecadabind,ecDropDpwnList,ecadabindinfostring,ExceRead。4.1.1數(shù)據(jù)庫(kù)連接方法getcon方法:用于連接在線考試網(wǎng)的數(shù)據(jù)庫(kù),類(lèi)型為Sqlconnection。相關(guān)設(shè)計(jì)如下:publicSqlConnectiongetcon(){//定義數(shù)據(jù)庫(kù)連接字符串stringstrCon="DataSource=PC-20130423TVFX;DataBase=db_Examination;UserID=sa;PWD=sa";//創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)連接SqlConnectionsqlCon=newSqlConnection(strCon);//返回SqlConnection類(lèi)型的值returnsqlCon;}DataSource為本地計(jì)算機(jī)名字;DataBase為數(shù)據(jù)庫(kù)名字;UserID和PWD與SQLServer2005的登錄名和密碼相一致均為sa。4.1.2執(zhí)行數(shù)據(jù)庫(kù)命令的方法eccom方法:用于執(zhí)行對(duì)數(shù)據(jù)庫(kù)操作的SQL語(yǔ)句命令,如刪除操作命令、修改操作命令等。在ecccom方法中首先傳一個(gè)SQL語(yǔ)句,然后與SQLServer數(shù)據(jù)庫(kù)建立連接,應(yīng)用SqlCommand對(duì)象執(zhí)行所傳來(lái)的SQL語(yǔ)句,最后應(yīng)用try-catch-finally語(yǔ)句進(jìn)行異常處理,如果執(zhí)行該SQL語(yǔ)句則返回true,反之則返回false。相關(guān)設(shè)計(jì)如下:(1)在eccom方法中建立一個(gè)SqlConnection類(lèi)的對(duì)象,SqlConnection類(lèi)是SQLServer數(shù)據(jù)庫(kù)一個(gè)打開(kāi)的連接。(2)然后調(diào)用SqlConnection類(lèi)對(duì)象的open()方法用于打開(kāi)數(shù)據(jù)庫(kù)連接。(3)建立SqlCommand類(lèi)的對(duì)象,主要是要對(duì)SQLServer數(shù)據(jù)庫(kù)執(zhí)行一個(gè)SQL語(yǔ)句或存儲(chǔ)過(guò)程,應(yīng)用SqlCommand對(duì)象執(zhí)行所傳來(lái)的SQL語(yǔ)句。(4)在try函數(shù)中調(diào)用mycommand.ExecuteNonQuery()方法,其方法主要是對(duì)連接執(zhí)行SQL語(yǔ)句并返回受影響的行數(shù)。(5)最后關(guān)閉數(shù)據(jù)庫(kù)。在進(jìn)行數(shù)據(jù)庫(kù)相關(guān)操作過(guò)程中,需通過(guò)using命令,導(dǎo)入命名空間usimgSystem.Data.SqlClient,否則程序編譯失敗。4.1.3將數(shù)據(jù)綁定到表格控件的方法Ecadabind方法:用于將數(shù)據(jù)綁定到表格控件中。在公共類(lèi)中為實(shí)現(xiàn)該方法,編寫(xiě)一個(gè)Ecadabind(GridViewgv,stringsqlstr4)方法,用來(lái)執(zhí)行SQL語(yǔ)句,返回bool型。該方法主要執(zhí)行SqlDataAdapter中的語(yǔ)句,并將其綁定到GridView控件上,相應(yīng)功能執(zhí)行成功后返回true,否則返回false。相關(guān)設(shè)計(jì)如下:(1)在Ecadabind方法中調(diào)用getcon方法定義新的數(shù)據(jù)庫(kù)連接并打開(kāi)數(shù)據(jù)庫(kù)連接。(2)定義并初使化數(shù)據(jù)適配器,SqlDataAdapter類(lèi)表示用于填充DataSet和更新SQLServer數(shù)據(jù)庫(kù)的一組命令和一個(gè)數(shù)據(jù)庫(kù)連接。(3)創(chuàng)建一個(gè)數(shù)據(jù)集mydataset。(4)將數(shù)據(jù)適配器中的數(shù)據(jù)填充到數(shù)據(jù)集中。(5)將此數(shù)據(jù)集作為表格控件的數(shù)據(jù)源。(6)在try方法中綁定數(shù)據(jù)庫(kù)中數(shù)據(jù)并返回這個(gè)數(shù)據(jù)集。4.1.4將數(shù)據(jù)綁定到下拉列表框的方法ecDropDpwnList方法:用于將數(shù)據(jù)綁定到下拉列表框中。將數(shù)據(jù)綁定到下拉列表框中主要應(yīng)用了ecDropDpwnList(DropDpwnListDDL,stringsqlstr3,stringsDTF,stringDVF)方法。該方法首先傳遞了4個(gè)值,分別為DropDpwnList控件、SQL語(yǔ)句、列表項(xiàng)提供的內(nèi)容字段和列表項(xiàng)提供值;然后與SQLServer數(shù)據(jù)庫(kù)建立連接,應(yīng)用SqlDataAdapter對(duì)象填充數(shù)據(jù)集并指定DropDpwnList控件的數(shù)據(jù)源;最后設(shè)置列表項(xiàng)提供的內(nèi)容字段和列表項(xiàng)提供值所綁定的數(shù)據(jù)源,應(yīng)用try-catch-finally語(yǔ)句進(jìn)行異常處理,如果DropDpwnList控件執(zhí)行DataBind方法返回true,否則返回false。相關(guān)設(shè)計(jì)如下:(1)sqldataadapter.Fill方法是可以重載的,再次主要實(shí)現(xiàn)將數(shù)據(jù)集填充到DataSet中。DataSet是ADO.NET結(jié)構(gòu)的主要組件,它是從數(shù)據(jù)源中檢索到的數(shù)據(jù)在內(nèi)存中的緩存。用于創(chuàng)建和刷新DataSet并依次更新原始數(shù)據(jù)的步驟包括:通過(guò)DataAdapter使用數(shù)據(jù)源中的數(shù)據(jù)生成和填充DataSet中的每個(gè)DataTable;通過(guò)添加、更新或刪除DataSRow對(duì)象更改單個(gè)DataTable對(duì)象中的數(shù)據(jù);電泳GetChanges方法以創(chuàng)建只反映對(duì)數(shù)據(jù)進(jìn)行的更改的第二個(gè)DataSet;調(diào)用DataAdapter的Update方法,并將第二個(gè)DataSet作為參數(shù)傳遞;調(diào)用Merge方法將第二個(gè)DataSet中的更改合并到第一個(gè)中;針對(duì)DataSet調(diào)用AcceptChanges?;蛘撸{(diào)用RejectChanges以取消更改。4.1.5在表格控件中獲取主鍵字段的方法ecadabindinfostring方法:用于將數(shù)據(jù)綁定到表格控件中,并獲取數(shù)據(jù)表中的主鍵字段。在表格控件中獲取主鍵字段的方法,主要應(yīng)用了公共類(lèi)中的ecadabindinfostring(GridViewgv,stringsqlstr5,stringDNK)方法,該方法與ecadabind方法類(lèi)似。該方法用來(lái)執(zhí)行SQL語(yǔ)句,返回bool型,主要執(zhí)行SqlDataAdapter中的語(yǔ)句,并將其綁定到GridView控件上顯示其主關(guān)鍵字段的名稱(chēng),相應(yīng)功能執(zhí)行成功返回true.否則返回false。相關(guān)設(shè)計(jì)如下:SqlConnectioncon=this.getcon();con.Open();SqlDataAdaptermydataadapter=newSqlDataAdapter(sqlstr5,con);DataSetmydataset=newDataSet();mydataadapter.Fill(mydataset);gv.DataSource=mydataset;gv.DataKeyNames=newstring[]{DNK};利用DataKeyNames方法在GridView控件上顯示數(shù)據(jù)源的主關(guān)鍵字的名稱(chēng)。4.1.6數(shù)據(jù)讀取的方法exceRead方法:用于讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),返回一個(gè)SqlDataReader。數(shù)據(jù)讀取方法主要應(yīng)用到公共類(lèi)中的exceRead方法。首先調(diào)用公共類(lèi)中的getcon方法創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)連接對(duì)象,接著創(chuàng)建一個(gè)SqlCommang命令對(duì)象,然后應(yīng)用該命令對(duì)象的ExecuteReader方法創(chuàng)建一個(gè)數(shù)據(jù)閱讀器,用來(lái)讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),最后返回一個(gè)SqlDataReader類(lèi)對(duì)象。相關(guān)設(shè)計(jì)如下:SqlConnectioncon=this.getcon();con.Open();//創(chuàng)建一個(gè)SqlCommand對(duì)象,表示要執(zhí)行的SqlCom語(yǔ)句或存儲(chǔ)過(guò)程SqlCommandsqlcom=newSqlCommand(SqlCom,con);SqlDataReaderread=sqlcom.ExecuteReader();returnread;4.2前臺(tái)設(shè)計(jì)根據(jù)網(wǎng)絡(luò)在線考試網(wǎng)的特點(diǎn),可以將其分為前臺(tái)和后臺(tái)兩個(gè)部分進(jìn)行設(shè)計(jì)。前臺(tái)主要用于考生注冊(cè)和登錄系統(tǒng)、在線考試、查詢(xún)成績(jī)以及退出登錄。網(wǎng)絡(luò)在線考試網(wǎng)的前臺(tái)功能如圖4.1所示。網(wǎng)絡(luò)在線考試網(wǎng)前臺(tái)系統(tǒng)網(wǎng)絡(luò)在線考試網(wǎng)前臺(tái)系統(tǒng)考生注冊(cè)開(kāi)考試結(jié)果查詢(xún)成績(jī)退出系統(tǒng)在線考試找回密碼考生/管理員登錄準(zhǔn)備考試選擇考試課程和套題考試規(guī)則開(kāi)始考試圖4.1網(wǎng)絡(luò)在線考試網(wǎng)前臺(tái)功能模塊圖 4.2.1在線考試登錄頁(yè)設(shè)計(jì)考生和管理員需要通過(guò)登錄頁(yè)面進(jìn)入在線考試網(wǎng)。考生在登錄在線考試網(wǎng)之前,首先需要通過(guò)登錄頁(yè)面進(jìn)行注冊(cè)。為了防止考生忘記密碼,提供了找回密碼的功能。在線考試網(wǎng)登錄頁(yè)面的運(yùn)行效果如圖4.2所示。圖4.2在線考試網(wǎng)首頁(yè) 本模塊使用的數(shù)據(jù)表:tb_Administrator、tb_Student,Default.aspx頁(yè)面為主頁(yè)面。相關(guān)設(shè)計(jì)如下:(1)在頁(yè)面中拖放1個(gè)TextBox控件,名稱(chēng)為txtValidate,用于錄入登錄驗(yàn)證碼。在Page_Load事件中,首先調(diào)用隨機(jī)驗(yàn)證碼,應(yīng)用驗(yàn)證碼技術(shù)可以防止用戶(hù)惡意注冊(cè)。if(!IsPostBack){Randomrnd=newRandom();this.labValidate.Text=rnd.Next(1000,9999).ToString();}利用if語(yǔ)句判斷是否首次加載。在頁(yè)面中拖放1個(gè)Button控件,控件名稱(chēng)為BtnLogin,Text屬性設(shè)置為“登錄”,用于考生登錄。在處理登錄頁(yè)面提交數(shù)據(jù)時(shí)。首先會(huì)根據(jù)“管理員登錄”復(fù)選框的值來(lái)判斷是否登錄管理員頁(yè)面,所以利用一個(gè)CheckBox控件驗(yàn)證是否為管理員登錄,將控件命名為cblAdminLog。如果該復(fù)選框被選中則執(zhí)行核對(duì)用戶(hù)名、密碼和驗(yàn)證碼而進(jìn)入管理員頁(yè)面,否則進(jìn)入考生頁(yè)面。輸入完相關(guān)的用戶(hù)名。密碼和驗(yàn)證碼后,單擊“確定”按鈕,提交登錄信息。如果是管理員則調(diào)用if條件中的getcom(1)方法;如果不是管理員登錄,調(diào)用else中g(shù)etcom(2)方法。在自定義getcom()方法中,如果是case1要判斷數(shù)據(jù)庫(kù)中是否存在數(shù)據(jù);如果是case2要設(shè)置SqlCommand命令對(duì)象的Text屬性,還得定義一個(gè)int型變量count2,返回所查詢(xún)數(shù)據(jù)表的第一行第一列,如果count2>0,應(yīng)用Application對(duì)象保存用戶(hù)ID及密碼。在主頁(yè)中必定會(huì)設(shè)置忘密以便考生找回密碼。所以應(yīng)有一個(gè)名為BtnPWD的Button控件來(lái)作為考生忘密的按鈕。除此之外,應(yīng)添加一個(gè)table控件作為整個(gè)頁(yè)面布局;一個(gè)名為BtnZhuce的Button控件,用于考生注冊(cè);2個(gè)TextBox控件,名稱(chēng)分別為txtPwd和txtUserName,分別用于錄入登錄密碼錄入登錄考生學(xué)生證號(hào)。4.2.2密碼找回頁(yè)設(shè)計(jì)很多情況下,考生會(huì)將密碼遺忘或丟失,這樣就無(wú)法登錄自己的學(xué)生賬號(hào),為了避免造成不必要的損失,設(shè)計(jì)了密碼找回功能。密碼找回主要分為3個(gè)頁(yè)面來(lái)完成。頁(yè)面1:輸入已注冊(cè)的學(xué)生證號(hào);頁(yè)面2:系統(tǒng)會(huì)根據(jù)輸入的學(xué)生證號(hào)把相應(yīng)的密碼問(wèn)題列出來(lái),然后輸入密碼問(wèn)題答案;頁(yè)面3,如果問(wèn)題答案正確,則成功找回密碼。(1)在登錄頁(yè)面中單擊“忘密”按鈕,進(jìn)入忘記密碼頁(yè)面1。在頁(yè)面中輸入學(xué)生證號(hào),單擊“確定”按鈕,系統(tǒng)會(huì)自動(dòng)核對(duì)其是否存在。忘記密碼頁(yè)面1的運(yùn)行效果如圖4.3所示。圖4.3忘記密碼頁(yè)面1相關(guān)設(shè)計(jì)如下:if(count>0){Session["ID"]=txtStuID.Text;Page.Response.Redirect("InfoPwdd.aspx");}else{Response.Write("<script>alert('無(wú)此學(xué)生編號(hào)、或輸入有誤');location='javascript:history.go(-1)'</script>");return;}If語(yǔ)句用來(lái)判斷輸入的學(xué)生證號(hào)是否存在,如果存在,則頁(yè)面直接跳轉(zhuǎn)找回密碼頁(yè)面2,并利用Session對(duì)象保存用戶(hù)ID。(2)如果輸入的學(xué)生證號(hào)存在,則進(jìn)入忘記密碼頁(yè)面2,在該頁(yè)面中需要輸入該學(xué)生在注冊(cè)時(shí)設(shè)置的密碼問(wèn)題的答案,然后單擊“確定”按鈕。如核對(duì)無(wú)誤,則進(jìn)入忘記密碼頁(yè)面3,并在頁(yè)面中顯示出該學(xué)生的密碼;如果不正確,則顯示提示信息。忘記密碼也2和忘記密碼頁(yè)3運(yùn)行效果分別如圖4.4和4.5所示。圖4.4忘記密碼頁(yè)面2圖4.5忘記密碼頁(yè)面3相關(guān)設(shè)計(jì)如下:SqlCommandmycom=newSqlCommand("selectcount(*)fromtb_Studentwhereanswer='"+txtAnsPwd.Text+"'andid="+Convert.ToString(Session["ID"]),con);intcount=Convert.ToInt32(mycom.ExecuteScalar());if(count>0){Page.Response.Redirect("InfoPwddd.aspx");}else{Response.Write("<script>alert('提示問(wèn)題答案輸入有誤!');location='javascript:history.go(-1)'</script>");return;}在創(chuàng)建SqlCommand對(duì)象以后,執(zhí)行SQL語(yǔ)句命令,用if語(yǔ)句判斷數(shù)據(jù)庫(kù)是否存在考生數(shù)據(jù)。4.2.3考生注冊(cè)頁(yè)設(shè)計(jì)要進(jìn)入在線考試系統(tǒng),考生首先需要注冊(cè)一個(gè)學(xué)生證號(hào)。單擊在線考試系統(tǒng)登錄頁(yè)中“注冊(cè)”按鈕,進(jìn)入考生注冊(cè)頁(yè)面??忌?cè)頁(yè)面中輸入考生的基本信息,包括學(xué)生證號(hào)、學(xué)生姓名、密碼、密碼問(wèn)題、密碼答案、性別和所學(xué)專(zhuān)業(yè),運(yùn)行效果如圖4.6所示。圖4.6考生注冊(cè)頁(yè)另外,該考生注冊(cè)頁(yè)應(yīng)用了AJAX無(wú)刷新檢測(cè)用戶(hù)名的技術(shù)。為了防止學(xué)生證號(hào)重復(fù),可以通過(guò)單擊“檢測(cè)注冊(cè)號(hào)”按鈕進(jìn)行檢測(cè)??忌斎胱?cè)的學(xué)生證號(hào)后通過(guò)檢測(cè)顯示在數(shù)據(jù)庫(kù)中無(wú)此號(hào),可以注冊(cè)。運(yùn)行效果如圖4.7所示。圖4.7檢測(cè)考生注冊(cè)頁(yè)該網(wǎng)頁(yè)的設(shè)計(jì)使用的數(shù)據(jù)表:tb_Profession、tb_Student。相關(guān)設(shè)計(jì)如下:在后臺(tái)代碼的Page_Load事件中,首先調(diào)用公共類(lèi)中的ecDropDownList方法,將考生姓名綁定到DropDownList控件。(2)添加一個(gè)Button控件,名為btnRes,用于考生注冊(cè)。單擊該注冊(cè)頁(yè)面中的“注冊(cè)”按鈕,觸發(fā)其Click事件,將注冊(cè)信息添入到數(shù)據(jù)庫(kù)中,調(diào)用公共類(lèi)中的eccom,執(zhí)行SQL語(yǔ)句命令。相關(guān)設(shè)計(jì)如下:dataconn.eccom("insertintotb_Student"+"(ID,Name,PWD,question,answer,Sex,profession)"+"values('"+this.txtStuID.Text+"','"+this.txtStuName.Text+"','"+this.txtStuPwd.Text+"','"+this.txtQuePwd.Text+"','"+this.txtAnsPwd.Text+"','"+this.ddlSex.Text+"',"+Convert.ToInt32(ddlProfession.SelectedValue)+")");(3)為避免考生輸入的學(xué)生證號(hào)與已注冊(cè)的學(xué)生證號(hào)重復(fù),導(dǎo)致注冊(cè)失敗,在考生注冊(cè)頁(yè)面中添加了一個(gè)“檢測(cè)注冊(cè)號(hào)”按鈕,來(lái)檢查該注冊(cè)的學(xué)生證號(hào)是否已經(jīng)存在。在該按鈕觸發(fā)事件中,主要應(yīng)用了數(shù)據(jù)閱讀器讀取數(shù)據(jù)庫(kù)中數(shù)據(jù)判斷注冊(cè)號(hào)是否存在。相關(guān)設(shè)計(jì)如下:調(diào)用公共類(lèi)中的.ExceRead方法,讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù):SqlDataReaderread=dataconn.ExceRead("select*fromtb_StudentwhereID='"+this.txtStuID.Text+"'"); 4.2.4在線考試頁(yè)設(shè)計(jì)在線考試頁(yè)的主要功能是允許考生在網(wǎng)站上針對(duì)指定的專(zhuān)業(yè)和課程進(jìn)行考試。在該頁(yè)中,考生首先需要閱讀考試規(guī)則,在同意所列出的考試規(guī)則的前提下,才能選擇考試課程和套題;然后進(jìn)入考試進(jìn)行答題,如圖4.8所示。圖4.8在線考試頁(yè)當(dāng)考生提交試卷或者到達(dá)考試結(jié)束時(shí)間時(shí),系統(tǒng)將自動(dòng)對(duì)考生提交的試卷進(jìn)行評(píng)分,并給出最終考試成績(jī)。(1)考生在線答卷時(shí)首先需要選擇套題,系統(tǒng)需要根據(jù)考生提交的科目和套題信息從數(shù)據(jù)庫(kù)中獲取相應(yīng)題目,然后DataList控件顯示出來(lái)。這里首先需要通過(guò)Application變量獲取上一頁(yè)中考生選擇的科目和套題信息,然后根據(jù)這些信息從數(shù)據(jù)庫(kù)中提取考試題目。相關(guān)設(shè)計(jì)如下:protectedvoidgetCom(inti){stringdd1=Application["d1"].ToString();stringdd2=Application["d2"].ToString();}(2)首先創(chuàng)建公共類(lèi)Datacon的類(lèi)對(duì)象,以便在后面程序調(diào)用其方法,然后自定義4個(gè)int類(lèi)型的全局變量-int_row1,int_row2,int_row1Point,int_row1Point,用來(lái)分別表示單選題號(hào)、多選題號(hào)、單選分?jǐn)?shù)和多選分?jǐn)?shù)。在頁(yè)面加載的Page_Load事件中編寫(xiě)如下代碼,用于從數(shù)據(jù)庫(kù)中提取出相應(yīng)題目。相關(guān)設(shè)計(jì)如下:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){this.getCom(1);this.getCom(2);}}(3)單擊“交卷”按鈕,首先通過(guò)Session變量獲取學(xué)生ID和其選擇的科目及套題,然后調(diào)用getCom方法來(lái)執(zhí)行提交考卷操作。相關(guān)設(shè)計(jì)如下:Label3.Visible=Label4.Visible=Label7.Visible=Label8.Visible=Label9.Visible=Label10.Visible=true;this.lblStuID.Text=Session["StuName"].ToString();this.lblSubject.Text=Session["SelLession"].ToString();this.lblQuestion.Text=Session["SelTitle"].ToString();this.getCom(3);this.getCom(4);this.lblTotal.Text=Convert.ToString(int_row1Point+int_row2Point);dataconn.eccom("insertintotb_StuResult"+"(stu_id,which_lesson,taotiid,taotiname,res_single,res_more)"+"values('"+lblStuID.Text+"','"+lblSubject.Text+"',"+Application["d2"].ToString()+",'"+lblQuestion.Text+"',"+int_row1Point+","+int_row2Point+")");this.getCom(5);Response.Write("<scriptlanuage=javascript>alert('您確定要交卷嗎?');localtion='StartExamfra.aspx';</script>");分別將顯示考生證號(hào)、考試得分等的Lable控件可視化;分別調(diào)用.getCom(3)、getCom(4)核對(duì)單選與多選答案,最后計(jì)算總分。圖4-3免費(fèi)供求信息發(fā)免費(fèi)供求信技術(shù)分析:當(dāng)用戶(hù)發(fā)布供求信息通}4.3后臺(tái)設(shè)計(jì)后臺(tái)主要用于管理員對(duì)考生信息、考題信息、考生成績(jī)信息、考試套題和課程信息等進(jìn)行管理。網(wǎng)絡(luò)考試在線考試網(wǎng)后臺(tái)功能結(jié)構(gòu)圖如圖4.9所示。網(wǎng)絡(luò)在線考試網(wǎng)后臺(tái)系統(tǒng)網(wǎng)絡(luò)在線考試網(wǎng)后臺(tái)系統(tǒng)管理員信息管理考生信息管理專(zhuān)業(yè)信息管理課程信息管理套題信息管理考試題目管理考生成績(jī)管理考試試題添加退出管理添加管理員修改管理員刪除管理員查詢(xún)管理員添加考試課程刪除考試課程修改考試課程查詢(xún)考試課程查詢(xún)考試成績(jī)刪除考試成績(jī)圖4.9網(wǎng)絡(luò)考試在線考試網(wǎng)后臺(tái)功能模塊圖4.3.1考試套題管理頁(yè)設(shè)計(jì)考試套題管理頁(yè)的主要功能包括考試套題進(jìn)行添加、查詢(xún)、修改和刪除操作。添加考試套題信息時(shí),需要首先在文本框中輸入所添加的套題名稱(chēng),并在下拉列表框中選擇所屬課程名,然后在進(jìn)行添加操作;在考試套題信息列表頁(yè)面中,可以通過(guò)選擇不同的查詢(xún)條件(如套題名稱(chēng)和所屬課程)并輸入相關(guān)的關(guān)鍵字,來(lái)實(shí)現(xiàn)查詢(xún)操作;根據(jù)實(shí)際需要,還可以實(shí)時(shí)更新考試套題中的詳細(xì)信息或者刪除考試套題??荚嚬芾眄?yè)面的運(yùn)行效果圖如4.10所示。圖4.10在線考試網(wǎng)考試套題管理頁(yè)面在考試套題信息“查詢(xún)”按鈕事件中主要應(yīng)用到了SQLServer視圖數(shù)據(jù)處理技術(shù),該頁(yè)創(chuàng)建的視圖名為kecheng_taoti_view,建立該視圖的目的主要是從tb_Lesson和tb_TaoTi兩張表中檢索出包括套題名稱(chēng)、所屬課程和加入時(shí)間的信息。相關(guān)設(shè)計(jì)如下:需要調(diào)用ecadabind方法綁定查詢(xún)信息。dataconn.ecadabind(gvQueInfo,"Select*Fromkecheng_taoti_viewWhere"+ddlQueName.SelectedValue+"Like'%"+txtSelect.Text+"%'");套題信息列表通過(guò)ASP.NET2.0提供的GridView控件把考試套題的羈絆信息顯示出來(lái)。在每條信息后設(shè)置執(zhí)行修改及刪除功能的超鏈接按鈕。每次登錄此頁(yè)面時(shí)程序會(huì)自動(dòng)執(zhí)行后臺(tái)Page_Load頁(yè)面加載事件中的SQL語(yǔ)句,將檢索的數(shù)據(jù)通過(guò)GridView控件顯示在頁(yè)面中,用于綁定考試套題信息。GridView控件在主要屬性設(shè)置上,將AllowPsging屬性設(shè)置為T(mén)rue(用于分頁(yè)),AutoGenerateColumns屬性為False(取消自動(dòng)生成列),PageSize屬性設(shè)置為6(設(shè)置分頁(yè)數(shù)),SkinID屬性設(shè)置為gvSkin(應(yīng)用主題)。編寫(xiě)此代碼前,首先在命名空間區(qū)域引用usingSystem.Data.SqlClient命名空間,然后在Page_Load頁(yè)面加載事件中定義執(zhí)行需要顯示在GridView控件中信息的SQL語(yǔ)句,通過(guò)調(diào)用公共類(lèi)執(zhí)行該語(yǔ)句完成數(shù)據(jù)顯示操作。在GridView控件代碼在對(duì)行進(jìn)行了數(shù)據(jù)綁定后激發(fā)。后臺(tái)主要實(shí)現(xiàn)數(shù)據(jù)顯示功能的相關(guān)設(shè)計(jì)如下:if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Cells[2].Text=Convert.ToString(Convert.ToDateTime(e.Row.Cells[2].Text).ToShortDateString());}if(e.Row.RowType==DataControlRowType.DataRow){((LinkButton)(e.Row.Cells[4].Controls[0])).Attributes.Add("onclick","returnconfirm('確定刪除嗎?')");}雙擊前臺(tái)“查詢(xún)”按鈕,同時(shí)會(huì)進(jìn)入此按鈕后臺(tái)的Click單擊事件中,然后在Click單擊事件中定義執(zhí)行模糊查詢(xún)的SQL語(yǔ)句,通過(guò)調(diào)研公共類(lèi)執(zhí)行該語(yǔ)句,將結(jié)果顯示在GridView控件中完成查詢(xún)操作。拖一個(gè)Button控件名為btnSelect用于查詢(xún)考試套題;一個(gè)TextBox控件,名為txtKey,用于輸入查詢(xún)的關(guān)鍵字;一個(gè)DropDownList控件名為ddlSelect,是下拉選擇,用于設(shè)置查詢(xún)條件。相關(guān)設(shè)計(jì)如下:如果txtSelect.Txt為空,則調(diào)用ecadabindinfostring方法綁定數(shù)據(jù)庫(kù)信息dataconn.ecadabindinfostring(gvQueInfo,"Select*Fromkecheng_taoti_viewORDERBYIdDESC","ID");如果txtSelect.Txt不為空,則調(diào)用ecadabind方法綁定查詢(xún)信息。dataconn.ecadabind(gvQueInfo,"Select*Fromkecheng_taoti_viewWhere"+ddlQueName.SelectedValue+"Like'%"+txtSelect.Text+"%'");當(dāng)管理員單擊某記錄的“修改”鏈接后,即可進(jìn)入套題信息修改頁(yè)面TaotiUpdate.aspx。在該頁(yè)的Page_Load事件代碼中,相關(guān)設(shè)計(jì)如下:首先判斷是否是首次加載,如果是則調(diào)用公共類(lèi)中的ecDropDownList方法,將考生所學(xué)專(zhuān)業(yè)綁定到下拉列表框中,調(diào)用公共類(lèi)中的getcon方法,之后創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)連接,定義并初始化一個(gè)數(shù)據(jù)適配器。并創(chuàng)建一個(gè)DataSet數(shù)據(jù)集,將數(shù)據(jù)適配器中的數(shù)據(jù)填充到數(shù)據(jù)集mydataset中,在mydataset數(shù)據(jù)集中創(chuàng)建tb_TaoTi的默認(rèn)視圖,然后將輸入的套題名稱(chēng)轉(zhuǎn)換成字符串,最后關(guān)閉數(shù)據(jù)庫(kù)。為了方便系統(tǒng)管理,在考試考試套題管理頁(yè)中每條記錄后添加一個(gè)“刪除”超鏈接按鈕,當(dāng)管理員單擊此鏈接按鈕時(shí),系統(tǒng)自動(dòng)刪除該在線考試套題信息。實(shí)現(xiàn)刪除功能的相關(guān)設(shè)計(jì)如下:protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){//調(diào)用公共類(lèi)中的eccom方法,執(zhí)行SQL語(yǔ)句dataconn.eccom("deletefromtb_TaoTiwhereID='"+gvQueInfo.DataKeys[e.RowIndex].Value+"'");//跳轉(zhuǎn)后臺(tái)套題管理頁(yè)P(yáng)age.Response.Redirect("taoti_xinxi.aspx");}4.3.2考試題目管理頁(yè)面設(shè)計(jì)考試題目管理頁(yè)的主要功能包括對(duì)考試題目進(jìn)行添加、查詢(xún)、修改和刪除操作。添加考試題目信息時(shí),需要選擇所屬的考試專(zhuān)業(yè)、課程和套題,然后再進(jìn)行添加操作;在考試題目信息列表頁(yè)面中,可以通過(guò)選擇不的查詢(xún)條件(列如,考試類(lèi)型、所屬課程、所屬套題和加入時(shí)間)并輸入相應(yīng)的關(guān)鍵字,來(lái)實(shí)現(xiàn)查詢(xún)操作;根據(jù)實(shí)際需要,還可以實(shí)時(shí)更新考試題目中的詳細(xì)信息或者刪除考試題目??荚囶}目管理頁(yè)面運(yùn)行效果如圖4.11所示。圖4.11考試題目管理頁(yè)考試題目管理頁(yè)頁(yè)面設(shè)計(jì)中,將顯示考試題目的表格控件GridView控件外觀應(yīng)用了ASP.NET2.0中的主題外觀文件(后綴為.skin的文件)。ASP.NET2.0[8]提供了一種名為“主題”的新功能。此功能可應(yīng)用于任何站點(diǎn),通過(guò)更改主題即可輕松的維護(hù)對(duì)站點(diǎn)的樣式更改,而無(wú)須對(duì)站點(diǎn)各頁(yè)進(jìn)行編輯;還可以與其他開(kāi)發(fā)人員共享主題??碱}的刪除、查詢(xún)操作與考試套題管理頁(yè)的刪除和查詢(xún)操作基本相同。在如圖4.12頁(yè)面中選擇所要添加的試題屬于哪個(gè)專(zhuān)業(yè)、哪門(mén)課程、哪一套題,并把所選項(xiàng)通過(guò)Session變量傳遞到InserShiTi.aspx頁(yè)面?!斑x擇”按鈕事件的相關(guān)設(shè)計(jì)如下:利用Session變量對(duì)象保存考試專(zhuān)業(yè)信息,考試課程信息、考試套題信息。Session["drop1"]=ddlProfession.Text;Session["drop2"]=ddlLesson.Text;Session["drop3"]=ddlQueName.Text;if(this.ddlLesson.Text==""){;//this.Label3.Text="請(qǐng)選擇考試課程";this.Label3.Visible=true;return;}if(this.ddlQueName.Text==""){//this.Label5.Text="請(qǐng)先添加考試試題!";this.Label5.Visible=true;return;}Page.Response.Redirect("InsertShiTi.aspx");圖4.12選擇考試專(zhuān)業(yè)、課題及套題名稱(chēng)選擇完考試試題所屬專(zhuān)業(yè)、課程及套題后,單擊“選擇”按鈕,將進(jìn)入InserShiTi.aspx考題設(shè)置頁(yè)面。在該頁(yè)面中填寫(xiě)完試題信息并單擊“增加”按鈕后,試題會(huì)自動(dòng)存儲(chǔ)到相應(yīng)的數(shù)據(jù)表中。相關(guān)設(shè)計(jì)如下:通過(guò)Session變量接受insert_shiti.aspx頁(yè)面?zhèn)鱽?lái)的值stringsstr1=Session["drop1"].ToString();stringsstr2=Session["drop2"].ToString();stringsstr3=Session["drop3"].ToString();然后判斷管理員選擇的事單選還是多選,如果是單選題,則執(zhí)行dataconn.eccom("insertintotb_Questions"+"(que_professionid,que_lessonid,que_taotiid,que_subject,que_type,optionA,optionB,optionC,optionD,que_answer,note)"+"values('"+sstr1+"','"+sstr2+"','"+sstr3+"','"+this.txtExamTitle.Text+"','"+ddlType.Text+"','"+this.txtExamA.Text+"','"+this.txtExamB.Text+"','"+this.txtExamC.Text+"','"+this.txtExamD.Text+"','"+ddlAnswer.Text+"','"+txtInstruction.Text+"')");//Response.Write("<scriptlanuage=javascript>alert('添加成功!');location='kaoshi_timu.aspx'</script>");Response.Redirect("kaoshi_timu.aspx");如果是多選題,則執(zhí)行if(cblAnswer.Items[0].Selected==true&&cblAnswer.Items[1].Selected==true&&cblAnswer.Items[2].Selected==true&&cblAnswer.Items[3].Selected==true){stringstr1="A,B,C,D";dataconn.eccom("insertintotb_Questions"+"(que_professionid,que_lessonid,que_taotiid,que_subject,que_type,optionA,optionB,optionC,optionD,que_answer,note)"+"values('"+sstr1+"','"+sstr2+"','"+sstr3+"','"+this.txtExamTitle.Text+"','"+ddlType.Text+"','"+this.txtExamA.Text+"','"+this.txtExamB.Text+"','"+this.txtExamC.Text+"','"+this.txtExamD.Text+"','"+str1+"','"+txtInstruction.Text+"')");Response.Redirect("kaoshi_timu.aspx");}在該頁(yè)面中,用戶(hù)需要選擇所添加的試題是單選題還是多選題,該頁(yè)面的設(shè)計(jì)效果如圖4.13所示。圖4.13考題設(shè)置頁(yè)面4.3.3管理員與學(xué)生信息管理頁(yè)設(shè)計(jì)在后臺(tái)中由管理員對(duì)所有信息進(jìn)行手動(dòng)修改,而管理員自身也可修改管理員信息。在后臺(tái)管理員頁(yè)中,可以對(duì)管理員信息進(jìn)行修改,包括管理員的添加、修改、刪除以及查詢(xún)功能。點(diǎn)擊修改按鈕,彈出管理員信息修改頁(yè),運(yùn)行效果如圖4.14所示。圖4.14管理員信息修改頁(yè)面相關(guān)設(shè)計(jì)如下:首先在文本框中顯示管理員信息,要實(shí)現(xiàn)此功能需連接數(shù)據(jù)庫(kù)。SqlConnectioncon=dataconn.getcon();con.Open();SqlDataAdaptermydataadapt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)業(yè)廢棄物資源化利用化肥農(nóng)藥研發(fā)合同4篇
- 二零二五年度古籍文物儲(chǔ)藏保護(hù)合同3篇
- 2025年度個(gè)人戶(hù)外探險(xiǎn)保險(xiǎn)合同樣本4篇
- 2025年度鋼材現(xiàn)貨購(gòu)銷(xiāo)及倉(cāng)儲(chǔ)服務(wù)合同
- 2025年度新型城鎮(zhèn)化項(xiàng)目不動(dòng)產(chǎn)地皮開(kāi)發(fā)合作協(xié)議3篇
- 2025年度內(nèi)資股協(xié)議轉(zhuǎn)讓農(nóng)業(yè)產(chǎn)業(yè)化項(xiàng)目合作合同4篇
- 2025年度電商平臺(tái)內(nèi)容審核與版權(quán)保護(hù)合同4篇
- 2025年度苗木種植與生物多樣性保護(hù)服務(wù)合同4篇
- 2025年度木材產(chǎn)業(yè)技術(shù)創(chuàng)新合作開(kāi)發(fā)協(xié)議3篇
- 2025年度年薪制勞動(dòng)合同法實(shí)施指南及員工福利保障2篇
- 2024中考復(fù)習(xí)必背初中英語(yǔ)單詞詞匯表(蘇教譯林版)
- 海員的營(yíng)養(yǎng)-1315醫(yī)學(xué)營(yíng)養(yǎng)霍建穎等講解
- 《現(xiàn)代根管治療術(shù)》課件
- 肩袖損傷的護(hù)理查房課件
- 2023屆北京市順義區(qū)高三二模數(shù)學(xué)試卷
- 公司差旅費(fèi)報(bào)銷(xiāo)單
- 我國(guó)全科醫(yī)生培訓(xùn)模式
- 2021年上海市楊浦區(qū)初三一模語(yǔ)文試卷及參考答案(精校word打印版)
- 八年級(jí)上冊(cè)英語(yǔ)完形填空、閱讀理解100題含參考答案
- 八年級(jí)物理下冊(cè)功率課件
- DBJ51-T 188-2022 預(yù)拌流態(tài)固化土工程應(yīng)用技術(shù)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論