




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、武漢科技大學(xué)本科畢業(yè)論文I在線考試系統(tǒng)的設(shè)計與實現(xiàn)在線考試系統(tǒng)的設(shè)計與實現(xiàn)摘 要隨著教育改革的不斷深入以及網(wǎng)絡(luò)的普及,教育方式正面臨著一場巨大的變革。網(wǎng)上教育以其全新的教學(xué)理念和教學(xué)手段提供了一種高效的教育方案。網(wǎng)上考試系統(tǒng)具有自動控制考試時間、系統(tǒng)自動評分、有效防止舞弊行為等優(yōu)點;實現(xiàn)了考試功能與教育評估和教育管理功能的高度結(jié)合;使考務(wù)工作自動化,保證出卷、考試和考生管理各階段有序地進行,使考試更趨于客觀、合理和公正。在線考試系統(tǒng)分為前臺和后臺兩個模塊,前臺主要用于考生注冊和登錄系統(tǒng)、在線考試以及退出登錄;后臺主要用于管理員對考生信息、考題信息、考生成績信息、考試套題和課程信息等進行管理。只
2、要考生通過自己的用戶名和密碼進入前臺,按步驟依次選題和答題,答題完畢后系統(tǒng)會自動判斷考卷并給出分數(shù)。在線考試系統(tǒng)以 Visual Studio 2005 作為主要開發(fā)工具,使用 C#作為編程開發(fā)語言,使用 SQL Server 2000 數(shù)據(jù)庫,是一個基于 B/S 架構(gòu)的系統(tǒng)。本文重點討論了在線考試系統(tǒng)的設(shè)計與實現(xiàn)方法,并指出了系統(tǒng)存在的不足和進一步改進的方向。關(guān)鍵詞:在線考試;VS 2005;SQL Server武漢科技大學(xué)本科畢業(yè)論文IIAbstractWith the deepening of the reform of education and the network popular
3、ization, the education mode is facing a huge change. Online education in the new teaching idea and teaching method provides an effective education plan. Online examination system can automatically control examination time, the system automatically score, effectively prevent fraud behavior etc, Reali
4、zing the function of education evaluation and examination with the education management function, To work out, ensure automated -study examination and the examinee management, each stage orderly, tend to be more objective and rational examination and justice.This system is divided into two modules,
5、front and back in front of the main used registered and logged examinee on-line exam system, and logged on, Mainly used for background information and questions administrator examinee information, the examinee scores of information, examination and course information, etc. If the examinee through th
6、eir user name and password to enter in front, according to the procedures and answer, answer selection system will automatically after the test scores and judgment.Based on Visual Studio 2005 as the main development tools, as a programming language developed using c #, combining the SQL Server 2000,
7、 develop a database based on B/S structure of online examination system were discussed, and the online exams page design and implementation of the system, and points out the problems and the direction of further improvement.Keywords:Online examination;VS 2005;SQL Server武漢科技大學(xué)本科畢業(yè)論文III目 錄1 緒論 .11.1 開
8、發(fā)的背景和意義.11.2 論文結(jié)構(gòu).12 系統(tǒng)需求分析 .22.1 需求分析.22.2 開發(fā)環(huán)境及工具.22.2.1 網(wǎng)站開發(fā)環(huán)境.22.2.2 服務(wù)器端和客戶端.23 系統(tǒng)概要設(shè)計 .33.1 系統(tǒng)目標.33.2 系統(tǒng)流程圖.43.3 系統(tǒng)功能結(jié)構(gòu).44 詳細設(shè)計 .74.1 數(shù)據(jù)庫設(shè)計.74.1.1 數(shù)據(jù)庫概要說明.74.1.2 數(shù)據(jù)庫概念設(shè)計.74.1.3 數(shù)據(jù)庫邏輯設(shè)計.84.1.4 公共類的編寫.104.2 網(wǎng)頁設(shè)計.154.2.1 網(wǎng)上考試系統(tǒng)登錄頁面.154.2.2 注冊頁面.184.2.3 在線考試頁面.204.2.4 后臺管理頁面.224.3 程序運行.295 結(jié)論 .30參
9、考文獻 .31致 謝 .32武漢科技大學(xué)本科畢業(yè)論文11 緒論緒論1.1 開發(fā)的背景和意義隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,現(xiàn)在很多國外的大學(xué)和社會其他部門都已經(jīng)開設(shè)了遠程教育,通過計算機網(wǎng)絡(luò)實現(xiàn)異地教育和培訓(xùn)?,F(xiàn)在,計算機硬件技術(shù)的發(fā)展已經(jīng)達到了相當高的水平。但是,遠程教育軟件的開發(fā)目前還處于起步階段,隨著這項技術(shù)的不斷深入發(fā)展,就要求有更好、更完善的軟件系統(tǒng)應(yīng)用到遠程教育當中去,這就給軟件設(shè)計人員提出了更高的設(shè)計要求。遠程教育包括很多環(huán)節(jié),例如教學(xué)系統(tǒng)、答疑系統(tǒng)和考試系統(tǒng)等等。其中很重要的一個環(huán)節(jié)就是在線考試系統(tǒng),同時它也是最難實現(xiàn)的環(huán)節(jié)??荚囀墙逃械囊粋€重要環(huán)節(jié)1??荚嚨哪康囊皇菫榱丝疾閷W(xué)生的知
10、識掌握情況,二是為教師提供教學(xué)分析的依據(jù)。傳統(tǒng)的考試由于涉及到組織命題、試卷印刷、考場安排、組織閱卷等諸多環(huán)節(jié),考試時間周期長、效率低下;同時人工披卷等主觀因素也影響到考試的公正性。隨著網(wǎng)絡(luò)技術(shù)在教育領(lǐng)域應(yīng)用的普及,應(yīng)用現(xiàn)代信息技術(shù)構(gòu)架的網(wǎng)絡(luò)在線考試系統(tǒng)展現(xiàn)出了越來越多的優(yōu)越性。網(wǎng)絡(luò)在線考試系統(tǒng)旨在探索一種以互聯(lián)網(wǎng)為基礎(chǔ)的考試模式。通過這一新的考試模式,為考試創(chuàng)造一種新的考試環(huán)境,提高考試工作效率和標準化水平,使考務(wù)管理突破時空限制,使考生可以隨時隨地通過網(wǎng)絡(luò)完成考試。網(wǎng)絡(luò)在線考試系統(tǒng)從根本上解決了傳統(tǒng)考試過程中工作量大、效率低、反饋周期長、資源浪費等缺陷,成為技術(shù)發(fā)展與研究的方向?!熬W(wǎng)上考試
11、系統(tǒng)”作為現(xiàn)代遠程教育的一部分,以 Internet 網(wǎng)絡(luò)作為載體,不受時間、科目和地域的限制,給考生、評卷人和出題者帶來巨大的便利,同時也使考試成為真正意義上的平等、公開。它可以杜絕試題泄露、評卷不公、考生作弊??忌梢栽谝?guī)定的期間內(nèi)選擇最佳狀態(tài)時期參加考試,系統(tǒng)會為每一個考生同樣的試卷,同時當場給出成績, 評卷人和出題者可以在世界任何一個地方進行試題結(jié)構(gòu)、試題內(nèi)容的維護和進行評卷工作1.2 論文結(jié)構(gòu)第一章:對網(wǎng)上考試系統(tǒng)的開發(fā)背景和意義進行闡述。第二章:對網(wǎng)上考試系統(tǒng)作出詳細的需求分析。第三章:會話通信程序的概要設(shè)計分析。第四章:會話通信程序的詳細設(shè)計分析。第五章:對整個系統(tǒng)的開發(fā)設(shè)計作出
12、總結(jié)。武漢科技大學(xué)本科畢業(yè)論文22 系統(tǒng)需求分析系統(tǒng)需求分析2.1 需求分析隨著計算機技術(shù)和互聯(lián)網(wǎng)的快速發(fā)展,人類已經(jīng)進入了信息時代,也有人稱為數(shù)字化時代。在數(shù)字化的網(wǎng)絡(luò)環(huán)境下,學(xué)生希望得到個性化的滿足,根據(jù)自己的情況進行學(xué)習,同時也希望能夠得到科學(xué)的評價;老師希望有效改進現(xiàn)有的考試模式,提高考試的效率;教育機構(gòu)也希望給網(wǎng)上的學(xué)生提供更全面、靈活的服務(wù),全面準確地對學(xué)生進行跟蹤和評價。網(wǎng)絡(luò)考試系統(tǒng)正是迎合這一時代需求而開發(fā)的,它旨在探索一種以互聯(lián)網(wǎng)為基礎(chǔ)的考試模式。通過這種新的模式,為學(xué)校創(chuàng)造一種新的考試環(huán)境,提高考試工作效率和標準化水平,是學(xué)校管理者、教師和學(xué)生可以隨時隨地通過網(wǎng)絡(luò)進行考試。
13、網(wǎng)絡(luò)考試系統(tǒng)的開發(fā)與應(yīng)用,避免了以往學(xué)校里考試紙張、筆、監(jiān)考和巡考等各種資源的浪費,并且后臺管理是管理員單一的管理,確保了程序的安全性。網(wǎng)絡(luò)考試系統(tǒng)管理員登錄后,對考試內(nèi)容、科目和考試題目等都作了詳細的分類,只要考生通過自己的用戶名和密碼進入前臺,按步驟依次進行選題和答題,答題完畢后系統(tǒng)會自動判斷考卷,并核對出最后考卷的分數(shù),解決了在學(xué)校考試后等待考卷分數(shù)通知的問題。2.2 開發(fā)環(huán)境及工具2.2.1 網(wǎng)站開發(fā)環(huán)境網(wǎng)站開發(fā)環(huán)境:Microsoft Visual Studio 2005 集成開發(fā)環(huán)境。網(wǎng)站開發(fā)語言:ASP.NET+C#。網(wǎng)站后臺數(shù)據(jù)庫:SQL Server 2000.開發(fā)環(huán)境運行平
14、臺:Windows XP/Windows 2000/Windows Server 2003。2.2.2 服務(wù)器端和客戶端操作系統(tǒng):Windows Server 2003Web 服務(wù)器:Internet 信息服務(wù)(IIS)管理器。數(shù)據(jù)庫服務(wù)器:SQL Server 2000.瀏覽器:IE 6.0。網(wǎng)站服務(wù)器運行環(huán)境:Microsoft .NET Framework 瀏覽器:Internet Explorer 6.0分辨率:最佳效果 1024768 像素 武漢科技大學(xué)本科畢業(yè)論文33 系統(tǒng)概要設(shè)計3.1 系統(tǒng)目標本程序是將傳統(tǒng)的考試模式與先進的網(wǎng)絡(luò)應(yīng)用相結(jié)合開發(fā)設(shè)計的。主要實現(xiàn)如下目標:1. 操作
15、簡單方便、界面簡潔美觀。2. 具有實時性,已注冊地用戶無論身在何地,通過 Internet 瀏覽器,都可登錄網(wǎng)絡(luò)考試系統(tǒng)。3. 具有嚴肅性和公正性,系統(tǒng)提供的自動交卷功能使考試到結(jié)束時間時,系統(tǒng)將自動交卷。4. 提供考試時間倒計時動能,讓考生隨時了解考試剩余時間。5. 系統(tǒng)自動交卷、閱卷,保證成績真實、準確。6. 對考生注冊信息進行管理。7. 系統(tǒng)運行穩(wěn)定、安全可靠。武漢科技大學(xué)本科畢業(yè)論文43.2 系統(tǒng)流程圖管理員在線考試選擇考試課程和套題開始考試提交試卷查看考試結(jié)果對考生信息、考試信息、管理員信息、考試套題信息和考試題目進行添加、修改、刪除等管理考生注 冊登錄留 言圖 3.1 網(wǎng)站的流程圖
16、3.3 系統(tǒng)功能結(jié)構(gòu)根據(jù)網(wǎng)上考試系統(tǒng)的特點,可以將其分為前臺和后臺兩個部分進行設(shè)計。前臺主要用于考生注冊和登錄系統(tǒng)、在線考試、留言以及退出登錄;后臺主要用于管理員對考生信息、考題信息、考生成績信息、考試套題和課程信息等進行管理。網(wǎng)上考試系統(tǒng)的前臺功能結(jié)構(gòu)圖如下所示:武漢科技大學(xué)本科畢業(yè)論文5在線考試網(wǎng)前臺系統(tǒng) 考生注冊考生/管理員登錄找回密碼在線考試留言板退出系統(tǒng)考試規(guī)則選擇考試課程套題開始考試考試結(jié)束 圖 3.2 網(wǎng)上考試系統(tǒng)前臺功能結(jié)構(gòu)圖網(wǎng)上考試系統(tǒng)的后臺功能結(jié)構(gòu)圖如下所示:武漢科技大學(xué)本科畢業(yè)論文6添加管理員在線考試網(wǎng)后臺系統(tǒng)管理員信息管理套題信息管理學(xué)生成績管理考試題目管理退出系統(tǒng)課程
17、信息管理注冊學(xué)生管理修改管理員刪除管理員添加課程刪除套題添加套題刪除課程添加題目刪除題目圖 3.3 網(wǎng)上考試系統(tǒng)后臺功能結(jié)構(gòu)圖武漢科技大學(xué)本科畢業(yè)論文74 詳細設(shè)計4.1 數(shù)據(jù)庫設(shè)計4.1.1 數(shù)據(jù)庫概要說明在程序開發(fā)過程中,數(shù)據(jù)庫設(shè)計師非常重要的一個環(huán)節(jié)。一個設(shè)計良好的數(shù)據(jù)庫結(jié)構(gòu),可以提高效率,方便維護,并且為以后進行功能的擴充留有余地。本網(wǎng)站采用 SQL Server 20002數(shù)據(jù)庫,名稱為 mydb,其中包含 6 張數(shù)據(jù)表:tb_Administator,tb_Lesson,tb_Questions,tb_Student,tb_StuResult,tb_Taoti.4.1.2 數(shù)據(jù)庫概
18、念設(shè)計通過對網(wǎng)站進行的需求分析、網(wǎng)站流程設(shè)計以及系統(tǒng)功能結(jié)構(gòu)的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫實體對象分別為“管理員信息” 、 “課程信息” 、 “套題信息” 、 “考生成績信息” 、 “用戶注冊信息”等。對網(wǎng)站進行有效地管理就要設(shè)置一個或多個管理員,管理員實體包括管理員編號、管理員姓名、管理員密碼和注冊時間??荚囂最}實體包括套題名稱、所屬課程、添加時間等屬性。管理員信息實體 E-R 圖3和考試套題實體 E-R 圖分別如下所示:管理員管理員編號管理員姓名管理員密碼注冊時間圖 4.1 管理員信息實體 E-R 圖考試套題套題名稱所屬課程添加時間圖 4.2 考試套題實體 E-R 圖考生信息實體包括用戶
19、名、密碼、電子郵件、密碼提示問題、密碼提示答案等屬性。實體 E-R 圖如下所示:武漢科技大學(xué)本科畢業(yè)論文8考生安全問題加入時間電子郵件用戶名密碼安全答案圖 4.3 管理員信息實體 E-R 圖4.1.3 數(shù)據(jù)庫邏輯設(shè)計根據(jù)在數(shù)據(jù)庫概念設(shè)計中給出的數(shù)據(jù)庫實體 E-R 圖,設(shè)計數(shù)據(jù)表結(jié)構(gòu)。管理員信息表用于保存管理員信息,tb_Administrator 表的結(jié)構(gòu)如下表所示:表 4.1 tb_Administrator 表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度默認值允許空字段描述IDbigint8否唯一標識Namevarchar50否管理員名稱PWDvarchar50否管理員密碼JoinTimedatetime8
20、Getdate()是加入時間 考生課程信息表用于保存課程信息,tb_Lesson 表的結(jié)構(gòu)如下所示:表 4.2 tb_Lesson 表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度默認值允許空字段描述IDbigint8否唯一標識NameVarchar60是課程名稱JoinTimeDatetime8Getdate()是添加時間注冊考生信息表用于保存在網(wǎng)站注冊的考生信息,tb_Student 表的結(jié)構(gòu)如下所示:表 4.3 tb_Student 表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度默認值允許空字段描述武漢科技大學(xué)本科畢業(yè)論文9IDBigint8否唯一標識UserNameVarchar20是用戶名PWDVarchar20是密碼E
21、mailVarchar20是電子郵件QuestionVarchar20是密碼問題AnswerVarchar20是密碼答案JoinTimedatetime8Getdate()是加入時間考試套題信息表用于保存課程所對應(yīng)的套題信息,tb_Taoti 表的結(jié)構(gòu)如下所示:表 4.4 tb_Taoti 表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度默認值允許空字段描述IDBigint8否唯一標識NameVarchar50是套題名稱LessonIDBigint8是所屬課程號JoinTimeDatetime8Getdate()是添加時間考生成績信息表用于保存考生的考試成績,tb_StuResult 表的結(jié)構(gòu)如下所示:表 4.5
22、 tb_StuResult 表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度默認值允許空字段描述Res_IDBigint8否唯一標識Stu_IDvarchar50是用戶名Which_Lessonvarchar50是所屬課程名稱taotiidBigint8是所屬套題編號taotiNamevarchar50是所屬套題名稱Res_singleInt4是單選成績Res_moreInt4是多選成績Res_totalInt4是總成績Res_subdatedatetime8Getdate()是成績提交時間考試題目信息表用于保存各套題中所包含的詳細考試題目,tb_Questions 表的結(jié)構(gòu)如下所示:表 4.6 tb_Quest
23、ions 表的結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度默認值允許空字段描述武漢科技大學(xué)本科畢業(yè)論文10IDBigint8否唯一標識Que_subjectVarchar50是考試題目Que_typeChar10是題目類型Que_joindateDatetime8Getdate()是添加時間Que_lessonidInt4是所屬課程號Que_taotiidBigint8是所屬套題號OptionAVarchar50是選項 AOptionBVarchar50是選項 BOptionCVarchar50是選項 COptinDVarchar50是選項 DQue_answerchar10是正確答案4.1.4 公共類的編寫在網(wǎng)
24、站開發(fā)項目中通常以類的形式來組織、封裝一些常用的方法和事件,公共類的編寫可以減少重復(fù)代碼的編寫,有利于代碼維護,在編程過程中可以起到事半功倍的效果。網(wǎng)上考試系統(tǒng)中創(chuàng)建了一個公共類 Datacon,在此公共類中共創(chuàng)建了 6 各方法,具體如下:1. getcon:用來連接在線考試網(wǎng)的數(shù)據(jù)庫,類型為 SqlConnection4。2. eccom:用于執(zhí)行對數(shù)據(jù)庫操作的 SQL 語句命令,如刪除操作命令、修改操作命令等。3. ecadabind:用于將數(shù)據(jù)庫數(shù)據(jù)綁定到表格控件中。4. ecDropDownList5:用于將數(shù)據(jù)綁定到下拉列表框中。5. ecadabindinfostring:用于將數(shù)
25、據(jù)庫數(shù)據(jù)綁定到表格控件中,并獲取數(shù)據(jù)表中的主鍵字段。6. ExceRead:用于讀取數(shù)據(jù)庫中數(shù)據(jù),返回一個 SqlDataReader。1.數(shù)據(jù)庫連接的方法數(shù)據(jù)庫連接的方法在此公共類中編寫了一個 getcon()方法,該方法用來連接數(shù)據(jù)庫,類型為SqlConnection。代碼如下:public SqlConnection getcon() /定義數(shù)據(jù)庫連接字符串 string strCon = Data Source=(local);DataBase=db_Examination;User ID=sa;PWD=sa; /創(chuàng)建一個新的數(shù)據(jù)庫連接 SqlConnection sqlCon = n
26、ew SqlConnection(strCon); /返回SqlConnection類型的值 return sqlCon;武漢科技大學(xué)本科畢業(yè)論文11 2.2.執(zhí)行數(shù)據(jù)庫操作命令的方法執(zhí)行數(shù)據(jù)庫操作命令的方法在 eccom6方法中,首先傳一個 SQL 語句,然后與 SQL Server 數(shù)據(jù)庫建立連接 ,應(yīng)用 SqlCommand 對象執(zhí)行所傳進來的 SQL 語句,最后應(yīng)用 try-catch-finally 語句進行異常處理,如果執(zhí)行該 SQL 語句則返回 true,反之則返回 false。代碼如下:public bool eccom(string sqlstr) SqlConnection
27、 con=this.getcon(); con.Open(); SqlCommand mycommand=new SqlCommand(sqlstr,con); try mycommand.ExecuteNonQuery(); return true; catch return false; finally /關(guān)閉數(shù)據(jù)庫連接 con.Close(); 注釋:1. SqlConnection 類:SQL Server 數(shù)據(jù)庫一個打開的連接。2. SqlConnection.Open 方法:用于打開數(shù)據(jù)庫連接。3. SqlCommand 類:要對 SQL Server 數(shù)據(jù)庫執(zhí)行的一個 SQL 語
28、句或存儲過程。4. Sqlcommand.ExecuteNonQuery 方法:對連接執(zhí)行 SQL 語句并返回受影響的行數(shù)。3.將數(shù)據(jù)綁定到表格控件的方法將數(shù)據(jù)綁定到表格控件的方法在公共類中為了實現(xiàn)該方法,編寫了一個 ecadabind(GridView gv,string sqlstr4)方法,用來執(zhí)行 SQL 語句,返回類型為 bool 型。該方法主要是執(zhí)行SqlDataAdapter 中的語句,并將其綁定到 GridView 控件上,相應(yīng)功能執(zhí)行成功后返回true,否則返回 false。代碼如下:public bool ecadabind(GridView gv,string sqlst
29、rl4) /定義新的數(shù)據(jù)庫連接 SqlConnection con = this.getcon(); /打開數(shù)據(jù)庫連接 con.Open();武漢科技大學(xué)本科畢業(yè)論文12 /定義并初使化數(shù)據(jù)適配器 SqlDataAdapter mydataadapter7 = new SqlDataAdapter(sqlstrl4,con); /創(chuàng)建一個數(shù)據(jù)集mydataset DataSet mydataset = new DataSet(); /將數(shù)據(jù)適配器中的數(shù)據(jù)填充到數(shù)據(jù)集中 mydataadapter.Fill(mydataset); /將此數(shù)據(jù)集作為表格控件的數(shù)據(jù)源 gv.DataSource=m
30、ydataset; try /綁定數(shù)據(jù)庫中數(shù)據(jù) gv.DataBind(); /返回這個數(shù)據(jù)集 return true; catch return false; finally /關(guān)閉數(shù)據(jù)庫連接 con.Close(); 4.將數(shù)據(jù)綁定到下拉列表框的方法將數(shù)據(jù)綁定到下拉列表框的方法將數(shù)據(jù)綁定到下拉列表框中主要應(yīng)用了公共類中的 ecDropDownList(DropDownList DDL,string sqlstr3,string DTF,string DVF)方法。該方法首先傳了 4 個值,分別為 DropDownList 控件、SQL 語句、列表項提供的內(nèi)容字段和列表項提供值;然后與 SQ
31、L Server 數(shù)據(jù)庫建立連接,應(yīng)用 SqlDataAdapter 對象填充數(shù)據(jù)集并指定 DropDownList 控件的數(shù)據(jù)源;最后設(shè)置列表項提供的內(nèi)容字段和列表項提供值所綁定的數(shù)據(jù)源,應(yīng)用 try-catch-finally 語句進行異常處理,如果DropDownList 控件執(zhí)行 DataBind 方法返回 true,反之則返回 false。代碼如下:public bool ecDropDownList(DropDownList DDL, string sqlstr3, string DTF, string DVF) /創(chuàng)建數(shù)據(jù)庫連接 SqlConnection con = this.
32、getcon(); /打開數(shù)據(jù)庫連接 con.Open(); /定義并初使化數(shù)據(jù)適配器 SqlDataAdapter mydataadapter = new SqlDataAdapter(sqlstr3,con);武漢科技大學(xué)本科畢業(yè)論文13 /創(chuàng)建一個數(shù)據(jù)集mydataset DataSet mydataset = new DataSet(); /將數(shù)據(jù)適配器中的數(shù)據(jù)填充到數(shù)據(jù)集中 mydataadapter.Fill(mydataset); DDL.DataSource = mydataset; DDL.DataTextField = DTF9; DDL.DataValueField =
33、DVF; try DDL.DataBind(); return true; catch return false; finally /關(guān)閉數(shù)據(jù)庫連接 con.Close(); 5.5.在表格控件中獲取數(shù)據(jù)主鍵字段的方法在表格控件中獲取數(shù)據(jù)主鍵字段的方法在表格控件中獲取數(shù)據(jù)主鍵字段的方法,主要應(yīng)用了公共類中的ecadabindinfostring(GridView gv,string sqlstr5,string DNK)方法,該方法與ecadabind 方法類似。該方法用來執(zhí)行 SQL 語句,返回類型為 bool 型,主要是執(zhí)行 SqlDataAdapter 中的語句,并將其綁定到 GridV
34、iew 控件上顯示其主鍵字段的名稱,相應(yīng)功能執(zhí)行成功后返回 true,否則返回 false。代碼如下:public bool ecadabindinfostring(GridView gv,string sqlstr5,string DNK) /通過調(diào)用公共類中g(shù)etcon方法,創(chuàng)建一個新的數(shù)據(jù)庫連接對象 SqlConnection con = this.getcon(); /打開數(shù)據(jù)庫連接 con.Open(); /定義并初使化數(shù)據(jù)適配器 SqlDataAdapter mydataadapter = new SqlDataAdapter(sqlstr5,con); /創(chuàng)建一個數(shù)據(jù)集mydat
35、aset DataSet mydataset = new DataSet(); /將數(shù)據(jù)適配器中的數(shù)據(jù)填充到數(shù)據(jù)集中 mydataadapter.Fill(mydataset);武漢科技大學(xué)本科畢業(yè)論文14 gv.DataSource=mydataset; gv.DataKeyNames = new string DNK ; try gv.DataBind(); return true; catch return false; finally con.Close(); 6.6.數(shù)據(jù)讀取的方法數(shù)據(jù)讀取的方法數(shù)據(jù)讀取方法主要應(yīng)用到了公共類中的 ExceRead 方法。首先調(diào)用公共類中的getcon
36、 方法創(chuàng)建一個新的數(shù)據(jù)庫連接對象,接著創(chuàng)建一個 SqlCommand 命令對象,然后應(yīng)用該命令對象的 ExecuteReader 方法創(chuàng)建一個數(shù)據(jù)閱讀器,用來讀取數(shù)據(jù)庫中的數(shù)據(jù),最后返回一個 SqlDataReader 類對象。代碼如下:public SqlDataReader ExceRead(string SqlCom) /通過調(diào)用公共類中g(shù)etcon方法,創(chuàng)建一個新的數(shù)據(jù)庫連接對象 SqlConnection con = this.getcon(); con.Open(); /創(chuàng)建一個SqlCommand對象,表示要執(zhí)行的SqlCom語句或存儲過程 SqlCommand sqlcom =
37、 new SqlCommand(SqlCom, con); /創(chuàng)建一個數(shù)據(jù)閱讀器,用來讀取數(shù)據(jù)庫中數(shù)據(jù) SqlDataReader read = sqlcom.ExecuteReader(); return read; 4.2 網(wǎng)頁設(shè)計4.2.1 網(wǎng)上考試系統(tǒng)登錄頁面考生和管理員需要通過登錄頁面進入在線考試網(wǎng)。考生在登錄在線考試網(wǎng)之前,首先需要通過登錄頁面進行注冊。為了防止考生忘記密碼,提供了密碼找回功能。在線考試網(wǎng)登錄頁面的運行效果如下所示:武漢科技大學(xué)本科畢業(yè)論文15圖 4.4 網(wǎng)上考試系統(tǒng)登錄主頁面很多情況下,考生會將密碼遺忘或丟失,這樣就無法登錄自己的學(xué)生賬號,為了避免造成不必要的損失
38、,所以設(shè)計了找回密碼的功能。找回密碼主要分為 3 個頁面來完成。頁面 1(Findpwd.aspx):輸入已注冊的用戶名;頁面 2(Findpwdd.aspx):系統(tǒng)會根據(jù)輸入的用戶名把相應(yīng)的密碼問題列出來,然后由考生輸入問題答案;頁面 3(returnpwd.aspx):如果問題答案正確,則成功找回密碼。實現(xiàn)代碼:編寫后臺代碼,在 Page_Load 事件中,首先調(diào)用隨機驗證碼10,應(yīng)用驗證碼技術(shù)可以防止用戶惡意注冊。其事件代碼如下:protected void Page_Load(object sender, EventArgs e) SessionStuName = this.txtUs
39、erName.Text; if (!IsPostBack) /判斷是否首次加載 /調(diào)用隨機驗證碼方法 Random rnd = new Random(); this.labValidate.Text = rnd.Next(1000, 9999).ToString(); 在處理登錄頁面提交的數(shù)據(jù)時,首先會根據(jù)“管理員登錄”復(fù)選框的值來判斷是武漢科技大學(xué)本科畢業(yè)論文16否登錄管理員頁面,如果該復(fù)選框被選中則執(zhí)行核對用戶名、密碼和驗證碼而進入管理員頁面,否則進入考生頁面。輸入完相關(guān)的用戶名、密碼和驗證碼后,單擊“確定”按鈕,提交登錄信息。代碼如下:protected void btnLogin_Cl
40、ick(object sender, EventArgs e) /判斷驗證碼是否有誤 if(txtValidate.Text!=labValidate.Text) Response.Write(alert(驗證碼有誤!);location=javascript:history.go(-1); else /判斷是否是管理員登錄,如果是則調(diào)用getcom方法中的條件1 if(cblAdminLog.Items0.Selected=true) getcom(1); /非管理員登錄,調(diào)用getcom方法中條件2 else getcom(2); 調(diào)用自定義方法 getcom,判斷是管理員還是考生:pri
41、vate void getcom(int i) /打開數(shù)據(jù)庫連接,并調(diào)用公共類中的getcon方法 SqlConnection con=dataconn.getcon(); /打開數(shù)據(jù)庫連接 con.Open(); /創(chuàng)建一個新的SqlCommand實例對象 SqlCommand com=con.CreateCommand(); switch(i) case 1: com.CommandText=select count(*) from tb_Administrator where Name=+this.txtUserName.Text+and PWD=+this.txtPwd.Text+;
42、/獲取SQL語句的值強制轉(zhuǎn)換成數(shù)值類型 int count1=Convert.ToInt32(com.ExecuteScalar(); /判斷數(shù)據(jù)庫中是否存在數(shù)據(jù)武漢科技大學(xué)本科畢業(yè)論文17 if(count10) ApplicationName=txtUserName.Text; ApplicationPWD=txtPwd.Text; 如果登錄成功,則跳轉(zhuǎn)到管理員頁面 Page.Response.Redirect(houtai_Default.aspx); else /如果登錄失敗,則彈出錯誤信息 Response.Write(alert(用戶名或密碼有誤!);location=javasc
43、ript:history.go(-1); break; case 2: /設(shè)置SqlCommand命令對象的Text文本屬性 com.CommandText=select count(*)from tb_Student where UserName=+txtUserName.Text+and PWD=+txtPwd.Text+; /定義一個int型變量count2,并返回所查詢數(shù)據(jù)表的第一行第一列 int count2=Convert.ToInt32(com.ExecuteScalar(); if(count20) /應(yīng)用Application對象保存用戶ID及密碼 ApplicationUs
44、erName=txtUserName.Text; ApplicationPWD=txtPwd.Text; 頁面跳轉(zhuǎn)至在線考試頁 Page.Response.Redirect(shouye.aspx); else Response.Write(alert(用戶名或密碼有誤!);location=javascript:history.go(-1); return; break; 4.2.2 注冊頁面要進入在線考試系統(tǒng),考生首先需要注冊一個用戶名。單擊在線考試系統(tǒng)登錄頁中的“注冊” ,進入考生注冊頁面。在注冊頁面中輸入考生的基本信息,包括用戶名、密碼、密碼問題、問題答案、電子郵件等??忌皂撁娴倪\
45、行效果如下圖所示:武漢科技大學(xué)本科畢業(yè)論文18圖 4.5 網(wǎng)上考試系統(tǒng)考生注冊頁面另外,考生注冊頁應(yīng)用了 AJAX11無刷新檢測用戶名的技術(shù)。AJAX 為 Asynchronous JavaScript and XML 的縮寫,用來描述一組技術(shù)的集合,囊括 Java 技術(shù)、XML 以及 JavaScript 的編程技術(shù),可以構(gòu)建基于 Java 技術(shù)的 web 應(yīng)用,并打破了使用頁面重載的慣例。AJAX,異步 Javascript 與 XML,是使用客戶端腳本與 Web12服務(wù)器交換數(shù)據(jù)的Web 應(yīng)用開發(fā)方法。通過 AJAX,Web 頁面不用打斷交互流程就可以進行重新加載,從而實現(xiàn)動態(tài)更新。使用
46、 AJAX,可以創(chuàng)建類似本地桌面 Windows 應(yīng)用程序。為了防止注冊的用戶名重復(fù),可以通過單擊“檢測注冊號”按鈕進行檢測。如下圖所示,考生輸入注冊的用戶名后通過檢測顯示在數(shù)據(jù)庫中無此號,可以注冊。圖 4.6 檢測用戶名可以使用武漢科技大學(xué)本科畢業(yè)論文19檢測完考生注冊的用戶名,并在注冊頁面中輸入正確的信息后,如下圖所示,單擊“提交”按鈕,如果注冊成功就將會顯示“注冊成功” ,并跳轉(zhuǎn)至登錄主頁面。圖 4.7 網(wǎng)上考試系統(tǒng)登錄主頁面圖 4.8 網(wǎng)上考試系統(tǒng)注冊成功4.2.3 在線考試頁面考生在線答卷時首先需要選擇套題,系統(tǒng)需要根據(jù)考生提交的課程和套題信息從數(shù)據(jù)庫中獲取相應(yīng)題目,然后通過 Dat
47、aList13控件顯示出來。課程和套題信息是通過Application 變量從上一頁中獲取的。1.Application 對象對象14Application 對象可稱之為記錄應(yīng)用程序參數(shù)的對象。Application 對象是 HttpApplicationState 類的一個實例,它可以生成一個所有 Web武漢科技大學(xué)本科畢業(yè)論文20應(yīng)用程序都可以存取的變量。這個變量的使用范圍涵蓋全部使用者,只要正在使用這個網(wǎng)頁的程序都可以存取這個變量。每個 Application 對象變量都是 Application 集合中的對象之一,由 Application 對象統(tǒng)一管理。使用 Application
48、對象的相關(guān)語法如下:Application“變量”=”變量內(nèi)容”;Application(“對象名”)=Server.CreateObject(Progld)一個網(wǎng)站可以有不止一個 Application 對象。典型情況下,可以針對個別任務(wù)的一些文件創(chuàng)建個別個 Application 對象。例如,可以建立一個 Application 對象來適用全部公用用戶,而再創(chuàng)建另外一個只適用于網(wǎng)絡(luò)管理員的 Application 對象2.Session 對象對象Session 對象可稱之為記錄瀏覽器端的變量對象。Session 對象是 HttpSessionState 類的一個實例,其功能和 Applic
49、ation 對象類似,都是用來存儲跨網(wǎng)頁程序的變量或者對象,但 Session 對象和 Application 對象有些特性存在著差異。Session 對象只針對單一網(wǎng)頁使用者,也就是說各個連接的機器都有各自的 Session 對象,不同的客戶端無法互相存取。Application 對象中止于停止 IIS 服務(wù)時,而 Session 對象中止于聯(lián)機機器離線時,也就是當網(wǎng)頁使用者關(guān)掉瀏覽器或超過設(shè)定的Session 變量的有效時間時,Session 對象就會消失。Session 對象和 Application 對象一樣都是 Page 對象的成員,因此可直接在網(wǎng)頁中使用。使用 Session 對象
50、存放信息的語法如下:Session“變量名”=”內(nèi)容”;從會話中讀取信息的語法如下:VariablesName=Session“變量名”;Session 對象是與特定用戶相聯(lián)系的。針對某一個用戶賦值的 Session 對象是和其他用戶的 Session 對象完全獨立的,不會相互影響。換句話說,這里面針對每一個用戶保存的信息是每一個用戶自己獨享的,不會產(chǎn)生共享情況。在線考試頁的主要功能是允許考生在網(wǎng)站 上針對指定的課程和套題進行考試。在該頁中,考試首先需要閱讀考試規(guī)則,然后選擇考試課程和套題;最后進入考試頁面進行答題,如下圖所示。當考生提交試卷或者到達考試結(jié)束時間時,系統(tǒng)將自動對考生提交的試卷進
51、行評分,并給出最終考試成績。武漢科技大學(xué)本科畢業(yè)論文21圖 4.9 考試規(guī)則圖 4.10 選擇考試課程和套題武漢科技大學(xué)本科畢業(yè)論文22圖 4.11 考試頁面4.2.4 后臺管理頁面首先介紹一下 SQL Server 試圖方面的技術(shù)分析。1. 視圖的概述視圖的概述15視圖時用戶用來查看數(shù)據(jù)庫表中數(shù)據(jù)的一種常用方式,其作用相當于一個虛擬表。當一些用戶需要經(jīng)常訪問數(shù)據(jù)表中某些字段構(gòu)成的數(shù)據(jù),但從安全角度考慮,又不希望直接接觸數(shù)據(jù)表時,可以利用視圖這一數(shù)據(jù)對象。視圖不是數(shù)據(jù)表,它僅是一些SQL 查詢語句的集合,使用時按照不同的要求從數(shù)據(jù)表中提取不同的數(shù)據(jù)。視圖猶如數(shù)據(jù)表的窗戶,管理員定義這些“窗戶”
52、的位置后,用戶通過它可以瀏覽表中的部分或全部數(shù)據(jù),視圖中數(shù)據(jù)的物理存放位置在數(shù)據(jù)庫的表中,這些表一般稱為視圖的基表。2. 視圖的創(chuàng)建視圖的創(chuàng)建在 SQL Server 中創(chuàng)建視圖有 3 種方法:使用創(chuàng)建視圖向?qū)?、企業(yè)管理器或在查詢分析器里執(zhí)行 CREATE VIEW 語句。這里主要介紹在查詢分析器里執(zhí)行 CREATE VIEW 語句。語法格式如下:CREATE VIEW 視圖名(視圖列名 1,視圖列名 2,視圖列名 n)武漢科技大學(xué)本科畢業(yè)論文23對包含 CREATE VIEW 語句的文本加密WITH ENCRYPTIONASSELECT 語句表示對視圖所有數(shù)據(jù)執(zhí)行修改操作都必須遵守定義視圖
53、SELECT 語句的WHERE 字句所指定的條件WITH CHECK OPTION在后臺管理中,有很多信息需要刪除,刪除信息的代碼如下16:protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) GridView1.PageIndex = e.NewPageIndex; /調(diào)用公共類中的ecadabind方法, dataconn.ecadabind(GridView1, Select * From tb_Administrator Where + DropDownList1.Selec
54、tedValue + Like % + AdminUserName.Text + %); protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) e.Row.Cells2.Text = Convert.ToString(Convert.ToDateTime(e.Row.Cells2.Text).ToShortDateString(); if (e.Row.RowType = DataControlRow
55、Type.DataRow) (LinkButton)(e.Row.Cells4.Controls0).Attributes.Add(onclick, return confirm(確定刪除嗎?); protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) /調(diào)用公共類中的eccom方法,刪除管理員信息 dataconn.eccom(delete from tb_Administrator where ID= + GridView1.DataKeyse.RowIndex.Value + ); Pa
56、ge.Response.Redirect(houtai_Default.aspx); 武漢科技大學(xué)本科畢業(yè)論文24后臺管理頁面主要包括管理員信息管理、注冊學(xué)生管理、課程信息管理、套題信息管理、學(xué)生成績管理、考試題目管理、退出系統(tǒng) 7 個模塊。管理員信息模塊主要是對管理員進行管理,包括添加、刪除管理員以及修改管理員密碼等。 圖 4.12 管理員信息管理頁面注冊學(xué)生管理模塊用于管理員管理注冊地考生,他們可以通過關(guān)鍵字查詢某一個學(xué)生,也可以刪除某一個學(xué)生。武漢科技大學(xué)本科畢業(yè)論文25圖 4.13 注冊學(xué)生信息管理頁面課程信息管理模塊主要用來添加和刪除課程。添加課程時,只需要在文本框中直接輸入名稱即可
57、,然后進行添加操作。代碼如下:圖 4.14 課程信息管理頁面考試套題管理頁的主要功能包括對考試套題進行添加、查詢、修改和刪除操作。添加考試套題信息時,需要首先在文本框中輸入所添加的套題名稱,并在下拉列表框武漢科技大學(xué)本科畢業(yè)論文26中選擇所屬課程名,然后再進行添加操作;在考試套題信息列表頁面中,可以通過選擇不同德 查詢條件(如套題名稱和所屬課程)并輸入相應(yīng)的關(guān)鍵字,來實現(xiàn)查詢操作;根據(jù)實際需要,還可以實時更新考試套題中的詳細信息或者刪除考試套題??荚囂最}管理頁面的運行效果如下圖所示:圖 4.15 套題信息管理頁面在考試套題信息“查詢”按鈕事件中主要應(yīng)用到了 SQL Server 視圖數(shù)據(jù)處理技
58、術(shù),該頁創(chuàng)建的視圖名為 kecheng_taoti_view,建立該視圖的目的主要是從 tb_Lesson和 tb_Taoti 兩張表中檢索出包括套題名稱、所屬課程和加入時間的信息。代碼如下:protected void Button1_Click(object sender, EventArgs e) if (TextBox1.Text = ) dataconn.ecadabindinfostring(GridView1, select * from tb_Taoti ORDER BY ID DESC, ID); else dataconn.ecadabind(GridView1, Sele
59、ct * From kecheng_taoti_view Where + DropDownList1.SelectedValue + Like % + TextBox1.Text + %);武漢科技大學(xué)本科畢業(yè)論文27 圖 4.16 學(xué)生成績管理頁面 考試題目管理頁的主要功能包括對考試題目進行添加、查詢、修改和刪除操作。添加考試題目信息時,需要選擇所屬的考試專業(yè)、課程和套題;在考試題目信息列表頁面中,可以通過選擇不同的查詢條件(例如,考題類型、所屬課程、所屬套題和加入時間)并輸入相應(yīng)的關(guān)鍵字,來實現(xiàn)查詢操作;根據(jù)實際需要,還可以實時更新考試題目中的詳細信息或者刪除考試題目。在添加考試題目時,需
60、要考慮該考試屬于哪門課程、哪一套題,然后單擊頁面中的“提交”按鈕,進行考試試題的添加。題目插入的代碼如下:protected void Button1_Click1(object sender, EventArgs e) if (this.TextBox1.Text != ) SqlConnection con = dataconn.getcon(); con.Open(); string sqlstr1 = select count(*) from tb_Questions where Que_subject= + TextBox1.Text.ToString() + ; SqlComman
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園中班心理健康之微笑教育
- 口腔護理新手培訓(xùn)課件
- 論文的英文標紅怎么處理
- 教師心理健康教育方案
- 中班養(yǎng)成教育:如廁習慣培養(yǎng)
- 早產(chǎn)兒護理疑難病例討論
- 瑪麗艷產(chǎn)品課件
- 洗胃的禁忌癥及護理常規(guī)
- 誘導(dǎo)透析健康宣教
- 柴油單軌吊培訓(xùn)課件
- 2022年河南項城市事業(yè)單位引進緊缺高層次人才16名筆試備考題庫及答案解析
- 社會醫(yī)學(xué)-健康治理(終)
- 2023年無錫宜興市小升初英語考試模擬試題及答案解析
- 沃爾瑪收貨規(guī)定
- 2022年丹東市元寶區(qū)社區(qū)工作者招聘筆試題庫及答案解析
- 小學(xué)道德與法治人教五年級上冊(統(tǒng)編)第三單元我們的國土我們的家園-愛國教案
- 藝術(shù)欣賞完整版課件全套ppt教程(最新)
- GB∕T 2518-2019 連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 土地項目測算表_模板
- 教育培訓(xùn)機構(gòu)輔導(dǎo)老師月度績效考核表(KPI)
- 立式水輪機組軸線調(diào)整及導(dǎo)軸承的間隙分配ppt課件
評論
0/150
提交評論