版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢業(yè)設(shè)計(論文)報告</p><p> 系 別 軟件工程系 </p><p> 專 業(yè) 計算機應(yīng)用 </p><p> 班 級 </p><p> 姓 名 *
2、***** </p><p> 學 號 ********* </p><p> 設(shè)計題目 在線考試系統(tǒng) </p><p> 指導教師 ****** </p><p> 起迄日期 2011.1.2——201
3、1.4.20 </p><p><b> 在線考試系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 通過考試系統(tǒng)WebExam是目前市場占有率較高,應(yīng)用最廣泛的遠程網(wǎng)絡(luò)學習考試軟件,適合政府、行業(yè)及企業(yè)的各專業(yè)網(wǎng)上考試、作業(yè)、練習等應(yīng)用。它采用Web方式,同時適用于局域網(wǎng)和Interne
4、t,無需安裝客戶端,即可實現(xiàn)網(wǎng)上考試、作業(yè)、練習、成績排行等功能,并能夠答卷保存、自動判分、成績查詢和分析等功能</p><p> 該系統(tǒng)同時擁有最開放的題庫管理系統(tǒng)和最靈活的組卷系統(tǒng),能夠自動輸出Word試卷,提供Excel題目導入導出、題庫和試卷導入導出等設(shè)計,提供資源的快速收集和高度共享。</p><p> 在開發(fā)方法上,引入了當今流行的Microsoft .Net Remoti
5、ng 技術(shù)思想,把整個開發(fā)程分為需求分析、概要設(shè)計、詳細設(shè)計、系統(tǒng)實現(xiàn)等步驟。該系統(tǒng)通過優(yōu)化和再造管理流程,使人力資源的管理更為高效和科學,數(shù)據(jù)更為準確,從而將人事部門從繁重的、耗時的工作中解放出來,把精力集中到更高層的政策性工作中去。</p><p> 關(guān)鍵詞 在線考試系統(tǒng) ; C#.net編程語言 ; Visual Studio 2008 ;SQL Server 2005數(shù)據(jù)庫</p>&l
6、t;p><b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1課題研究背景1</p><p> 1.2課題研究目的和意義1</p><p> 第2章 系統(tǒng)分析概述2</p><p><b>
7、 2.1引言2</b></p><p> 2.2系統(tǒng)需求分析2</p><p> 2.3系統(tǒng)概述3</p><p> 2.4Visual Studio 2008的概述4</p><p> 2.5SQL Server 2005數(shù)據(jù)庫的概述5</p><p> 第3章 系統(tǒng)方案總
8、體設(shè)計6</p><p> 3.1系統(tǒng)設(shè)計思想及相關(guān)技術(shù)介紹6</p><p> 3.1.1系統(tǒng)架構(gòu)設(shè)計6</p><p> 3.1.2系統(tǒng)總體模塊功能設(shè)計6</p><p> 第4章 數(shù)據(jù)庫的設(shè)計8</p><p><b> 4.1 引言8</b></p>
9、<p> 4.2數(shù)據(jù)庫需求分析8</p><p> 4.3數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計8</p><p> 4.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計8</p><p> 第5章 界面設(shè)計與實現(xiàn)10</p><p> 5.1主頁設(shè)計10</p><p> 5.1.1 實現(xiàn)目標10</p>
10、<p> 5.1.2 登錄窗口10</p><p> 5.1.3 注冊窗口12</p><p> 5.2主要界面設(shè)計—用戶登錄信息畫面13</p><p> 5.2.1 實現(xiàn)目標13</p><p> 5.2.2 主界面13</p><p> 5.3主要界面設(shè)計 —— ADDQUE
11、STION.ASPX17</p><p> 5.3.1 實現(xiàn)目標17</p><p> 5.4主要界面設(shè)計 —— USERMANGEMENT.ASPX18</p><p> 5.4.1 實現(xiàn)目標18</p><p><b> 結(jié) 論20</b></p><p><b&g
12、t; 致 謝21</b></p><p> 參 考 文 獻22</p><p><b> 緒論</b></p><p><b> 課題研究背景</b></p><p> 近幾年來,隨著Internet的崛起,遠程教育開始發(fā)展,普及網(wǎng)絡(luò)教育的呼聲日益高漲,其勢頭不亞于電子商
13、務(wù)。</p><p> 聯(lián)合國教科文組織1998年在其一項調(diào)查報告中:無論是發(fā)達國家還是發(fā)展中國家,都不同程度存在教育滯后于現(xiàn)實需要的問題,特別是第三世界國家,而普及遠程教育,尤其是網(wǎng)絡(luò)教育,不僅是解決這一問題的有效途徑,而且將成為革新傳統(tǒng)教育模式的重要動力。</p><p> 中國的網(wǎng)絡(luò)教育也隨Internet的發(fā)展而同步增長,同時,網(wǎng)絡(luò)教育也為中國的教育事業(yè)開辟了新的天地。<
14、/p><p><b> 課題研究目的和意義</b></p><p> 隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國外的大學和社會其他部門都已經(jīng)開始設(shè)了遠程教育。但是,遠程教育的軟件的開發(fā)目前還處于起步階段,隨著這項技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)到遠程教育當中去,這就給軟件設(shè)計人員提出了更高的設(shè)計要求。</p><p> 遠程教育包括
15、很多環(huán)節(jié)。例如,教學系統(tǒng)、考試系統(tǒng)、和答疑系統(tǒng)等等。其中一個很重要的環(huán)節(jié)是在線考試系統(tǒng),同時,它也是最難實現(xiàn)的環(huán)節(jié)。在我國,遠程教育以蓬勃發(fā)展起來。但目前學校和社會上的各種考試大都都采用傳統(tǒng)的考試方法,在此方式下,組織一次考試,要經(jīng)過五個步驟,即人工出題、考生考試、人工閱卷、成績評估和試卷分析。</p><p> 顯然隨著考試類型的不斷增加和考試要求的不斷提高,教師的工作量也越來越大,可以說傳統(tǒng)的考試方法已經(jīng)不
16、能適用于現(xiàn)代考試的需要。隨著計算機應(yīng)用的迅猛發(fā)展,網(wǎng)絡(luò)應(yīng)用不斷擴大,如遠程教育和虛擬大學的出現(xiàn)等等,且這些應(yīng)用正逐步深入到千家萬戶。人們迫切需要這些技術(shù)來進行在線考試,以減輕教師的工作的負擔以及提高工作效率,與此同時提高了考試的質(zhì)量,從而使考試更趨于公正、客觀,更加激發(fā)學生的學習興趣。</p><p> 第2章 系統(tǒng)分析概述</p><p><b> 引言</b>
17、</p><p> ASP.NET是微軟公司最新推出的一種統(tǒng)一Web開發(fā)平臺,與最新的數(shù)據(jù)訪問技術(shù)ADO.NET一起可構(gòu)建出強大、安全和可靠的企業(yè)級Web應(yīng)用程序。ASP.NET的語法在很大程度上與ASP兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序。</p><p> 采取了ASP.NET技術(shù)的系統(tǒng)在性能上有了很大的改善,主要表現(xiàn)在以下幾方面: &l
18、t;/p><p> 由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應(yīng)用程序重新啟動。這使得在多次訪問時速度有了極大的提升;</p><p> 由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)據(jù)庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而
19、ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系;</p><p> ASP.NET支持應(yīng)用程序的實時更新,管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運行就可以更新應(yīng)用文件。應(yīng)用程序文件永遠不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋,當文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本;</p><p> ASP.NET采取"CodeB
20、ehind(代碼分離)技術(shù)"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)開發(fā)與維護的復雜度和費用。</p><p><b> 系統(tǒng)需求分析</b></p><p> 系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)在線考試的系統(tǒng)化、規(guī)范化和自動化。</p><p> 系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。在線考試系統(tǒng)需要完成的功能
21、主要有:用戶的注冊和登錄;用戶在線答題;對科目進行管理;對管理員進行試題的管理;以及個人信息管理功能。在數(shù)據(jù)庫方面,利用關(guān)系數(shù)據(jù)庫功能強大的查詢語言對企業(yè)各類信息入庫保存,按要求及時處理。</p><p> 該系統(tǒng)集錄入、維護、查詢、審核和各種處理為一體,各種操作可以通過菜單進行,操作快捷、方便,性能高效、強大;使用易懂、易會,形象增強的數(shù)據(jù)處理,用戶均可根據(jù)需要自行使用。</p><p&g
22、t;<b> 系統(tǒng)概述</b></p><p> 本系統(tǒng)是一個在線考試系統(tǒng),在實施過程中主要實現(xiàn)以下目標:</p><p> ?。?)界面友好、美觀,體現(xiàn)在線考試系統(tǒng)的特點,而且操作簡便。</p><p> ?。?)各功能模塊層次清晰,代碼高效易懂。</p><p> ?。?)添加和編輯簡便、清晰,提高工作效率。&l
23、t;/p><p> ?。?)查詢方便,數(shù)據(jù)存儲安全可靠。</p><p> ?。?)功能全面,實用性強。</p><p><b> 主要功能有:</b></p><p><b> 1.注冊用戶模塊</b></p><p> 注冊用戶主要實現(xiàn)用戶的登錄功能和注冊功能。<
24、/p><p><b> 在線測試模塊</b></p><p> 在線測試是本系統(tǒng)的核心模塊,不論是管理員還是普通用戶都可以進行在線測試。在此頁面中,可以選擇不同的科目進行科目測試,也可以顯示或者隱藏答案提示。</p><p><b> 科目管理模塊</b></p><p> 只有管理員權(quán)限的用戶
25、登錄才可以進入科目管理模塊,在科目管理模塊中,除了顯示已有己。</p><p><b> 試題管理模塊</b></p><p> 只有管理員權(quán)限的用戶才可以進入試題管理模塊。</p><p><b> 用戶管理模塊</b></p><p> 在用戶管理模塊中,管理員可以刪除用戶和修改用戶信息
26、。該頁面沒有增加用戶功能,用戶可以自己注冊登錄。</p><p><b> 個人信息修改模塊</b></p><p> 普通用戶登陸后可以進入個人信息修改模塊,修改個人密碼、身份證號碼和E-mail等信息。</p><p><b> 開發(fā)環(huán)境的選擇方法</b></p><p> 目前,用于開
27、發(fā)數(shù)據(jù)庫管理信息系統(tǒng)的編程語言很多,比如Delphi、PowerBuilder、Visual C++、Java、Visual Basic6及VB.NET等等,而用于后臺數(shù)據(jù)庫管理的DBMS也有很多,比如有Oracle、MS SQL SERVER、SYBASE、INFORMIX、DB2、VISUAL FOXPRO、ACCESS等等。</p><p> 本人根據(jù)秦曉燕老師的布置要求,采用面向?qū)ο蟮能浖_發(fā)方法來實現(xiàn)
28、此在線考試軟件,系統(tǒng)開發(fā)工具我們選擇了能夠跨平臺的開發(fā)工具Visual Studio 2008。在前臺操作與后臺數(shù)據(jù)庫處理的連接上,主要采用ADO.NET技術(shù)和SQL Server2005數(shù)據(jù)庫,運用客戶機服務(wù)器模式(C/S)配合功能強大的SQL查詢語言實現(xiàn)預定的功能需求。</p><p> Visual Studio 2008的概述</p><p> Visual Studio 20
29、08是一個全面集成的開發(fā)環(huán)境,用于編寫,調(diào)試代碼,把代碼編譯為程序集進行發(fā)布,實際上,Visual Studio 提供了非常專業(yè)的多文檔界面應(yīng)用程序,在該應(yīng)用程序中可以進行與開發(fā)代碼相關(guān)的任何操作,它提供了:</p><p> 文本編輯器:在文本編輯器中,可以編寫C#代碼(以及VB 2005,J#和C++代碼)。這個文本編輯器相當復雜。</p><p> 代碼的設(shè)計視圖編輯器:它可以在
30、項目中可視化的放置用戶界面和數(shù)據(jù)訪問控件。此時Visual Studio會自動在源文件中添加必要的C#代碼,在項目中實例化這些控件。</p><p> 支持窗口:它們可以查看修改項目的各個方面。也可以使用這些窗口指定編譯選項。</p><p> 在環(huán)境中編譯:可以只選擇一個菜單選項編譯項目,而不必在命令行上運行C#編譯器。Visual Studio會調(diào)用C#編譯器。</p>
31、<p> 集成的調(diào)試程序:編程的本質(zhì)是代碼在第一次運行時,一般不會正確執(zhí)行。也許在第二次、第三次才能正確運行。Visual Studio無縫的鏈接到一個調(diào)試程序上,可以在該調(diào)試環(huán)境中設(shè)置斷點,觀察變量。</p><p> 集成的MSDN幫助:Visual Studio可以在IDE中調(diào)用MSDN文檔說明。</p><p> 訪問其他程序:Visual Studio還能調(diào)用
32、許多其他工具來查看和修改計算機或網(wǎng)絡(luò)的一些內(nèi)容,而無需退出開發(fā)環(huán)境。</p><p> SQL Server 2005數(shù)據(jù)庫的概述</p><p> SQL Sevrer2005是一個C/S體系結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫管理系統(tǒng),它使Transact—SQL語言在客戶和SQL Server之間發(fā)送處理請求,SQL Server利用C/S體系結(jié)構(gòu)把工作分成兩部分:客戶端負責邏輯處理把數(shù)據(jù)呈現(xiàn)給用戶
33、,SQL Server管理數(shù)據(jù)庫。SQL Server用Transact—SQL作為它的數(shù)據(jù)庫查詢和編程語言,使用Transact—SQL能夠方便地存取數(shù)據(jù)、查詢、更新和管理關(guān)系數(shù)據(jù)庫。</p><p> 第3章 系統(tǒng)方案總體設(shè)計</p><p> 系統(tǒng)設(shè)計思想及相關(guān)技術(shù)介紹</p><p><b> 系統(tǒng)架構(gòu)設(shè)計</b></p&g
34、t;<p> 首先用戶登錄,如果登陸成功系統(tǒng)檢測用戶類型,用戶類型分為兩種:普通用戶和管理員。普通用戶登錄后只能進行在線答題和個人信息管理,在線答題時可以選擇科目,可以顯示和隱藏答案提示,模塊測試后可以重做答錯的題。</p><p> 管理員身份登錄功能較多,除了可以在線答題外,還可以進行科目管理、試題管理和用戶管理,科目管理包括增加、刪除、修改科目,試題管理同樣是增、刪、改操作;用戶管理中只能
35、刪除和修改用戶信息,增加用戶在注冊用戶功能中完成。</p><p> 圖3-1在線考試系統(tǒng)功能框架</p><p> 系統(tǒng)總體模塊功能設(shè)計</p><p> 經(jīng)過對整個系統(tǒng)的分析,可以得出以下功能模塊,如圖3-3所示:</p><p> 登陸者模塊:面向登陸者??梢韵冗M行注冊,再實現(xiàn)登錄功能,進而進行在線考試。</p>
36、<p> 管理員模塊:面向管理員??梢詫碱}進行添加、刪除、修改和更新功能;可以進行答題的測試;科目的管理;題庫的管理;以及對用戶的管理。</p><p> 圖3-3 功能模塊圖</p><p> 第4章 數(shù)據(jù)庫的設(shè)計</p><p><b> 4.1 引言</b></p><p> 數(shù)據(jù)庫是一個應(yīng)用
37、系統(tǒng)的核心,數(shù)據(jù)庫設(shè)計的好壞直接關(guān)系到應(yīng)用系統(tǒng)的執(zhí)行效率,數(shù)據(jù)的一致性和完整性,設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求,數(shù)據(jù)庫設(shè)計一般包括以下幾個步驟:</p><p><b> 數(shù)據(jù)庫需求分析</b></p><p><b> 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</b></p><p>
38、<b> 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</b></p><p><b> 數(shù)據(jù)庫需求分析</b></p><p> 數(shù)據(jù)庫需求分析就是要了解在這個應(yīng)用系統(tǒng)中,用戶需要查詢、更新、刪除和保存哪些數(shù)據(jù),收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計打下基礎(chǔ)。</p><p> 通在線考試系統(tǒng)的
39、數(shù)據(jù)庫管理要進行各種各樣的數(shù)據(jù)輸入和導出,提供各類信息的添加、刪除、修改和更新等功能。通過上述對系統(tǒng)的設(shè)計分析,根據(jù)在線考試系統(tǒng)的需求,共需設(shè)計以下五種信息:</p><p> (1)用戶注冊信息。</p><p> ?。?)科目管理信息。</p><p> ?。?)試題管理信息。</p><p> ?。?)用戶管理信息。</p>
40、;<p> (5)個人信息管理。</p><p><b> 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</b></p><p> 等到了上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計出能夠滿足用戶需求的各種實體以及實體之間的關(guān)系,為后面的數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)流動。</p><p><b>
41、; 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</b></p><p> 通過調(diào)查分析各種資料,根據(jù)本管理系統(tǒng)用戶需要操作和處理的各種數(shù)據(jù),對數(shù)據(jù)表進行了分析。確定在數(shù)據(jù)庫中存儲的各種數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)類型,列舉出部分數(shù)據(jù)表的關(guān)系如下:</p><p> 1. 用戶信息表(User)包括的數(shù)據(jù)項有: 用戶名、密碼、性別、身份證號碼、電子郵箱、角色編號等。(如表4-1所示)</p>
42、<p><b> 表4-1用戶信息表</b></p><p> 角色表(Role)中的字段有角色編號、角色名。(如表4-2所示)</p><p> 表4-2 2. 角色表</p><p> (Course)中的字段有課程編號和課程名以及兩個備用字段。(如圖4-3所示)</p><p> 表4-3
43、課程表角色表</p><p> 試題表(question)中的字段有題號、課程編號、題干、A答案、B答案、C答案、D答案、正確答案。(如表4-4所示)</p><p><b> 表4-4 角色表</b></p><p> 第5章 界面設(shè)計與實現(xiàn)</p><p><b> 主頁設(shè)計</b>&l
44、t;/p><p> 5.1.1 實現(xiàn)目標</p><p> 程序啟動后,進入登陸窗體,用戶輸入用戶名和密碼,然后進行登錄。同時可以按下取消按鈕退出本系統(tǒng),登錄界面模塊中主要實現(xiàn)如下功能:</p><p> ?。?)可進行選擇用戶身份,支持鼠標操作。</p><p> ?。?)用戶名和密碼驗證成功后,進入主界面。</p><
45、p> ?。?)用戶名錯誤或密碼錯誤提醒并返回輸入有誤。</p><p><b> 5-1主頁面</b></p><p> 5.1.2 登錄窗口</p><p><b> 5-2 登錄窗口</b></p><p> 在登錄過程中,系統(tǒng)會首先根據(jù)畫面上用戶輸入的內(nèi)容進行驗證檢查,相關(guān)代碼如
46、下:</p><p> string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;</p><p> protected void txtRegist_Click(object sender, EventArgs e)</p&
47、gt;<p><b> {</b></p><p> Response.Redirect("Regist.aspx");</p><p><b> }</b></p><p> protected void txtLogin_Click(object sender, EventAr
48、gs e)</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> string strSql = "select count(*) from [user] where userName = '"<
49、/p><p> + txtName.Text + "' and password = '" + this.txtPassword.Text + "'";</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open()
50、;</p><p> int num = (int)com.ExecuteScalar();</p><p> if (num == 0)</p><p><b> {</b></p><p> Response.Write("<script language='javascript
51、9;>alert('密碼錯誤!');</script>");</p><p><b> return;</b></p><p><b> }</b></p><p> strSql = "select roleID from [user] where userNa
52、me = '" + txtName.Text + "'";</p><p><b> try</b></p><p><b> {</b></p><p> com.CommandText = strSql;</p><p> SqlDataRe
53、ader sdr = com.ExecuteReader();</p><p> if (sdr.Read())</p><p><b> {</b></p><p> string s = sdr["roleID"].ToString();</p><p> Session["ro
54、leID"] = s;</p><p> Session["userName"] = txtName.Text;</p><p> Session["userPassword"] = txtPassword.Text;</p><p><b> }</b></p><p
55、> sdr.Close();</p><p><b> }</b></p><p> catch (SqlException ex)</p><p><b> {</b></p><p> Response.Write(ex.ToString());</p><p
56、><b> }</b></p><p><b> finally</b></p><p><b> {</b></p><p> con.Close();</p><p><b> }</b></p><p> R
57、esponse.Redirect("Main.aspx");</p><p> 如果驗證通過,系統(tǒng)會連接數(shù)據(jù)庫,進行數(shù)據(jù)正確性以及用戶權(quán)限的檢查,以上檢查成功的情況下,就會進入本系統(tǒng)的主窗體,如果失敗,跳出錯誤提示框。</p><p> 5.1.3 注冊窗口</p><p><b> 圖5-3 注冊窗口</b><
58、/p><p> 在注冊過程中,系統(tǒng)會自動檢查用戶注冊的信息是否合法,相關(guān)代碼如下:</p><p> string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;</p><p> protected void
59、btnOK_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> string strSql = "select count(*) from [user
60、] where userName = '" + txtName.Text + "'";</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open();</p><p> int num = (int)com.ExecuteSca
61、lar();</p><p> if (num > 0)</p><p><b> {</b></p><p> Response.Write("<script language='javascript'>alert('表中存在記錄!');</script>"
62、;);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> string name = txtName.Text;</p><p> string passw
63、ord = this.txtPassword.Text;</p><p> string sex = "男";</p><p> if (this.rbtnFemail.Checked)</p><p><b> {</b></p><p> sex = "女";</
64、p><p><b> }</b></p><p> string identity = txtIdentity.Text.ToString();</p><p> string email = this.txtMail.Text.ToString();</p><p> strSql = "insert i
65、nto [user](userName, password, sex, userIdentity, email,roleID) values('" + name + "','" + password + "','" + sex + "','" + identity + "','"
66、;</p><p> + email + "',1)";</p><p> com = new SqlCommand(strSql, con);</p><p> com.ExecuteNonQuery();</p><p> con.Close();</p><p> Respo
67、nse.Write("<script language='javascript'>alert('注冊成功!返回登錄頁面');</script>");</p><p><b> //返回登陸頁面</b></p><p> Response.Redirect("Login.aspx&
68、quot;);</p><p><b> }</b></p><p><b> }</b></p><p> protected void btnCancel_Click(object sender, EventArgs e)</p><p><b> {</b><
69、;/p><p> Response.Redirect("Login.aspx");</p><p><b> }</b></p><p> 主要界面設(shè)計—用戶登錄信息畫面</p><p> 5.2.1 實現(xiàn)目標</p><p> 程序啟動后,登錄進入在線答題窗體,在管理模
70、塊中主要實現(xiàn)如下功能:</p><p> ?。?)檢索當前啟用的組織結(jié)構(gòu)相關(guān)的部門及員工信息。</p><p> ?。?)對登陸者個人信息的管理。</p><p> (3)對基本信息進行登錄和修改操作。</p><p> ?。?)考試科目即考試內(nèi)容建立。</p><p> ?。?)對考試信息的查詢。</p>
71、;<p><b> 5.2.2 主界面</b></p><p> 圖5-4 在線考試主界面</p><p> 本界面為主操作界面。管理員通過登錄界面的驗證后,方能進入此界面。</p><p> 此畫面可以進行考試各類信息的添加,更新和刪除,以及用戶信息查詢等功能。</p><p><b>
72、 點擊顯示答案后:</b></p><p> 圖5-5 答題測試界面</p><p><b> 相關(guān)主代碼如下:</b></p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b&g
73、t;</p><p> if (!this.IsPostBack)</p><p><b> {</b></p><p> BindSubjectName();</p><p><b> Bind();</b></p><p><b> }</b&g
74、t;</p><p><b> }</b></p><p> string conn = ConfigurationManager.ConnectionStrings["WebTestConnectionString"].ConnectionString;</p><p> private void BindSubje
75、ctName()</p><p><b> {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from course", con);
76、</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "table");</p><p> ddlQuestionName.DataSource = ds.Tables["table"];</p><p> ddlQuestion
77、Name.DataTextField = "courseName";</p><p> ddlQuestionName.DataValueField = "courseID";</p><p> ddlQuestionName.DataBind();</p><p><b> }</b></p
78、><p> private void Bind()</p><p><b> {</b></p><p> string str = ddlQuestionName.SelectedItem.Text.ToString();</p><p> string sql = "select q.* from qu
79、estion q,course c where q.courseID = c.courseID and c.courseName = '" + str + "'";</p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new
80、SqlDataAdapter(sql, con);</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "table");</p><p> DataList1.DataKeyField = "questionID";</p><p&g
81、t; DataList1.DataSource = ds.Tables["table"];</p><p> DataList1.DataBind();</p><p><b> }</b></p><p> protected void btnShowAnswer_Click(object sender, Even
82、tArgs e)</p><p><b> {</b></p><p> if (btnShowAnswer.Text == "顯示答案")</p><p><b> {</b></p><p> for (int i = 0; i < DataList1.Item
83、s.Count; i++)</p><p><b> {</b></p><p> ((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = true;</p><p><b> }</b></p><p&
84、gt; btnShowAnswer.Text = "隱藏答案";</p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> for (int i = 0; i <
85、; DataList1.Items.Count; i++)</p><p><b> {</b></p><p> ((Label)(DataList1.Items[i].FindControl("lblAnswer"))).Visible = false;</p><p><b> }</b>&
86、lt;/p><p> btnShowAnswer.Text = "顯示答案";</p><p><b> }</b></p><p><b> }</b></p><p> protected void ddlQuestionName_SelectedIndexChanged
87、(object sender, EventArgs e)</p><p><b> {</b></p><p><b> Bind();</b></p><p><b> }</b></p><p> protected void btnFinish_Click(obj
88、ect sender, EventArgs e)</p><p><b> {</b></p><p> int count = 0;//答對的數(shù)目</p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p><
89、;b> {</b></p><p> string labelStr = ((Label)(DataList1.Items[index].FindControl("lblAnswer"))).Text;</p><p> string rightAnswer = labelStr.Substring(labelStr.Length - 1);&l
90、t;/p><p> string selectedRadioButton = "";</p><p> if (((RadioButton)(DataList1.Items[index].FindControl("rbtn1"))).Checked)</p><p><b> {</b></p&g
91、t;<p> selectedRadioButton = "A";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rbtn2"))).Checked)</p><
92、;p><b> {</b></p><p> selectedRadioButton = "B";</p><p><b> }</b></p><p> else if (((RadioButton)(DataList1.Items[index].FindControl("rb
93、tn3"))).Checked)</p><p><b> {</b></p><p> selectedRadioButton = "C";</p><p><b> }</b></p><p> else if(((RadioButton)(DataList
94、1.Items[index].FindControl("rbtn4"))).Checked)</p><p><b> {</b></p><p> selectedRadioButton = "D";</p><p><b> }</b></p><p&g
95、t; if (rightAnswer == selectedRadioButton)</p><p><b> {</b></p><p> count += 1;</p><p> if (DataList1.Items[index].TabIndex >= 100)</p><p><b>
96、 {</b></p><p> DataList1.Items[index].TabIndex -= 100;</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b></p>&
97、lt;p><b> {</b></p><p> DataList1.Items[index].TabIndex = (short)(100 + index);</p><p><b> }</b></p><p> this.btnRedoError.Enabled = true;</p>&
98、lt;p><b> }</b></p><p> lblResult.Text = "答對"+count+"題,錯"+(DataList1.Items.Count-count)+"題";</p><p><b> }</b></p><p> pro
99、tected void btnRedo_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Response.Redirect("ShowQuestion.aspx");</p><p><b> }</b></p>
100、;<p> protected void btnRedoError_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> for (int index = 0; index < DataList1.Items.Count; index++)</p><p
101、><b> {</b></p><p> if (DataList1.Items[index].TabIndex < 100)</p><p><b> {</b></p><p> DataList1.Items[index].Visible = false;</p><p>
102、<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 主要界面設(shè)計 —— ADDQUESTION.ASPX</p><p>
103、; 5.3.1 實現(xiàn)目標</p><p><b> 圖5-6 科目管理</b></p><p> 當管理員登入系統(tǒng)后,進入信息添加頁面,需要將相關(guān)考試信息錄入考試系統(tǒng)中,方便用戶進行考試。相關(guān)代碼如下:</p><p> private void BindQuestionName()</p><p><b&
104、gt; {</b></p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from Course", con);</p><p> DataSet ds =
105、 new DataSet();</p><p> sda.Fill(ds, "table");</p><p> ddlCourseName.DataSource = ds.Tables["table"];</p><p> ddlCourseName.DataTextField = "courseName&q
106、uot;;</p><p> ddlCourseName.DataValueField = "courseID";</p><p> ddlCourseName.DataBind();</p><p><b> }</b></p><p> protected void GridView1_R
107、owEditing(object sender, GridViewEditEventArgs e)</p><p><b> {</b></p><p> string courseID = ddlCourseName.SelectedValue.ToString();</p><p> string questionID = GridV
108、iew1.Rows[e.NewEditIndex].Cells[0].Text.ToString().Trim();</p><p> string questionContent = GridView1.Rows[e.NewEditIndex].Cells[1].Text.ToString().Trim();</p><p> string a1 = GridView1.Rows[e
109、.NewEditIndex].Cells[2].Text.ToString().Trim();</p><p> string a2 = GridView1.Rows[e.NewEditIndex].Cells[3].Text.ToString().Trim();</p><p> string a3 = GridView1.Rows[e.NewEditIndex].Cells[4].
110、Text.ToString().Trim();</p><p> string a4 = GridView1.Rows[e.NewEditIndex].Cells[5].Text.ToString().Trim();</p><p> string rightAnswer = GridView1.Rows[e.NewEditIndex].Cells[6].Text.ToString()
111、.Trim();</p><p> //UpdateQuestion question = new UpdateQuestion(questionID, courseID, questionContent, a1, a2, a3, a4, rightAnswer);</p><p> string str = "AddQuestion.aspx?courseID="
112、 + courseID + "&questionID=" + questionID + "&questionContent=" + questionContent + "&a1=" + a1 + "&a2=" + a2 + "&a3=" + a3 + "&a4=" + a
113、4 + "&rightAnswer=" + rightAnswer;</p><p> Response.Redirect(str);</p><p><b> }</b></p><p> 主要界面設(shè)計 —— USERMANGEMENT.ASPX</p><p> 5.4.1 實現(xiàn)目
114、標</p><p> 圖5-7 用戶管理界面</p><p> 管理員登錄該界面后,對用戶所注冊的信息進行核實和管理。相關(guān)重要代碼如下:</p><p> private void Bind()</p><p><b> {</b></p><p> SqlConnection con
115、= new SqlConnection(conn);</p><p> SqlDataAdapter sda = new SqlDataAdapter("select * from [user]", con);</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "
116、table");</p><p> GridView1.DataSource = ds.Tables["table"];</p><p> GridView1.DataKeyNames = new string[] { "userName" };</p><p> GridView1.DataBind();&l
117、t;/p><p><b> }</b></p><p> protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)</p><p><b> {</b></p><p> SqlConnectio
118、n con = new SqlConnection(conn);</p><p> string sqlString = "delete from [user] where userName = '"+GridView1.DataKeys[e.RowIndex].Value.ToString()+"'";</p><p> Sql
119、Command com = new SqlCommand(sqlString, con);</p><p> con.Open();</p><p> com.ExecuteNonQuery();</p><p> con.Close();</p><p><b> Bind();</b></p>
120、<p><b> }</b></p><p> protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)</p><p><b> {</b></p><p> string strSql = "
121、update [user] set password ='" +</p><p> ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim()</p><p> + "',sex='" + ((TextBox)(GridVie
122、w1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim()</p><p> + "',userIdentity='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim()</p&g
123、t;<p> + "',email='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim()</p><p> +"' where userName = '"+GridView1.DataKeys[e.Ro
124、wIndex].Value.ToString()+"'";</p><p> SqlConnection con = new SqlConnection(conn);</p><p> SqlCommand com = new SqlCommand(strSql, con);</p><p> con.Open();</p&g
125、t;<p> com.ExecuteNonQuery();</p><p> con.Close();</p><p> GridView1.EditIndex = -1;</p><p><b> Bind();</b></p><p><b> }</b></p&g
126、t;<p><b> 結(jié) 論</b></p><p> 畢業(yè)設(shè)計是大專生學習階段上的一次非常難得的理論與實際相結(jié)合的機會,通過這次比較完整的在線考試系統(tǒng)設(shè)計,我擺脫了單純的理論知識學習狀態(tài),和實際相結(jié)合鍛煉了我綜合運用所學知識的專業(yè)基礎(chǔ)知識,解決了實際工程能力。</p><p> 雖然畢業(yè)設(shè)計內(nèi)容繁多,過程繁瑣,但我的收獲卻更加豐富。在設(shè)計過程中
127、,雖然遇到不少的挫折,至使很多處代碼運行起來不協(xié)調(diào),常常遇到問題。但是,正因為這樣,我才有克服困難的機會,問題各個擊破。從而鍛煉了自己對待事情的認真和負責能力,從而也提高了獨立思考的能力。</p><p> 如期順利的完成本次畢業(yè)設(shè)計給我?guī)砹撕艽蟮男判?。讓我了解了專業(yè)知識同時也對本專業(yè)的發(fā)展充滿了希望。它讓我了解到,只有發(fā)現(xiàn)問題才能解決問題,不足和遺憾不會給我打擊只會更好的鞭策我前行。今后我回更加關(guān)注這方面的
128、知識,掌握新的知識,爭取為祖國的信息發(fā)展供一份力量。</p><p><b> 致 謝</b></p><p> 畢業(yè)設(shè)計是對我們知識能力的一次全面考核,也是對我們科學研究基本功的訓練,培養(yǎng)我們綜合運用所學知識獨立的分析問題和解決問題的能力,為以后撰寫專業(yè)學術(shù)論文和工作打下良好基礎(chǔ)。</p><p> 本次設(shè)計能夠順利完成,首先要感謝我
129、的母?!?*****學院。是她為我們提供了學習知識的土壤,使我們在這里茁壯成長,其次要感謝***老師在設(shè)計工程中給予我的悉心指導,她認真負責的態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都是我受益匪淺。她無論在理論上還是實踐中,都給予我很大的幫助,感謝她耐心的輔導,特在此再次表示謝意。最后要感謝相關(guān)資料的編著者和給予我們支持的社會各界人士,感謝您們?yōu)槲覀兲峁┮粋€良好的環(huán)境,使這次設(shè)計圓滿完成。</p><p> 由于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——在線考試系統(tǒng)
- 畢業(yè)論文——在線考試系統(tǒng).
- 在線考試系統(tǒng)畢業(yè)論文 (4)
- 網(wǎng)絡(luò)在線考試系統(tǒng)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (2)
- 在線考試系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
- 通用在線考試系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---在線考試系統(tǒng)的開發(fā)
- 畢業(yè)論文——asp網(wǎng)上在線考試系統(tǒng)
評論
0/150
提交評論