版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要2</b></p><p> 關(guān)鍵字:考試系統(tǒng) ASP.NET ADO.NET SQL Sever 2000 Browser/Server2</p><p><b> 第一章 緒論3</b></p><p> 1.1 網(wǎng)上考試系統(tǒng)的現(xiàn)狀分析3<
2、/p><p> 1.2 選題的背景及研究意義4</p><p> 1.3 系統(tǒng)基本簡(jiǎn)介4</p><p> 第二章 系統(tǒng)的關(guān)鍵技術(shù)及介紹6</p><p> 2.1 ASP.NET技術(shù)概況6</p><p> 2.1.1 ASP.NET的優(yōu)勢(shì)6</p><p> 2.1.2 常
3、用到的ASP.NET內(nèi)置對(duì)象8</p><p> 2.2 利用SQL Sever 2000來(lái)建立數(shù)據(jù)庫(kù)8</p><p> 2.3 Browser/Server模式—本系統(tǒng)的開(kāi)發(fā)模式9</p><p> 2.3.1 Browser/Server模式簡(jiǎn)介9</p><p> 2.3.2 Browser/Server模式的特點(diǎn)
4、10</p><p> 2.4 ADO.NET對(duì)象模型11</p><p> 2.5 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p> 2.5.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)及說(shuō)明13</p><p> 2.5.2 用戶權(quán)限簡(jiǎn)介14</p><p> 第三章 系統(tǒng)的整體分析與設(shè)計(jì)16</p><p>
5、 3.1 需求分析16</p><p> 3.1.1 系統(tǒng)需要解決的主要問(wèn)題16</p><p> 3.1.2 系統(tǒng)功能模塊劃分16</p><p> 3.2 總體設(shè)計(jì)17</p><p> 3.2.1 公共登陸模塊設(shè)計(jì)18</p><p> 3.2.2 在線考試模塊設(shè)計(jì)18</p>
6、<p> 3.2.3 管理員功能模塊設(shè)計(jì)19</p><p> 第四章 部分頁(yè)面實(shí)現(xiàn)詳解20</p><p> 4.1 考試頁(yè)面的實(shí)現(xiàn)20</p><p> 4.2 管理主頁(yè)面的實(shí)現(xiàn)22</p><p> 4.3 學(xué)生信息管理頁(yè)面(manstudentinfo/)的實(shí)現(xiàn)22</p><p&g
7、t; 4.3.1 添加、修改學(xué)生信息(addstudentinfo/)24</p><p><b> 致謝26</b></p><p><b> 參考文獻(xiàn)27</b></p><p> 摘要:隨著網(wǎng)絡(luò)的普及和對(duì)教育的重視,各院校各學(xué)科的網(wǎng)上考試都具有了必要的使用環(huán)境。但是,目前國(guó)內(nèi)的一些網(wǎng)絡(luò)教學(xué)系統(tǒng)的主要功能
8、是教學(xué),不能單獨(dú)作為考試平臺(tái),通用性差,而且系統(tǒng)中對(duì)主觀題的評(píng)閱多是采用人工評(píng)閱方式,沒(méi)有實(shí)現(xiàn)真正意義上的自動(dòng)評(píng)分。另一方面,我們所在院校的計(jì)算機(jī)基礎(chǔ)課已開(kāi)設(shè)了多年,但尚在沿用傳統(tǒng)的考試形式或使用單機(jī)版的考試系統(tǒng)?;赪eb的網(wǎng)上考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)就是基于上述目的開(kāi)發(fā)設(shè)計(jì)的。</p><p> 本系統(tǒng)采用B/S架構(gòu)作為系統(tǒng)的總體結(jié)構(gòu),以Web數(shù)據(jù)庫(kù)技術(shù)為依托,利用微軟的ASP.NET技術(shù),結(jié)合ADO,實(shí)現(xiàn)了對(duì)
9、Web數(shù)據(jù)庫(kù)的訪問(wèn)和查詢。該設(shè)計(jì)實(shí)現(xiàn)了按題型隨機(jī)抽題組卷、在線考試、題庫(kù)管理、系統(tǒng)管理的功能,能夠?qū)陀^題在線評(píng)分。學(xué)生用學(xué)號(hào)登錄成功后,閱讀考試須知,之后選擇考試科目進(jìn)入考試頁(yè)面,完成相應(yīng)科目考試,自動(dòng)給出考試成績(jī)。系統(tǒng)管理,實(shí)現(xiàn)了對(duì)題庫(kù)、考生信息、考試成績(jī)、考試科目的管理。題庫(kù)管理,實(shí)現(xiàn)了對(duì)試題的添加、編輯、刪除功能;考生信息管理可以添加、修改、刪除、查詢考生信息,成績(jī)管理可以刪除成績(jī)信息,科目管理主要是修改考試科目信息。</
10、p><p> 基于Web的網(wǎng)上考試系統(tǒng)本身是一個(gè)很大的系統(tǒng),尤其試題庫(kù)部分需要許多人的參與以及大量的投入才能建成。該系統(tǒng)雖然僅僅是完成《計(jì)算機(jī)文化基礎(chǔ)》和《操作系統(tǒng)》課程的考試,但卻具有良好的實(shí)用性與通用性,提供友好的人機(jī)界面,具有較好的可擴(kuò)充性和開(kāi)放性。 </p><p> 關(guān)鍵字:考試系統(tǒng) ASP.NET ADO.NET SQL Sever 2000 Brows
11、er/Server </p><p><b> 第一章 緒論</b></p><p> 1.1 網(wǎng)上考試系統(tǒng)的現(xiàn)狀分析 </p><p> 在信息技術(shù)迅速發(fā)展的今天,網(wǎng)絡(luò)對(duì)于大多數(shù)人已不再陌生,并且其應(yīng)用在人們的工作、學(xué)習(xí)和生活中越來(lái)越多地發(fā)揮著不可替代的作用。近年來(lái)隨著軟件工程技術(shù)、信息通信技術(shù)的快速發(fā)展以及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的日趨成熟
12、,網(wǎng)絡(luò)教育在人們的教育活動(dòng)中逐步得到普及。網(wǎng)上考試是網(wǎng)絡(luò)教育不可缺少的組成部分,是網(wǎng)絡(luò)教育的一個(gè)重要環(huán)節(jié)。</p><p> 網(wǎng)上考試在國(guó)外一些國(guó)家已經(jīng)得到了蓬勃發(fā)展,人們選學(xué)課程和考試都是通過(guò)網(wǎng)上進(jìn)行的。例如國(guó)外一些著名的考試,如Microsoft公司的MCSE(Microsoft系統(tǒng)工程師認(rèn)證考試)、GMAT(工商管理碩士入學(xué)考試)、托??荚嚒RE(美國(guó)研究生入學(xué)考試)等,都是采用網(wǎng)上考試的形式進(jìn)行的。&
13、lt;/p><p> 在國(guó)內(nèi),目前絕大多數(shù)考試還停留在傳統(tǒng)考試方式上,對(duì)互聯(lián)網(wǎng)的真正應(yīng)用僅限于一些考試的網(wǎng)上報(bào)名工作和網(wǎng)上成績(jī)查詢,還沒(méi)有真正形成網(wǎng)上考試規(guī)模。網(wǎng)上考試系統(tǒng)作為現(xiàn)代教育的一個(gè)子系統(tǒng),是保證教育教學(xué)質(zhì)量的重要手段。在傳統(tǒng)的考試方式下,組織一次考試要經(jīng)過(guò)出題、考試、評(píng)卷、試卷分析等步驟,隨著考試類型的增加及考試要求的提高,教師的工作量將會(huì)越來(lái)越大,并且其工作非常容易出錯(cuò),在一定程度上說(shuō),傳統(tǒng)的考試方式已
14、經(jīng)存在著改革的必要了。Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了劃時(shí)代的變化,考試從傳統(tǒng)的紙筆考試到計(jì)算機(jī)輔助考試再發(fā)展到基于Web的網(wǎng)上考試成為現(xiàn)實(shí)。</p><p> 現(xiàn)階段,網(wǎng)上考試系統(tǒng)的主流開(kāi)發(fā)技術(shù)已經(jīng)相當(dāng)成熟,且很好地適應(yīng)了動(dòng)態(tài)站點(diǎn)設(shè)計(jì)和基于Web的數(shù)據(jù)庫(kù)訪問(wèn)的要求,是當(dāng)前網(wǎng)上考試軟件實(shí)現(xiàn)的主流技術(shù)之一。在對(duì)大量關(guān)于網(wǎng)上考試系統(tǒng)資料的研究和學(xué)習(xí)后,根據(jù)工作的需要,針對(duì)本校實(shí)際情況特別是教
15、學(xué)的需求,利用學(xué)校校園網(wǎng)已有的基礎(chǔ)條件,研究開(kāi)發(fā)適合本校使用的基于Web的網(wǎng)上考試系統(tǒng)。</p><p> 1.2 選題的背景及研究意義 </p><p> 隨著計(jì)算機(jī)科學(xué)、網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,在教育領(lǐng)域里,實(shí)現(xiàn)網(wǎng)上考試可以充分利用學(xué)?,F(xiàn)有的計(jì)算機(jī)軟、硬件資源和網(wǎng)絡(luò)資源實(shí)現(xiàn)考試;對(duì)于客觀題由計(jì)算機(jī)來(lái)完成閱卷,可以將減少人工閱卷的工作量。</p><p> 目前
16、常用的網(wǎng)上考試系統(tǒng)主要有兩種基本模式:傳統(tǒng)的C/S(客戶機(jī)/服務(wù)器)模式和新型的B/S(瀏覽器/服務(wù)器)模式,所謂C/S模式,即數(shù)據(jù)庫(kù)(比如,試題庫(kù))內(nèi)容放在遠(yuǎn)程的服務(wù)器上,在客戶機(jī)上安裝相應(yīng)軟件;C/S結(jié)構(gòu)在技術(shù)上雖然很成熟,但該結(jié)構(gòu)的程序往往只局限在小型的局域網(wǎng)內(nèi)部,不利于擴(kuò)展。并且,該結(jié)構(gòu)的每臺(tái)客戶機(jī)都需要安裝相應(yīng)的客戶端程序。當(dāng)擁有用戶量比較多時(shí),如果采用該結(jié)構(gòu),系統(tǒng)的安裝與維護(hù)工作比較繁重。同時(shí),由于應(yīng)用程序直接安裝在客戶機(jī),
17、客戶機(jī)直接和數(shù)據(jù)庫(kù)服務(wù)器交換數(shù)據(jù),系統(tǒng)的安全性也受到一定影響。與傳統(tǒng)的基于C/S模式的網(wǎng)上考試系統(tǒng)相比,B/S體系將應(yīng)用邏輯與用戶界面和數(shù)據(jù)訪問(wèn)相分離,使系統(tǒng)的維護(hù)變得簡(jiǎn)單(只需要改變網(wǎng)頁(yè),即可實(shí)現(xiàn)所有用戶的同步更新),同時(shí)簡(jiǎn)化了客戶端的功能,用戶只需瀏覽器即可使用此考試系統(tǒng),更適宜于互聯(lián)網(wǎng)上的考試。</p><p> 在信息網(wǎng)絡(luò)化的現(xiàn)實(shí)面前,我們提出一種基于Web的網(wǎng)上考試系統(tǒng),并用SQL Sever 200
18、0數(shù)據(jù)庫(kù)與ASP.NET技術(shù)結(jié)合進(jìn)行了該系統(tǒng)的開(kāi)發(fā)。</p><p> 1.3 系統(tǒng)基本簡(jiǎn)介 </p><p> 我們課題組所做的工作不僅僅是參與開(kāi)發(fā)一個(gè)完整的在線考試系統(tǒng),也是一個(gè)引導(dǎo)性的基礎(chǔ)研究,是對(duì).net平臺(tái)下基于B/S結(jié)構(gòu)的軟件體系結(jié)構(gòu)、關(guān)鍵技術(shù)、實(shí)現(xiàn)技術(shù)、框架解決方案進(jìn)行的探索。</p><p> 本系統(tǒng)采用ASP.NET、HTML、Javascr
19、ipt、VBScript、圖形編輯與數(shù)據(jù)庫(kù)等工具,通過(guò)基于WEB服務(wù)器訪問(wèn)WEB頁(yè)面,可以不受地點(diǎn),時(shí)間限制,通過(guò)寬帶上網(wǎng)或其它上網(wǎng)方式,借助Internet這一強(qiáng)大、方便的工具,考生可以在互聯(lián)網(wǎng)上通過(guò)瀏覽器來(lái)選擇科目、參加考試,管理員可以在互聯(lián)網(wǎng)上通過(guò)瀏覽器來(lái)添加、修改學(xué)生信息,添加、修改、刪除試題,修改考試科目信息,管理學(xué)生成績(jī);同時(shí)還實(shí)現(xiàn)有學(xué)生信息查詢功能:按班級(jí)、學(xué)號(hào)、姓名等關(guān)鍵字查詢,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的管理功能。 </p&
20、gt;<p> 系統(tǒng)的主界面主要有考生、管理員入口,根據(jù)用戶類型,分別進(jìn)入考試和管理兩個(gè)不同的頁(yè)面。其最大的特點(diǎn)是開(kāi)放性、方便性和靈活性。</p><p> 第二章 系統(tǒng)的關(guān)鍵技術(shù)及介紹</p><p> 在《基于Web的網(wǎng)上考試系統(tǒng)》的設(shè)計(jì)過(guò)程中,主要考慮了以下幾方面的問(wèn)題:</p><p> 1)
21、0; ASP.NET技術(shù);</p><p> 2) 建立數(shù)據(jù)庫(kù),使用SQL Sever 2000來(lái)建立;</p><p> 3) 選擇系統(tǒng)的開(kāi)發(fā)模式,B/S模式;</p><p> 4) ADO.NET對(duì)象模型;<
22、;/p><p> 5) 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p> 2.1 ASP.NET技術(shù)概況 </p><p> ASP.NET是微軟公司推出的一種Internet編程技術(shù),它采用效率較高的、面向?qū)ο蟮姆椒▉?lái)創(chuàng)建動(dòng)態(tài)Web應(yīng)用程序。在原來(lái)的ASP技術(shù)中,服務(wù)器端代碼和客戶端HTML混合在一起,常常導(dǎo)致頁(yè)面的代碼冗長(zhǎng)而復(fù)
23、雜,程序的邏輯難以理解。ASP.NET是一種獨(dú)立于瀏覽器的編程模型,可以在最新版本的IE、NetscapeNavigator以及諸如Opera等被廣泛使用的瀏覽器上運(yùn)行。</p><p> ASP.NET是一種建立在通用語(yǔ)言上的程序構(gòu)架。一個(gè)已編譯的、基于.NET的環(huán)境,把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,比ASP即時(shí)解釋程序速度上要快很多。微軟公司發(fā)布了包括Visual B
24、asic.NET、C#.NET、Visual C++.NET等與.NET兼容的語(yǔ)言來(lái)創(chuàng)作應(yīng)用程序。</p><p> 2.1.1 ASP.NET的優(yōu)勢(shì) </p><p> ASP.NET是在服務(wù)器上運(yùn)行的編譯好的公共語(yǔ)言運(yùn)行庫(kù)代碼,它可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。</p><p> 1)世界級(jí)的工具
25、支持</p><p> ASP.NET框架補(bǔ)充了Visual Studio集成開(kāi)發(fā)環(huán)境中的大量工具箱和設(shè)計(jì)器。WYSIWYG編輯、拖放服務(wù)器控件和自動(dòng)部署只是這個(gè)強(qiáng)大的工具所提供功能中的少數(shù)幾種。</p><p><b> 2)威力和靈活性</b></p><p> 由于ASP.NET基于公共語(yǔ)言運(yùn)行庫(kù),因此Web應(yīng)用程序開(kāi)發(fā)人員可以利用
26、整個(gè)平臺(tái)的威力和靈活性。Microsoft.NET框架類庫(kù)、消息處理和數(shù)據(jù)訪問(wèn)解決方案都可從Web無(wú)縫訪問(wèn)。ASP.NET也與語(yǔ)言無(wú)關(guān),所以可以選擇最適合應(yīng)用程序的語(yǔ)言,或跨多種語(yǔ)言分割應(yīng)用程序。另外,公共語(yǔ)言運(yùn)行庫(kù)的交互性保證在遷移到ASP.NET時(shí)保留基于COM的開(kāi)發(fā)中的現(xiàn)有投資。</p><p><b> 3)簡(jiǎn)易性</b></p><p> ASP.NET
27、使執(zhí)行常見(jiàn)任務(wù)變得容易,從簡(jiǎn)單的窗體提交和客戶端身份驗(yàn)證到部署和站點(diǎn)配置。例如,ASP.NET頁(yè)框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開(kāi)的用戶界面,和在類似Visual Basic的簡(jiǎn)單窗體處理模型中處理事件并不相同。另外,公共語(yǔ)言運(yùn)行庫(kù)利用托管代碼服務(wù)(如自動(dòng)引用計(jì)數(shù)和垃圾回收)簡(jiǎn)化了開(kāi)發(fā)。</p><p><b> 4)可管理性</b></p><p>
28、 ASP.NET采用基于文本的分層配置系統(tǒng),簡(jiǎn)化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和Web應(yīng)用程序。由于配置信息是以純文本形式存儲(chǔ)的,因此可以在沒(méi)有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)也擴(kuò)展到了ASP.NET框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將ASP.NET框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動(dòng)服務(wù)器,即使是在部署或替換運(yùn)行的編譯代碼時(shí)。</p><p> 5)可縮放性和可用性
29、</p><p> ASP.NET在設(shè)計(jì)時(shí)考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進(jìn)程受到ASP.NET運(yùn)行庫(kù)的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏、死鎖)時(shí),可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請(qǐng)求。</p><p> 6)自定義性和擴(kuò)展性</p><p> ASP.NET隨附了一個(gè)設(shè)計(jì)周到的結(jié)構(gòu),它
30、使開(kāi)發(fā)人員可以在適當(dāng)?shù)募?jí)別“插入”代碼。實(shí)際上,可以用自己編寫的自定義組件擴(kuò)展或替換吉林大學(xué)碩士學(xué)位論文ASP.NET運(yùn)行庫(kù)的任何子組件。</p><p><b> 7)安全性</b></p><p> 借助內(nèi)置的Windows身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。</p><p> 2.1.2 常用到的ASP.NE
31、T內(nèi)置對(duì)象 </p><p> Application對(duì)象:對(duì)整個(gè)ASP.NET執(zhí)行環(huán)境而言,一個(gè)虛擬目錄下的所有ASP.NET程序構(gòu)成了一個(gè)Web應(yīng)用程序。在多任務(wù)執(zhí)行的情況下,來(lái)自四面八方的眾多用戶可能執(zhí)行同一個(gè)Web應(yīng)用程序,這便依賴Application對(duì)象。常用到的場(chǎng)合:聊天室、網(wǎng)頁(yè)計(jì)數(shù)器等。</p><p> Request對(duì)象:獲取從客戶瀏覽器傳給服務(wù)器端的數(shù)據(jù),如接收來(lái)
32、自表單的數(shù)據(jù)。</p><p> Response對(duì)象:Request對(duì)象與Response對(duì)象就像一般程序語(yǔ)言里的Input及Output命令,若要讓服務(wù)器端的ASP.NET程序能夠接收來(lái)自客戶端的信息,須用Request對(duì)象;若想將服務(wù)器端的信息傳遞給客戶端,須用Response對(duì)象。</p><p> 適用于同一位用戶,換句話說(shuō),一個(gè)Session對(duì)象只屬于一位用戶。常用到的場(chǎng)合
33、:虛擬購(gòu)物車、用戶登陸網(wǎng)站時(shí)用戶名的臨時(shí)存儲(chǔ)等。 </p><p> 2.2 利用SQL Sever 2000來(lái)建立數(shù)據(jù)庫(kù) </p><p> Microsoft SQL Server 2000 是一種關(guān)系型數(shù)據(jù)庫(kù)。此種數(shù)據(jù)庫(kù)采數(shù)據(jù)分類表格化的架構(gòu),將相關(guān)的數(shù)據(jù)組成表格,表格和表格之間可以有關(guān)聯(lián)性,因此稱為關(guān)系型數(shù)據(jù)庫(kù)。系統(tǒng)管理員可透過(guò)應(yīng)用程序進(jìn)入服務(wù)器,更改數(shù)據(jù)型態(tài),管理及處理服務(wù)器
34、資源。SQL Server 也是一種具備延展性的數(shù)據(jù)庫(kù)(scalable database),亦即 SQL Server 可以支持多位使用者同時(shí)進(jìn)入數(shù)據(jù)庫(kù)中處理大量的數(shù)據(jù)。如圖2-1所示:</p><p> 圖2-1 SQL Server 2000工作方式</p><p> 2.3 Browser/Server模式—本系統(tǒng)的開(kāi)發(fā)模式</p><p>
35、 2.3.1 Browser/Server模式簡(jiǎn)介 </p><p> 隨著網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大,應(yīng)用程序的復(fù)雜程度不斷提高,傳統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)用架構(gòu)已經(jīng)不能勝任。為了充分利用網(wǎng)絡(luò)資源,越來(lái)越多的信息需要在 www(WoridWideWeb)上發(fā)布,實(shí)現(xiàn)信息最大程度的共享。Browser/Serve結(jié)構(gòu)伴隨著Intemet的發(fā)展而很快地發(fā)展起來(lái)。Browser/Serve體系結(jié)構(gòu)是一種三層結(jié)構(gòu),其三級(jí)結(jié)
36、構(gòu)組成如圖2-2所示:</p><p> 圖2-2 B/S結(jié)構(gòu)示意圖</p><p> 第一層,瀏覽器是表示層,完成用戶接口功能。在客戶端向URL(Uniform ResourceLocator)指定的web服務(wù)器提出服務(wù)器請(qǐng)求,Web服務(wù)器用HTTP協(xié)議把所需文件資料傳給用戶,客戶端接受并顯示在WWW瀏覽器上。</p><p> 第二層,Web服
37、務(wù)器是功能層,完成客戶的應(yīng)用功能。即Web服務(wù)器接受客戶請(qǐng)求,以CGI或ASP與數(shù)據(jù)庫(kù)連接,進(jìn)行申請(qǐng)?zhí)幚?,而后?shù)據(jù)庫(kù)結(jié)果返回web服務(wù)器,再傳至客戶端。</p><p> 第三層,數(shù)據(jù)庫(kù)服務(wù)器是數(shù)據(jù)層。數(shù)據(jù)庫(kù)服務(wù)器應(yīng)客戶請(qǐng)求獨(dú)立地進(jìn)行各種處理。Browser/server系統(tǒng)中的Browser作為一種通用的瀏覽器,一般沒(méi)有任何應(yīng)用程序; Browser/server系統(tǒng)中的中間層是B/S結(jié)構(gòu)中相當(dāng)關(guān)鍵的部分,中
38、間層在Browser/Serve:系統(tǒng)中充當(dāng)著雙重身份:從Browser的角度看,它是 WebServer,而從 DBServe的角度看,它是一個(gè)功能豐富的Client。</p><p> 2.3.2 Browser/Server模式的特點(diǎn) </p><p> B/S系統(tǒng)的這三層體系結(jié)構(gòu)的特點(diǎn):</p><p> ·友好、統(tǒng)一的圖形用戶界面<
39、/p><p> 在Browser/Server系統(tǒng)中,由于遵循了統(tǒng)一的標(biāo)準(zhǔn)協(xié)議,而且使用瀏覽器作為統(tǒng)一的客戶軟件,用戶無(wú)須再花費(fèi)大量的時(shí)間與精力去學(xué)習(xí)和熟悉不同的系統(tǒng)的使用方法,用戶可以把大部分的精力集中在系統(tǒng)的內(nèi)容上,而不是去記住系統(tǒng)的使用說(shuō)明書。</p><p> ·減少網(wǎng)絡(luò)中的數(shù)據(jù)流量</p><p> 在Browser/server系統(tǒng)中,由于數(shù)
40、據(jù)的處理工作是由服務(wù)器來(lái)執(zhí)行的,因此在讀取數(shù)據(jù)和保存數(shù)據(jù)時(shí),這些數(shù)據(jù)只在幾臺(tái)服務(wù)器之間傳輸,不需要通過(guò)瀏覽器與服務(wù)器之間的網(wǎng)絡(luò)。一般來(lái)說(shuō),瀏覽器與服務(wù)器之間的網(wǎng)絡(luò)大都是距離較長(zhǎng)而且速度較低的,而服務(wù)器與服務(wù)器之間的網(wǎng)絡(luò)則是距離較短而且速度較高的,因此采用Browser/Server后,可以充分地利用服務(wù)器之間的高速連接通路,而減少在瀏覽器與服務(wù)器之間的長(zhǎng)距離低速網(wǎng)絡(luò)中的數(shù)據(jù)流量。</p><p><b>
41、; ·更好的開(kāi)放性</b></p><p> 開(kāi)放性是發(fā)揮分布式系統(tǒng)優(yōu)勢(shì)的基本保障,它為不同廠商生產(chǎn)的產(chǎn)品協(xié)同工作創(chuàng)造了條件,但是這些產(chǎn)品還應(yīng)當(dāng)遵循統(tǒng)一的標(biāo)準(zhǔn)。在Browser/server系統(tǒng)中,采用了一致的HTTP協(xié)議以及其他一些共同的規(guī)則,不同系統(tǒng)之間的沖突將會(huì)大大減少。</p><p><b> ·平臺(tái)無(wú)關(guān)性</b><
42、;/p><p> 在Browser/Server系統(tǒng)中,程序的主體分布在Mid-Server上,客戶機(jī)上只有一個(gè)標(biāo)準(zhǔn)的瀏覽器,它與服務(wù)器之間采用標(biāo)準(zhǔn)的TCP/IP及HTTP等協(xié)議進(jìn)行通信,因此客戶端的平臺(tái)是相對(duì)獨(dú)立的,它不依賴于服務(wù)器方所采用的軟硬平臺(tái)。用戶可以自由地選擇自己熟悉的平臺(tái)進(jìn)行工作。</p><p> ·有效地解決異種數(shù)據(jù)庫(kù)聯(lián)合使用的問(wèn)題</p><
43、;p> 在Browser/Serve系統(tǒng)中,由于采用了 Browser/Mid-Server/Server的三層體系結(jié)構(gòu),只需在中間層服務(wù)器上安裝數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序,或者使用專門的服務(wù)器用作與數(shù)據(jù)庫(kù)連接的橋梁。因?yàn)槌绦虻闹黧w是運(yùn)行在中間服務(wù)器上的,客戶端只是一個(gè)瀏覽器,避免了在客戶端重復(fù)安裝數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的問(wèn)題,從而可以有效地解決異種數(shù)據(jù)庫(kù)聯(lián)合使用的問(wèn)題。</p><p> ·客戶端的維護(hù)工作簡(jiǎn)
44、單</p><p> Brower/Serve系統(tǒng)中,由于采用了通用的客戶軟件,維護(hù)工作主要集中在服務(wù)器端,而服務(wù)器是由專門的管理人員集中管理的,對(duì)系統(tǒng)的維護(hù)相對(duì)簡(jiǎn)單得多。</p><p> 基于B/S結(jié)構(gòu)的Web應(yīng)用體系有如此多的優(yōu)勢(shì),因此本網(wǎng)上考試系統(tǒng)的主體就采用這種B/S體系結(jié)構(gòu)。</p><p> 2.4 ADO.NET對(duì)象模型 </p>
45、<p> ADO.NET對(duì)象模型中有五個(gè)主要的組件,分別是Connection對(duì)象、Command對(duì)象、DataAdapter、DataSet以及DataReader。這些組件中負(fù)責(zé)建立聯(lián)機(jī)和數(shù)據(jù)操作的部分我們稱為數(shù)據(jù)操作組件(Managed Providers)分別由Connection對(duì)象、Command對(duì)象、DataAdapter對(duì)象以及DataReader對(duì)象所組成。數(shù)據(jù)操作組件最主要是當(dāng)作DataSet對(duì)象以及數(shù)
46、據(jù)源之間的橋梁,負(fù)責(zé)將數(shù)據(jù)源中的數(shù)據(jù)取出后植入DataSet對(duì)象中,以及將數(shù)據(jù)存回?cái)?shù)據(jù)源的工作。</p><p> ADO.NET對(duì)象模型如圖所示:</p><p> 圖2-2 ADO.NET對(duì)象模型 </p><p> Connection組件</p><p> Connection對(duì)象主要是開(kāi)啟程序和數(shù)據(jù)庫(kù)之間的連結(jié)。
47、沒(méi)有利用連結(jié)對(duì)象將數(shù)據(jù)庫(kù)打開(kāi),是無(wú)法從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)的。這個(gè)物件在ADO.NET的最底層,我們可以自己產(chǎn)生這個(gè)對(duì)象,或是由其它的對(duì)象自動(dòng)產(chǎn)生。</p><p><b> Command組件</b></p><p> Command對(duì)象主要可以用來(lái)對(duì)數(shù)據(jù)庫(kù)發(fā)出一些指令,例如可以對(duì)數(shù)據(jù)庫(kù)下達(dá)查詢、新增、修改、刪除數(shù)據(jù)等指令,以及呼叫存在數(shù)據(jù)庫(kù)中的預(yù)存程序等。這個(gè)對(duì)象
48、是架構(gòu)在Connection對(duì)象上,也就是Command對(duì)象是透過(guò)連結(jié)到數(shù)據(jù)源的Connection對(duì)象來(lái)下命令的。所以Connection連結(jié)到哪個(gè)數(shù)據(jù)庫(kù),Command對(duì)象的命令就下到哪里。</p><p> DataAdapter組件</p><p> DataAdapter對(duì)象主要是在數(shù)據(jù)源以及DataSet之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ?,它可以透過(guò)Command對(duì)象下達(dá)命令后,并將取
49、得的數(shù)據(jù)放入DataSet對(duì)象中。這個(gè)對(duì)象是架構(gòu)在Command對(duì)象上,并提供了許多配合DataSet使用的功能。</p><p><b> DataSet組件</b></p><p> DataSet這個(gè)對(duì)象可以視為一個(gè)暫存區(qū)(Cache),可以把從數(shù)據(jù)庫(kù)中所查詢到的數(shù)據(jù)保留起來(lái),甚至可以將整個(gè)數(shù)據(jù)庫(kù)顯示出來(lái)。DataSet的能力不只是可以儲(chǔ)存多個(gè)Table而已
50、,還可以透過(guò)DataAdapter對(duì)象取得一些例如主鍵等的數(shù)據(jù)表結(jié)構(gòu),并可以記錄數(shù)據(jù)表間的關(guān)聯(lián)。DataSet對(duì)象可以說(shuō)是ADO.NET中重量級(jí)的對(duì)象,這個(gè)對(duì)象架構(gòu)在DataAdapter對(duì)象上,本身不具備和數(shù)據(jù)源溝通的能力,也就是說(shuō)我們是將DataAdapter對(duì)象當(dāng)做DataSet對(duì)象以及數(shù)據(jù)源間傳輸數(shù)據(jù)的橋梁。</p><p> DataReader組件</p><p> 當(dāng)我們
51、只需要循序的讀取數(shù)據(jù)而不需要其它操作時(shí),可以使用DataReader對(duì)象。DataReader對(duì)象只是一次一筆向下循序的讀取數(shù)據(jù)源中的數(shù)據(jù),而且這些數(shù)據(jù)是只讀的,并不允許作其它的操作。因?yàn)镈ataReade在讀取數(shù)據(jù)的時(shí)候限制了每次只讀取一筆,而且只能只讀,所以使用起來(lái)不但節(jié)省資源而且效率很好。使用DataReader對(duì)象除了效率較好之外,因?yàn)椴挥冒褦?shù)據(jù)全部傳回,故可以降低網(wǎng)絡(luò)的負(fù)載。</p><p> 2.5
52、 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) </p><p> 2.5.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)及說(shuō)明 </p><p> 數(shù)據(jù)庫(kù)結(jié)構(gòu)是網(wǎng)上考試系統(tǒng)設(shè)計(jì)方案中的一個(gè)重要組成部分,目的在于滿足考生、管理員用戶實(shí)現(xiàn)其操作功能。數(shù)據(jù)庫(kù)中表的設(shè)計(jì):</p><p> 1)管理員信息表(admin),如圖2-3:</p><p> 圖2-3管理員信息表</p>&l
53、t;p> 2)學(xué)生信息表結(jié)構(gòu)(student) ,如圖2-4:</p><p> 圖2-4學(xué)生信息表結(jié)構(gòu)</p><p> 3)試題信息表結(jié)構(gòu)(question),如圖2-5:</p><p> 圖2-5 試題信息表</p><p> 4)考試科目信息表結(jié)構(gòu)(subject),如圖2-6:</p><p&g
54、t; 圖2-6考試科目信息</p><p> 5)考生成績(jī)表結(jié)構(gòu)(score),如圖2-7所示:</p><p> 圖2-7 考生成績(jī)表</p><p> 2.5.2 用戶權(quán)限簡(jiǎn)介 </p><p><b> 1) 管理員</b></p><p> 在此系統(tǒng)中系統(tǒng)管理員具有管理用戶、管
55、理試題和試卷的權(quán)力。他不需注冊(cè),在數(shù)據(jù)庫(kù)有一個(gè)表來(lái)存放相關(guān)信息。</p><p> 2) 一般用戶主要是指考生,參加在線考試。</p><p> 第三章 系統(tǒng)的整體分析與設(shè)計(jì)</p><p><b> 3.1 需求分析</b></p><p> 3.1.1 系統(tǒng)需要解決的主要問(wèn)題 </p><
56、p> 考生進(jìn)入系統(tǒng)應(yīng)該進(jìn)行身份驗(yàn)證??忌M(jìn)入考試系統(tǒng)后,需要選擇考試科目,所以系統(tǒng)還應(yīng)有考試科目選擇的功能。鑒于考試環(huán)境一般為機(jī)房,考試者之間的距離很近,為了避免考試做弊,試卷的試題和題量都應(yīng)是相同的,但試題并不相同。在線考試基于網(wǎng)絡(luò)環(huán)境,試卷應(yīng)該從服務(wù)器的數(shù)據(jù)庫(kù)隨機(jī)抽取試題后動(dòng)態(tài)生成的。另外,系統(tǒng)還應(yīng)該對(duì)考試時(shí)間進(jìn)行控制,時(shí)間到了會(huì)要求考試者交卷??荚囌哌x擇提交答卷后,應(yīng)該自動(dòng)判卷,給出考生分?jǐn)?shù)。</p><
57、;p> 本系統(tǒng)是為了滿足在線考試的需求而設(shè)計(jì)開(kāi)發(fā)的,可在Internet上進(jìn)行實(shí)時(shí)考試。所以本考試系統(tǒng)應(yīng)具備的考試系統(tǒng)功能,包括:題庫(kù)設(shè)計(jì)和管理,試卷的隨機(jī)組卷能力,用戶在線考試及記錄,系統(tǒng)自動(dòng)評(píng)卷,系統(tǒng)數(shù)據(jù)庫(kù)管理維護(hù),系統(tǒng)管理和維護(hù)。</p><p> 3.1.2 系統(tǒng)功能模塊劃分 </p><p> 本在線考試系統(tǒng)可分為兩個(gè)主要功能模塊進(jìn)行設(shè)計(jì),這兩個(gè)功能模塊分別為:<
58、;/p><p> 1)考生功能模塊:考生功能模塊可以實(shí)現(xiàn)考生登錄、選擇考試科目、在線考試、完成考試給出分?jǐn)?shù),如果已經(jīng)考過(guò),則不能登錄考試。</p><p> 2)管理員功能模塊:管理員功能模塊可以實(shí)現(xiàn)管理員登錄、考生信息管理、考試科目管理、題庫(kù)管理、考試成績(jī)管理。</p><p> 系統(tǒng)統(tǒng)由一個(gè)登陸界面登陸,在登陸時(shí)是如果是學(xué)生,則用戶名為考生學(xué)號(hào),如果是管理員登
59、陸,用戶名為管理員名,分別從各自己的數(shù)據(jù)庫(kù)中查詢帳戶,并核對(duì)登陸密碼,然后根據(jù)不同的角色進(jìn)入不同的界面。系統(tǒng)功能模塊劃分如圖3-1所示:</p><p> 圖3-1 系統(tǒng)功能模塊劃分圖</p><p><b> 3.2 總體設(shè)計(jì) </b></p><p> 本部分介紹了《基于Web的網(wǎng)上考試系統(tǒng)》的總體設(shè)計(jì),主要包括公用登陸模塊的設(shè)計(jì),學(xué)
60、生功能模塊的設(shè)計(jì),管理員功能模塊的設(shè)計(jì)。程序總體流程圖如圖3-2所示:</p><p> 圖3-2 程序總體流程圖</p><p> 3.2.1 公共登陸模塊設(shè)計(jì) </p><p> 所有用戶都從本模塊登陸,登陸界面(login/)上包括一個(gè)文本框用于輸入用戶名,一個(gè)文本框用于輸入密碼;包括兩個(gè)按鈕,用來(lái)區(qū)分考生登錄,還是管理員登陸。點(diǎn)擊登陸后,根據(jù)不同按鈕的
61、單擊事件,連接到不同的</p><p> 數(shù)據(jù)庫(kù),從相應(yīng)的數(shù)據(jù)庫(kù)表中查詢用戶名和密碼,如查詢到,則進(jìn)入相應(yīng)的頁(yè)面,如未查詢到,則彈出出錯(cuò)信息,用戶點(diǎn)擊確定重新輸入用戶名和密碼登陸,圖3-3示: </p><p> 圖3-3 用戶登錄界面</p><p> 3.2.2 在線考試模塊設(shè)計(jì) </p><p> 考生登錄后,進(jìn)入考
62、試須知頁(yè)面(know1/),選擇考試科目后,若未參加該科目的考試,則進(jìn)入相應(yīng)科目考試頁(yè)面;否則,不能進(jìn)入考試頁(yè)面。該頁(yè)面主要提供了一個(gè)考生選擇考試科目的功能,以簡(jiǎn)單的超鏈接進(jìn)入不同的科目考試頁(yè)面??荚図氈?yè)面如圖3-4示:</p><p> 圖3-4 考試須知頁(yè)面</p><p> 3.2.3 管理員功能模塊設(shè)計(jì) </p><p> 管理員登錄后進(jìn)入后臺(tái)管理主
63、頁(yè)面(classintro/),由該頁(yè)面可以登錄到學(xué)生信息管理、科目管理、試題管理、成績(jī)管理頁(yè)面。如圖3-6所示:</p><p> 圖3-6 后臺(tái)管理主頁(yè)面</p><p> 第四章 部分頁(yè)面實(shí)現(xiàn)詳解</p><p> 4.1 考試頁(yè)面的實(shí)現(xiàn) </p><p> 考試頁(yè)面(exampage/)可以進(jìn)行單選、多選、填空題這些客觀題的考
64、試。每一類型題都以一個(gè)Web用戶控件來(lái)實(shí)現(xiàn)題目顯示,試題是隨機(jī)生成的,每次考試都不同的試卷,如圖3-5所示:</p><p><b> 圖3-5 考試頁(yè)面</b></p><p> 系統(tǒng)以隨機(jī)抽題來(lái)生成試卷,使用了一個(gè)隨機(jī)函數(shù)。先在題庫(kù)question表中得到每種題型在每次抽題供抽取的總題數(shù)count= SubjectInfo(Subject),隨機(jī)選題時(shí)應(yīng)在1-
65、count之間選取,temp = Fix(count * Rnd(10))。由于試卷是考前隨機(jī)抽題而得,考生在第一時(shí)間開(kāi)啟試卷,減少了接觸試題的人員間環(huán)節(jié),也在一定程度上防止了考生將試題傳出考場(chǎng),增強(qiáng)了試題的保密性其次,為了避免由于得到的隨機(jī)數(shù)相同,而在一份試卷中抽到相同的考題,在設(shè)計(jì)題庫(kù)結(jié)構(gòu)時(shí)設(shè)置了haveselect標(biāo)記字段,標(biāo)記字段取值為0時(shí),該題未被抽取,haveselect標(biāo)記字段取值為1,表示該題已被抽取,不能再用。這統(tǒng)在抽
66、題時(shí),首先判斷haveselect標(biāo)記字段是否為0,如果該題已被抽過(guò),則必取新的隨機(jī)數(shù)重新抽取。下面以單選題為例來(lái)說(shuō)明。</p><p> //將haveselect置為1,標(biāo)記該題為已選</p><p> Public Function SetReaded(ByVal QuestionID As String)</p><p> strsql = "
67、;update question set haveselect=1 Where id=" & CInt(QuestionID)</p><p> ExeSQL(strsql)</p><p> End Function </p><p> //將haveselect置為0,該課程所有的考題初始化</p><p> P
68、ublic Sub SetRead() </p><p> strsql = "update question set haveselect=0 where subjectname='" & Subject & "'"</p>&l
69、t;p> ExeSQL(strsql)</p><p><b> End Sub</b></p><p> //用隨機(jī)函數(shù)Rnd()來(lái)生成試題號(hào)</p><p> Public Sub DataBingToRep()</p><p> strsql = "select top " &a
70、mp; 1 & " * from question Where subjectname='" & Subject & "' AND type='單選題'and haveselect= 0 "</p><p> Randomize()</p><p> count = Subjec
71、tInfo(Subject)</p><p> temp = Fix(count * Rnd(100))</p><p> If Qds.Tables(0).Rows.Count > 0 Then</p><p> GetRowInfo(Qds.Tables(0).Rows(temp))</p><p><b> El
72、se</b></p><p> lblQesName.Text = "暫時(shí)沒(méi)有" & Subject & "的單選題!"</p><p><b> End If</b></p><p><b> End Sub</b></p><
73、p> //統(tǒng)計(jì)課程考題的數(shù)量, 獲得count值</p><p> Function SubjectInfo(ByVal name As String) As Integer</p><p> strsql = "select * from question where subjectname='" & name & "
74、39; AND type='單選題'and haveselect=0 "</p><p> Dim cmd As New SqlDataAdapter(strsql, appconn)</p><p> cmd.Fill(Qds, "Info")</p><p> Return Qds.Tables("I
75、nfo").Rows.Count</p><p> End Function</p><p> 4.2 管理主頁(yè)面的實(shí)現(xiàn) </p><p> 管理主頁(yè)面是管理員進(jìn)入后臺(tái)管理后所看到的第一個(gè)頁(yè)面,在該頁(yè)面上有Label控件顯示了管理員名,登錄時(shí)間信息,一組超鏈接實(shí)現(xiàn)各個(gè)頁(yè)面之間的跳轉(zhuǎn),以一個(gè)表格中加入超鏈接圖片也可以在不同頁(yè)面之間跳轉(zhuǎn),該頁(yè)面主要是管
76、理員歡迎界面,沒(méi)有什么關(guān)鍵代碼,只是超鏈接的使用。</p><p> 4.3 學(xué)生信息管理頁(yè)面(manstudentinfo/)的實(shí)現(xiàn) </p><p> 該頁(yè)面用DataGrid控件顯示了學(xué)生信息,并實(shí)現(xiàn)了分頁(yè)顯示,同時(shí)以下拉列表事件來(lái)實(shí)現(xiàn)按班級(jí)查詢學(xué)生信息,其中班級(jí)是從數(shù)據(jù)庫(kù)里查詢出來(lái)的不重復(fù)的班級(jí),還以下拉列表提供了按序號(hào)、學(xué)號(hào)、姓名進(jìn)行的關(guān)鍵字查詢,以超鏈接實(shí)現(xiàn)了跳轉(zhuǎn)到添加、修
77、改學(xué)生信息頁(yè)面。如圖4-1所示:</p><p> 圖4-1 學(xué)生信息管理頁(yè)面</p><p><b> 關(guān)鍵代碼解釋:</b></p><p> //定義數(shù)據(jù)庫(kù)連接字符串,</p><p> Dim conn As New SqlConnection(ConfigurationSettings.AppSetti
78、ngs("ConnectionString"))</p><p> //使用DISTINCT關(guān)鍵字搜索出數(shù)據(jù)庫(kù)中的不同班級(jí),class_name為下拉列表控件</p><p> comdstr2 = "select DISTINCT class from student"</p><p> class_name.Data
79、Source = studs.Tables("student1")</p><p> class_name.DataBind()</p><p> class_name.Items.Insert(0, New ListItem("全部", "全部"))</p><p> //使第一項(xiàng)顯示為“全部”&l
80、t;/p><p> class_name.SelectedIndex = class_name.Items.IndexOf(class_name.Items.FindByText("全部"))</p><p> //使用Response.Redirect可以將網(wǎng)頁(yè)轉(zhuǎn)移至另外的網(wǎng)頁(yè)上,使用的語(yǔ)法結(jié)構(gòu)是:Response.Redirect網(wǎng)址,其中網(wǎng)址可以是相對(duì)地址或絕對(duì)地
81、址,在此使用Response.Redirect("addstudentinfo/")跳轉(zhuǎn)到修改學(xué)生信息頁(yè)面</p><p><b> Session</b></p><p> ("studentid") = s_datagrid.DataKeys(CInt(E.Item.ItemIndex)) </p><
82、;p> //使用下拉列表控件的SelectedIndexChanged事件,實(shí)現(xiàn)下拉列表改變,自動(dòng)按不同班級(jí)查詢學(xué)生信息</p><p> Public Sub class_name_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles class_name.SelectedInd
83、exChanged</p><p> dblstr = Request.Form("class_name")</p><p><b> ifsub()</b></p><p><b> End Sub</b></p><p> //根據(jù)不同的查詢條件生成不同的查詢字符串&
84、lt;/p><p> Sub ifsub()</p><p> //使用like '%" & key & "%'實(shí)現(xiàn)按關(guān)鍵字查詢,以下輸入學(xué)號(hào)關(guān)鍵字為來(lái)實(shí)現(xiàn)查詢</p><p> If skey = "s_no" Then</p><p> comdskey = &q
85、uot; where s_no like '%" & key & "%' "</p><p> comdstr = "select * from student " & comdskey</p><p><b> End If</b></p><p>
86、 Session("str") = comdstr</p><p> adp = New SqlDataAdapter(comdstr, conn)</p><p> ds = New DataSet</p><p> adp.Fill(ds, "student")</p><p> s_da
87、tagrid.DataSource = ds.Tables("student").DefaultView</p><p> s_datagrid.DataBind()</p><p><b> End Sub</b></p><p> 4.3.1 添加、修改學(xué)生信息(addstudentinfo/updatestude
88、ntifo) </p><p> 添加學(xué)生信息與修改學(xué)生信息共用一個(gè)頁(yè)面,在執(zhí)行不同操作時(shí),傳遞不同的參數(shù)editstudent,當(dāng)editstudent為空值時(shí),顯示添加學(xué)生信息頁(yè)面,不為空顯示為修改學(xué)生信息,并根據(jù)參數(shù)綁定數(shù)據(jù)庫(kù)中的對(duì)應(yīng)的學(xué)生信息,顯示在相應(yīng)的文本框或下拉列表中。如圖4-2所示:</p><p> 圖4-2 添加、修改學(xué)生信息頁(yè)面</p><p&
89、gt;<b> 關(guān)鍵代碼解釋:</b></p><p> //根據(jù)不同editstudent參數(shù)值顯示不同的頁(yè)面標(biāo)題,其中editstudent為學(xué)生id</p><p> <%If editstudent = "" Then%>添加學(xué)生信息</p><p> <%Else%>修改學(xué)生信息&l
90、t;%End If%></p><p> //根據(jù)不同editstudent參數(shù)值顯示不同的按鈕文本</p><p> <%If editstudent = "" Then%><asp:Button ID="Button1" Text=" 添加學(xué)生信息" OnClick="Enter_Clic
91、k" /></p><p> <%Else%><asp:Button ID="Button2" runat="server" Text="修改學(xué)生信息" OnClick="Button2_Click"></asp:Button><%End If%></p>
92、<p> //該句的功能是把表單提交的變量editstudent的值賦給一個(gè)Session對(duì)象studentid。這個(gè)對(duì)象用來(lái)存儲(chǔ)學(xué)生id,它在用戶對(duì)每個(gè)頁(yè)面的訪問(wèn)中有效。</p><p> editstudent = Session("studentid")</p><p> //點(diǎn)擊修改學(xué)生信息事件,使用Request對(duì)象的Form獲得頁(yè)面上表單的
93、內(nèi)容</p><p> nums = Request.Form("num")</p><p> names = Request.Form("name")</p><p> pwds = Request.Form("pwd")</p><p> grades = Request
94、.Form("grade")</p><p> strA = "update student set s_no='" & nums & "',s_name='" & names & "',s_pwd='" & pwds & "'
95、,class='" & grades & "' where id=" & editstudent</p><p><b> 致謝</b></p><p> 在本次論文設(shè)計(jì)過(guò)程中,***老師對(duì)該論文從選題,構(gòu)思到最后定稿的各個(gè)環(huán)節(jié)給予細(xì)心指引與教導(dǎo),使我得以最終完成畢業(yè)論文設(shè)計(jì)。在學(xué)習(xí)中,老師嚴(yán)謹(jǐn)
96、的治學(xué)態(tài)度、豐富淵博的知識(shí)、敏銳的學(xué)術(shù)思維、精益求精的工作態(tài)度以及侮人不倦的師者風(fēng)范是我終生學(xué)習(xí)的楷模,導(dǎo)師們的高深精湛的造詣與嚴(yán)謹(jǐn)求實(shí)的治學(xué)精神,將永遠(yuǎn)激勵(lì)著我。這三年中還得到眾多老師的關(guān)心支持和幫助。在此,謹(jǐn)向老師們致以衷心的感謝和崇高的敬意!</p><p> 最后,我要向百忙之中抽時(shí)間對(duì)本文進(jìn)行審閱,評(píng)議和參與本人論文答辯的各位老師表示感謝。</p><p><b>
97、 參考文獻(xiàn)</b></p><p> 1)李克東,謝幼如等編著.多媒體組合教學(xué)設(shè)計(jì)[M].北京:科學(xué)出版社.1992(1)。</p><p> 2)徐玲,呂磊等編著.基于B/S結(jié)構(gòu)的高校教務(wù)辦公自動(dòng)化的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦信息技術(shù).2001 5(3) 18-19。</p><p> 3)明日科技,蓋天宇,孫明麗,鄒天思等編著.ASP數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì) ----網(wǎng)上考試系統(tǒng)
- 網(wǎng)上考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 網(wǎng)上考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 網(wǎng)上考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-在線考試系統(tǒng)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----在線考試系統(tǒng)
- 網(wǎng)上在線論壇畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)------網(wǎng)上報(bào)名及在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 在線考試系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---網(wǎng)絡(luò)在線考試系統(tǒng)設(shè)計(jì)
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)論文---jsp網(wǎng)上考試系統(tǒng)
- 網(wǎng)上考試書店系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 在線考試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- java在線考試系統(tǒng)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論