畢業(yè)論文---學(xué)生選課系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)綜合實(shí)踐</b></p><p>  課題名稱: 學(xué)生選課系統(tǒng) </p><p>  作 者: 學(xué) 號(hào): </p><p>  分 院: 電子信息工程系 </p>

2、<p>  專 業(yè): </p><p>  指導(dǎo)老師: </p><p>  2010年 3 月 10 日</p><p><b>  課 題 摘 要</b></p>&l

3、t;p>  隨著在校大學(xué)生的不斷增加,學(xué)生選課系統(tǒng)也是學(xué)校對(duì)學(xué)生管理中不可缺少的一部分。以往的選課方法是使用人工的方法管理文件檔案,這種管理方式存在許多的缺點(diǎn):效率低、保密差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)已經(jīng)進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,實(shí)用技術(shù)絕對(duì)選課信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:查找方便

4、、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。</p><p>  本文通過(guò)分析瀏覽器/服務(wù)器結(jié)構(gòu)的特點(diǎn)并結(jié)合選課的實(shí)際情況簡(jiǎn)單的介紹了系統(tǒng)各功能模塊及數(shù)據(jù)庫(kù)的設(shè)計(jì),著重討論了用ASP.NET技術(shù)和SQL Server 2005 開(kāi)發(fā)選課系統(tǒng)的數(shù)據(jù)庫(kù)的訪問(wèn)技術(shù)和動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),并給出了一些可以實(shí)現(xiàn)的核心代碼。通過(guò)該系統(tǒng),使學(xué)生可以很方便的在校園網(wǎng)上進(jìn)行網(wǎng)上選課。該系統(tǒng)在Windows XP系統(tǒng)和VS2005

5、平臺(tái)下開(kāi)發(fā)完成,使用C#作為ASP.NET的開(kāi)發(fā)語(yǔ)言,SQL Server 2005作為數(shù)據(jù)庫(kù)。系統(tǒng)有較高的安全性和較好的性能。其中連接數(shù)據(jù)庫(kù)的字符串可以隨時(shí)在web.config里修改。代碼盡量使用了存儲(chǔ)過(guò)程和盡量減少了數(shù)據(jù)庫(kù)連接打開(kāi)的時(shí)間來(lái)提高性能。</p><p>  本文除了有對(duì)程序的系統(tǒng)分析、總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、功能實(shí)現(xiàn)等主體部分外,還介紹了ASP.NET和數(shù)據(jù)庫(kù)的結(jié)合的基本內(nèi)容。</p>

6、<p>  關(guān)鍵詞:學(xué)生選課、 瀏覽器/服務(wù)器、 ASP.NET、VS 2005、 SQL Server 2005數(shù)據(jù)管理系統(tǒng)</p><p><b>  Abstract</b></p><p>  With the continuous increase in college students, students in schools of stud

7、ents elective system is also an integral part of management. Previous elective method is to use artificial methods to manage file archives, this management approach has many disadvantages: low efficiency, poor security,

8、while over time, will generate a large number of documents and data, which for finding, updating and maintenance of bring a lot of difficulties. With the continuous improvement of science and technology,</p><p

9、>  This paper analyzes the browser / server structure is characterized by combining the actual situation of elective a brief introduction of the system of functional modules and database design, focused on using ASP.N

10、ET technology and SQL Server 2005 Developer elective system, access to the database technology and dynamic web production techniques, and give some of the core code can be achieved. Through the system so that students ca

11、n easily online Online Course on campus. The system is Windows XP </p><p>  This addition to the program's system analysis, overall design, database design, function and so the main part of the implement

12、ation, but also describes the combination of ASP.NET and database elements. Keywords: Student elective, browser / server, ASP.NET, VS 2005, SQL Server 2005 database management system</p><p><b>  目 錄&l

13、t;/b></p><p><b>  第一章 引言4</b></p><p>  1.1課題研究目的4</p><p>  1.2 課題研究的意義4</p><p>  第二章 系統(tǒng)分析與總體設(shè)計(jì)5</p><p><b>  2.1系統(tǒng)分析5</b>&

14、lt;/p><p>  2.2系統(tǒng)設(shè)計(jì)構(gòu)架5</p><p>  第三章 數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)6</p><p>  3.1數(shù)據(jù)庫(kù)需求分析6</p><p>  3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)7</p><p>  3.3數(shù)據(jù)表的設(shè)計(jì)8</p><p>  第四章 公共類與公共頁(yè)面設(shè)計(jì)11&

15、lt;/p><p>  4.1 Web.config頁(yè)面設(shè)計(jì)11</p><p>  4.2 數(shù)據(jù)庫(kù)連接操作類—Db類11</p><p>  4.3 工具類MyUtility類12</p><p>  4.4 錯(cuò)誤信息類和錯(cuò)誤顯示頁(yè)面13</p><p>  第五章 系統(tǒng)說(shuō)明書(shū)13</p><

16、;p>  5.1系統(tǒng)界面說(shuō)明13</p><p>  5.1.1登錄界面13</p><p>  5.1.2學(xué)生選課界面14</p><p>  5.1.3學(xué)生查看選課界面15</p><p>  5.2系統(tǒng)登錄及瀏覽權(quán)限說(shuō)明16</p><p>  第六章 總結(jié)17</p><

17、p><b>  參考文獻(xiàn)18</b></p><p><b>  致 謝19</b></p><p><b>  第一章 引言</b></p><p><b>  1.1課題研究目的</b></p><p>  1.掌握采用Internet

18、的TCP/IP協(xié)議,以B/S方式,ASP.NET編程技術(shù),多媒體技術(shù)。</p><p>  2.掌握一種多任務(wù)多用戶操作系統(tǒng)</p><p>  3.ASP.NET的動(dòng)態(tài)網(wǎng)頁(yè)編程技術(shù)和SQL Server2005大型的數(shù)據(jù)庫(kù)。</p><p>  4.學(xué)會(huì)使用VS2005開(kāi)發(fā)工具。</p><p>  5.培養(yǎng)相互合作的精神。</p&

19、gt;<p>  1.2 課題研究的意義</p><p>  學(xué)生選課系統(tǒng)是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠?lái)人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。</p&g

20、t;<p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。</p><p>  作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)選課信息進(jìn)行管理,有著手工管理所無(wú)法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接

21、軌的重要條件。</p><p>  因此,開(kāi)發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開(kāi)發(fā)學(xué)生選課系統(tǒng)為例,談?wù)勂溟_(kāi)發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。</p><p>  本文中所做的主要工作如下:</p><p>  介紹了個(gè)性化頁(yè)面的背景及Windows XP+IIS+ASP.NET系統(tǒng)的一般原理;</p><p>  闡述

22、整個(gè)個(gè)性化頁(yè)面生成系統(tǒng)的系統(tǒng)結(jié)構(gòu)及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)和重點(diǎn)。</p><p>  設(shè)計(jì)實(shí)現(xiàn)用戶管理、課程管理、選課信息錄入管理、課程的瀏覽和查找、學(xué)生查找等ASP.NET頁(yè)面 。</p><p>  分析并解決實(shí)現(xiàn)中的若干技術(shù)問(wèn)題。 </p><p>  建立完整的網(wǎng)上選課,進(jìn)行測(cè)試并分析結(jié)果。</p><p>  第二

23、章 系統(tǒng)分析與總體設(shè)計(jì)</p><p><b>  2.1系統(tǒng)分析</b></p><p>  在本系統(tǒng)的功能操作針對(duì)不同的用戶角色分權(quán)進(jìn)行管理。系統(tǒng)對(duì)角色提供的主要功能如下:個(gè)人信息管理(編號(hào)、姓名、院系、學(xué)號(hào)、專業(yè)、性別等)、選課管理、管理學(xué)生本人已選課程。教師角色提供以下功能操作:查看自己所擔(dān)任課程的課表和選該門(mén)課的學(xué)生信息。系統(tǒng)給后臺(tái)管理員(后臺(tái)用戶)提供的

24、操作功能如下:查看所有的院系、專業(yè)、課程、學(xué)生、教師的信息并對(duì)它進(jìn)行管理(添加、編輯、刪除等)。</p><p><b>  2.2系統(tǒng)設(shè)計(jì)構(gòu)架</b></p><p>  本網(wǎng)站采用三層架構(gòu),表現(xiàn)層通過(guò)統(tǒng)一的接口向數(shù)據(jù)訪問(wèn)層發(fā)送請(qǐng)求,業(yè)務(wù)邏輯層將請(qǐng)求按照一定按照一定邏輯規(guī)則處理后進(jìn)入數(shù)據(jù)庫(kù)操作,然后將從數(shù)據(jù)庫(kù)返回的數(shù)據(jù)集合封裝成對(duì)象的形式返回到表現(xiàn)層。通過(guò)這樣的數(shù)據(jù)

25、處理流程,用戶表現(xiàn)層表現(xiàn)層甚至可以不知道數(shù)據(jù)庫(kù)是結(jié)構(gòu),只要維護(hù)與數(shù)據(jù)的訪問(wèn)層之間的接口即可。這種方式在一定程度上增加了數(shù)據(jù)庫(kù)的安全性,同時(shí)也降低了對(duì)用戶表現(xiàn)層開(kāi)發(fā)人員的要求,因?yàn)楸憩F(xiàn)層不需要進(jìn)行任何關(guān)于數(shù)據(jù)庫(kù)的操作。</p><p>  根據(jù)上述的分析,可以描述出系統(tǒng)的功能模塊圖。分別從管理員界面、學(xué)生界面、教師界面對(duì)功能模塊進(jìn)行描述。</p><p>  管理員界面的功能模塊如圖2-1所

26、示:</p><p>  圖2-1 管理界面的系統(tǒng)功能模塊圖</p><p>  教師界面的功能模塊如圖2-2所示:</p><p>  學(xué)生界面的功能模塊如圖2-3所示:</p><p>  如圖2-2教師界面的功能模塊 如圖2-3學(xué)生界面的功能模塊</p><p>  第三章 數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)

27、</p><p>  3.1數(shù)據(jù)庫(kù)需求分析</p><p>  用戶的需求具體體現(xiàn)在對(duì)各種信息的提供和查詢,數(shù)據(jù)庫(kù)是此類系統(tǒng)的核心,系統(tǒng)中所有的信息都存儲(chǔ)在數(shù)據(jù)庫(kù)中,在所有ASP.NET頁(yè)面中通過(guò)ADO.NET與數(shù)據(jù)庫(kù)連接,操作數(shù)據(jù)庫(kù)中的數(shù)據(jù),從而實(shí)現(xiàn)所有需要的功能。數(shù)據(jù)庫(kù)軟件有很多,本系統(tǒng)中數(shù)據(jù)庫(kù)采用Microsoft SQL Server 2005作為數(shù)據(jù)庫(kù)工具。數(shù)據(jù)庫(kù)是網(wǎng)站的核心,數(shù)

28、據(jù)庫(kù)設(shè)計(jì)的合理與否對(duì)網(wǎng)站的建設(shè)有著至關(guān)重要的影響。一個(gè)良好的數(shù)據(jù)庫(kù)開(kāi)發(fā)過(guò)程一般是先系統(tǒng)分析,再邏輯設(shè)計(jì),然后物理實(shí)現(xiàn)。系統(tǒng)分析中分析數(shù)據(jù)庫(kù)用戶需求,并畫(huà)出E-R圖直觀地表示出數(shù)據(jù)庫(kù)系統(tǒng)的需求。邏輯設(shè)計(jì)中根據(jù)系統(tǒng)分析設(shè)計(jì)的一個(gè)關(guān)系模型。物理設(shè)計(jì)為邏輯設(shè)計(jì)中的數(shù)據(jù)模型選取一個(gè)最合理的應(yīng)用環(huán)境的物理結(jié)構(gòu),通常選取一個(gè)常用數(shù)據(jù)庫(kù)軟件,用數(shù)據(jù)庫(kù)軟件創(chuàng)建與邏輯設(shè)計(jì)中數(shù)據(jù)模型對(duì)應(yīng)的數(shù)據(jù)庫(kù)。</p><p>  針對(duì)學(xué)生選課系統(tǒng)

29、的需求,總結(jié)如以下信息:</p><p>  用戶分學(xué)生用戶、教師用戶和管理員用戶。</p><p>  一個(gè)院系包括很多專業(yè)。</p><p>  一個(gè)專業(yè)包括很多學(xué)生</p><p>  一個(gè)專業(yè)包括多門(mén)課程</p><p>  一門(mén)課程對(duì)應(yīng)一位教師,一位教師可以教多門(mén)課程。</p><p>

30、;  一個(gè)院系對(duì)應(yīng)多個(gè)教師。</p><p>  一個(gè)學(xué)生可選多門(mén)課程,每門(mén)課程可以由多名學(xué)生選學(xué)。</p><p>  經(jīng)過(guò)對(duì)上述系統(tǒng)功能的分析和需求總結(jié),設(shè)計(jì)如下數(shù)據(jù)項(xiàng):</p><p>  管理員信息,包括用戶名和密碼。</p><p>  教師,包括教師名教師工號(hào)、所屬院系等。</p><p>  學(xué)生,包括學(xué)

31、生編號(hào)、學(xué)生姓名、所屬院系、性別、所屬專業(yè)等。</p><p>  院系,包括院系名稱。</p><p>  專業(yè),包括專業(yè)名稱、所屬院系。</p><p>  課程,包括課程名稱、課程描述、所屬專業(yè)及所屬教師。</p><p>  3.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p>  由上述數(shù)據(jù)項(xiàng),可以設(shè)計(jì)出能夠滿足用戶需求

32、的各種實(shí)體,以及他們之間的關(guān)系。這些實(shí)體包含了各種具體的信息,通過(guò)相互之間的作用使整個(gè)數(shù)據(jù)庫(kù)可以用一個(gè)E-R圖表示。</p><p>  實(shí)體之間關(guān)系的E-R圖如圖3-1所示:</p><p>  如圖3-1 實(shí)體之間關(guān)系的E-R圖</p><p>  管理員信息實(shí)體E-R圖如圖3-2所示</p><p>  教師用戶實(shí)體E-R圖如圖3-3

33、所示</p><p>  學(xué)生用戶信息實(shí)體E-R圖如圖3-4所示</p><p>  院系信息實(shí)體E-R圖如圖3-5所示</p><p>  圖3-3 管理員信息實(shí)體E-R圖 如圖3-3 教師用戶實(shí)體E-R圖</p><p>  圖3-4 學(xué)生用戶信息實(shí)體E-R圖 圖3-5 院系信息實(shí)

34、體E-R圖</p><p>  專業(yè)信息實(shí)體E-R圖如圖3-6所示</p><p>  課程信息實(shí)體E-R圖如圖3-7所示</p><p>  圖3-6 專業(yè)信息實(shí)體E-R圖 圖3-7 課程信息實(shí)體E-R圖</p><p><b>  3.3數(shù)據(jù)表的設(shè)計(jì)</b></p><p>

35、;  經(jīng)過(guò)數(shù)據(jù)庫(kù)系統(tǒng)分析和邏輯設(shè)計(jì)后,數(shù)據(jù)庫(kù)的結(jié)構(gòu)已經(jīng)非常清晰,剩下的就是用一種數(shù)據(jù)庫(kù)軟件實(shí)現(xiàn)這樣的結(jié)構(gòu)。本系統(tǒng)中數(shù)據(jù)庫(kù)采用Microsoft SQL Server 2005作為數(shù)據(jù)庫(kù)。首先我們?cè)贛icrosoft SQL Server 2005的“企業(yè)管理器”創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),我們命名為“WebCourse_Data”。</p><p>  選中WebCourse_Data數(shù)據(jù)庫(kù),向數(shù)據(jù)庫(kù)中添加7個(gè)表:</

36、p><p>  包括users、teacherinfo、studentinfo、deptinfo、majorinfo、majorinfo、stucourse。其中每個(gè)表與邏輯設(shè)計(jì)中一種的關(guān)系模式相對(duì)應(yīng)。下面是每個(gè)數(shù)據(jù)表中的屬性,包括屬性列的名稱、數(shù)據(jù)類型是否可以為空等內(nèi)容。</p><p>  Users為用戶表,記錄用戶的登錄信息,包括管理員、教師和學(xué)生的登錄帳戶。本系統(tǒng)默認(rèn)用戶為admin

37、,其他可由管理員添加,默認(rèn)密碼都為123。其中userID為主鍵,其詳細(xì)信息請(qǐng)看表6-1</p><p>  表6-1 Users(用戶表)</p><p>  Teacherinfo為教師信息列表,以TeacherID為主鍵,記錄教師相關(guān)的信息。其詳細(xì)信息請(qǐng)看表6-2</p><p>  表6-2 Teacherinfo(教師信息列表)</p>&

38、lt;p>  Studentinfo為學(xué)生信息列表,以StudentID為主鍵,記錄學(xué)生相關(guān)的信息。其詳細(xì)信息請(qǐng)看表6-3</p><p>  表6-3 Studentinfo(學(xué)生信息列表)</p><p>  Deptinfo為院系列表,以DeptID為主鍵,記錄院系的相關(guān)信息。其詳細(xì)信息請(qǐng)看表6-4</p><p>  表6-4 Deptinfo(院

39、系列表)</p><p>  majorinfo為專業(yè)信息列表,以majorID為主鍵,記錄專業(yè)相關(guān)的信息。其詳細(xì)信息請(qǐng)看表6-5</p><p>  表6-5 majorinfo(專業(yè)信息列表)</p><p>  courseinfo為課程信息列表,以courseID為主鍵,記錄課程相關(guān)的信息。其詳細(xì)信息請(qǐng)看表6-6</p><p>  

40、表6-6 courseinfo(課程信息列表)</p><p>  stucourse為學(xué)生和課程的關(guān)系表,因?yàn)閷W(xué)生和課程多對(duì)多關(guān)系,所以用表建立以courseID為主鍵的多對(duì)對(duì)關(guān)系。其詳細(xì)信息請(qǐng)看表6-7</p><p>  表6-7 stucourse(學(xué)生和課程的關(guān)系表)</p><p>  第四章 公共類與公共頁(yè)面設(shè)計(jì)</p><p&g

41、t;  4.1 Web.config頁(yè)面設(shè)計(jì)</p><p>  Web.Config文件是用來(lái)保存網(wǎng)站的很多全局設(shè)置,代碼是通過(guò)using Configuration引用,在Web.Config文件中添加數(shù)據(jù)庫(kù)連接字符串。在ADO.NET中用一個(gè)字符串來(lái)表示一個(gè)數(shù)據(jù)庫(kù),一般都把這個(gè)字符串放到Web.Config文件中,在整個(gè)項(xiàng)目中均可使用。</p><p>  <appSettin

42、gs></p><p>  <add key="ConnString" value="Data Source=.\SQLEXPRESS;User ID=sa;Password=sa;</p><p>  Initial Catalog=WEBCOURSE;"/></p><p>  <!--數(shù)據(jù)庫(kù)鏈接字

43、符串</p><p>  <add key="ConnString" value="Data Source=.\SQLEXPRESS;AttachDbFilename</p><p>  =|DataDirectory|\WebCourse.mdf;Integrated Security=True;User Instance=True;" /&

44、gt;--></p><p>  </appSettings></p><p>  <!-- 動(dòng)態(tài)調(diào)試編譯 設(shè)置 compilation debug="true" 以啟用 ASPX 調(diào)試。否則,將此值設(shè)置為false 將提高此應(yīng)用程序的運(yùn)行時(shí)性能。設(shè)置 compilation debug="true" 以將調(diào)試符號(hào)(.pd

45、b 信息)插入到編譯頁(yè)中。因?yàn)檫@將創(chuàng)建執(zhí)行起來(lái)較慢的大文件,所以應(yīng)該只在調(diào)試時(shí)將此值設(shè)置為 true,而在所有其他時(shí)候都設(shè)置為false。有關(guān)更多信息,請(qǐng)參考有關(guān)調(diào)試 ASP.NET 文件的文檔。--></p><p>  <compilation defaultLanguage="c#" debug="true"></p><p>

46、;  <compilers></p><p>  <compiler language="c#" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0,Culture=neutral, PublicKeyToken=B77A5C561934E089" extension=&qu

47、ot;.cs" compilerOptions="/d:DEBUG;TRACE"/></compilers></compilation></p><p>  <!-- 自定義錯(cuò)誤信息設(shè)置 customErrors mode="On" 或 "RemoteOnly" 以啟用自定義錯(cuò)誤信息,或設(shè)置為 "

48、Off" 以禁用自定義錯(cuò)誤信息。為每個(gè)要處理的錯(cuò)誤添加 <error> 標(biāo)記。 "On" 始終顯示自定義(友好的)信息。"Off" 始終顯示詳細(xì)的 ASP.NET 錯(cuò)誤信息。"RemoteOnly" 只對(duì)不在本地 Web 服務(wù)器上運(yùn)行的用戶顯示自定義(友好的)信息。出于安全目的,建議使用此設(shè)置,以便 不向遠(yuǎn)程客戶端顯示應(yīng)用程序的詳細(xì)信息。-->

49、</p><p>  4.2 數(shù)據(jù)庫(kù)連接操作類—Db類</p><p>  在ASP.NET中通過(guò)ADO.NET技術(shù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。ADO.NET中有許多很方便的類可用來(lái)操作數(shù)據(jù)庫(kù),例如SqlConnection類、SqlDataAdapter類、SqlCommand類、DataSet類等。由于在選課系統(tǒng)中,操作數(shù)據(jù)庫(kù)的地方非常多,為了避免很多重復(fù)代碼的編寫(xiě),所以對(duì)數(shù)據(jù)庫(kù)操作做了簡(jiǎn)單的封

50、裝—Db類。在Db類中有三個(gè)靜態(tài)函數(shù)ExecuteSelectSql、ExecuteSql和ExecuteInsertSql,其中ExecuteSelectSql函數(shù)用來(lái)執(zhí)行查詢操作,ExecuteSql用來(lái)執(zhí)行修改、插入和刪除三類操作,ExecuteInsertSql執(zhí)行需要返回剛插入記錄的identity的insert語(yǔ)句。</p><p>  通過(guò)ADO.NET執(zhí)行SQL語(yǔ)句從而對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,一般順序?yàn)?/p>

51、:先通過(guò)SqlConnection的Open函數(shù)連接到數(shù)據(jù)庫(kù),然后再通過(guò)Sqlcommand執(zhí)行指定的SQL語(yǔ)句,執(zhí)行結(jié)束后再調(diào)用SqlConnection的Close函數(shù)關(guān)閉數(shù)據(jù)庫(kù)連接。</p><p>  ExecuteSelectSql函數(shù)的代碼如下:</p><p>  public static DataSet ExecuteSelectSql( string sqlSelect

52、 )</p><p><b>  {</b></p><p>  SqlConnection conn = new SqlConnection(connString);</p><p>  SqlDataAdapter sda = new SqlDataAdapter(sqlSelect,conn);</p><p> 

53、 DataSet ds = new DataSet();</p><p><b>  try</b></p><p><b>  {</b></p><p>  sda.Fill(ds);</p><p><b>  }</b></p><p>  ca

54、tch(SqlException e)</p><p><b>  {</b></p><p>  throw new Exception(e.Message);</p><p><b>  }</b></p><p>  return ds;</p><p><b&g

55、t;  } </b></p><p>  4.3 工具類MyUtility類</p><p>  在網(wǎng)站的編寫(xiě)過(guò)程中經(jīng)常會(huì)有很多公共函數(shù)調(diào)用,把它們都寫(xiě)在一個(gè)工具類里:MyUtility類,每個(gè)函數(shù)作為工具類的一個(gè)靜態(tài)成員函數(shù)。其中包括MD5靜態(tài)成員函數(shù)以及Alert靜態(tài)成員函數(shù)。</p><p>  MD5靜態(tài)成員函數(shù):MD5算法。MD5算法是一個(gè)不可

56、逆的加密算法,通常用于重要信息的加密,如登錄密碼,在ASP.NET中,提供有MD5的算法實(shí)現(xiàn)函數(shù),調(diào)用MD5算法代碼如下:</p><p>  public static string MD5(string str)</p><p><b>  {</b></p><p>  string result = "";</

57、p><p>  result = FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5");</p><p>  return result;</p><p><b>  }</b></p><p>  Alert靜態(tài)成員函數(shù)的功能

58、是顯示一個(gè)提示對(duì)話框,在網(wǎng)站的運(yùn)行過(guò)程中,經(jīng)常需要給用戶一些即時(shí)反饋,比如修改密碼成功,選課成功等提示框。代碼如下:</p><p>  public static string Alert(string s)</p><p><b>  {</b></p><p>  return "<script language=\&qu

59、ot;javascript\">alert(\""+s+"\");</script>";</p><p><b>  }</b></p><p>  Back函數(shù)的功能是回退到某個(gè)網(wǎng)頁(yè),i的取值通常為負(fù),當(dāng)為-1時(shí)表示回退到上一個(gè)網(wǎng)頁(yè),為-2時(shí)表示回退到上上個(gè)網(wǎng)頁(yè),依次類推。</p&g

60、t;<p>  4.4 錯(cuò)誤信息類和錯(cuò)誤顯示頁(yè)面</p><p>  在用戶使用系統(tǒng)過(guò)程中,可能由于用戶操作失敗或則網(wǎng)絡(luò)原因等,系統(tǒng)運(yùn)行會(huì)出現(xiàn)一些錯(cuò)誤,為了便于統(tǒng)一,本系統(tǒng)定義專用的錯(cuò)誤信息類和錯(cuò)誤顯示頁(yè)面。在錯(cuò)誤信息類ErrorInfo類中,定義了所有的本系統(tǒng)中所出現(xiàn)的錯(cuò)誤情況和函數(shù)Message。函數(shù)Message根據(jù)錯(cuò)誤情況得到相應(yīng)顯示字符串。錯(cuò)誤顯示頁(yè)面根據(jù)URL中錯(cuò)誤代碼參數(shù)顯示不同的錯(cuò)誤

61、信息。</p><p><b>  第五章 系統(tǒng)說(shuō)明書(shū)</b></p><p><b>  5.1系統(tǒng)界面說(shuō)明</b></p><p>  下面是在線選課系統(tǒng)的預(yù)覽,此處簡(jiǎn)單介紹本系統(tǒng)的部分功能。</p><p><b>  5.1.1登錄界面</b></p>&

62、lt;p>  登錄界面圖解如圖5-1所示:</p><p>  圖5-1 登陸界面</p><p>  在用戶名和密碼處輸入用戶名和密碼,系統(tǒng)會(huì)由該用戶輸入的用戶名來(lái)判斷登入用戶的身份是管理員還是老師或是學(xué)生,如果輸入用戶名密碼成功后便會(huì)自動(dòng)跳轉(zhuǎn)到登入身份下的界面登錄選課系統(tǒng),如果輸入有誤則提示“登錄失?。 ?。</p><p>  登錄界面的主要?jiǎng)討B(tài)代碼如下

63、:</p><p>  protected void btnOK_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  CourseBiz.Auth auth = new CourseBiz.Auth();</p><p>  if

64、(auth.Login(txtName.Text, txtPass.Text))</p><p><b>  {</b></p><p>  FormsAuthentication.SetAuthCookie(txtName.Text, false);</p><p>  Response.Redirect("Common/Main.

65、aspx");</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Write("<script language='javascr

66、ipt'>alert('登錄失??!');</script>");</p><p><b>  }</b></p><p>  5.1.2學(xué)生選課界面</p><p>  學(xué)生選課界面圖解如圖5-2所示:</p><p>  圖5-2 學(xué)生選課界面</p>

67、<p>  在選課界面上,選著好所在院系及所要選課的專業(yè)后,查看所有選修課程列表,在列表中給出了課程信息,選擇你想要選學(xué)的課程前面的方框內(nèi)打鉤。選擇完成后單擊“選課”按鈕進(jìn)行鏈接完成選課。</p><p>  學(xué)生選課界面的主要?jiǎng)討B(tài)代碼如下:</p><p>  protected void ddlDept_SelectedIndexChanged(object sender,

68、System.EventArgs e)</p><p><b>  {</b></p><p>  //選擇其他專業(yè)后,重新綁定學(xué)生信息</p><p>  CourseBiz.Major major = new CourseBiz.Major();</p><p>  ddlMajor.DataSource = maj

69、or.GetMajorInfoByDid(int.Parse(ddlDept.SelectedValue));</p><p>  ddlMajor.DataBind();</p><p><b>  DgBind();</b></p><p><b>  }</b></p><p>  prote

70、cted void ddlMajor_SelectedIndexChanged(object sender, System.EventArgs e)</p><p><b>  {</b></p><p><b>  DgBind();</b></p><p><b>  }</b></p>

71、;<p>  protected void btnAdd_ServerClick(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  //循環(huán)插入學(xué)生選課信息</p><p>  foreach(DataGridItem item in dgBullet

72、in.Items)</p><p><b>  {</b></p><p>  if(item.ItemType==ListItemType.Item || item.ItemType==ListItemType.AlternatingItem)</p><p><b>  {</b></p><p&g

73、t;  CheckBox chkID = (CheckBox)item.FindControl("chkID");</p><p>  if(chkID.Checked==true)</p><p><b>  {</b></p><p>  int CourseID = int.Parse(item.Cells[1].Te

74、xt);</p><p>  int StuID = int.Parse(Request["sid"]);</p><p>  CourseBiz.Student stu = new CourseBiz.Student();</p><p>  stu.InsertStudentCourse(StuID, CourseID);</p>

75、<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Response.Redirect("StuAddCourse.aspx?sid="+Request["sid"])

76、;</p><p><b>  }</b></p><p>  5.1.3學(xué)生查看選課界面</p><p>  學(xué)生查看選課界面圖解如圖5-3所示:</p><p>  圖5-3 學(xué)生選課界面</p><p>  在學(xué)生選完課程以后,點(diǎn)了圖5-2中的選課按鈕就會(huì)跳到該頁(yè)面,該頁(yè)面實(shí)現(xiàn)的功能是查看

77、學(xué)生所選科目,在學(xué)生覺(jué)得所選科目不妥時(shí),可以點(diǎn)擊刪除選課或去選課按鈕。進(jìn)行選課刪除或者修改、增加。該頁(yè)面提高了選課系統(tǒng)的可行性和增加了學(xué)生選課的可擴(kuò)充性、可變性。</p><p>  學(xué)生查看選課界面的(刪除選課及去選課)主要?jiǎng)討B(tài)代碼如下:</p><p>  protected void btnAdd_ServerClick(object sender, System.EventArgs

78、 e)</p><p><b>  {</b></p><p>  //循環(huán)刪除學(xué)生選課信息</p><p>  foreach(DataGridItem item in dgBulletin.Items)</p><p><b>  {</b></p><p>  if(i

79、tem.ItemType==ListItemType.Item || item.ItemType==ListItemType.AlternatingItem)</p><p><b>  {</b></p><p>  CheckBox chkID = (CheckBox)item.FindControl("chkID");</p>

80、<p>  if(chkID.Checked==true)</p><p><b>  {</b></p><p>  int CourseID = int.Parse(item.Cells[1].Text);</p><p>  int StuID = int.Parse(Request["sid"]);<

81、/p><p>  CourseBiz.Student stu = new CourseBiz.Student();</p><p>  stu.DeleteStudentCourse(StuID, CourseID);</p><p><b>  }</b></p><p><b>  }</b><

82、;/p><p><b>  }</b></p><p>  Response.Redirect("StuCourse.aspx?sid="+Request["sid"]);</p><p><b>  }</b></p><p>  protected void

83、Button1_ServerClick(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  //轉(zhuǎn)向到學(xué)生選課頁(yè)面</p><p>  Response.Redirect("StuAddCourse.aspx?sid="+Request["

84、;sid"]);</p><p>  5.2系統(tǒng)登錄及瀏覽權(quán)限說(shuō)明</p><p>  在學(xué)生選課系統(tǒng)登錄界面內(nèi)輸入用戶名及密碼后,系統(tǒng)自動(dòng)到數(shù)據(jù)庫(kù)中查找該名用戶的級(jí)別如果級(jí)別是1時(shí),證明該用戶為管理員;當(dāng)級(jí)別是2時(shí),證明該用戶為教師;級(jí)別是3時(shí),證明該用戶為學(xué)生。如果登錄用戶是管理員,它具有添加院系、專業(yè)等一切網(wǎng)站信息的修改、刪除及添加及有查看教師、學(xué)生所有信息功能;并要肩負(fù)起

85、該網(wǎng)站的更新及維護(hù)任務(wù)。如果登錄用戶是教師時(shí),它具有查看自己信息以及他所任課程名下的所有學(xué)生的信息,并不具備添加院系、專業(yè)等功能。如果登錄用戶是學(xué)生時(shí),它具有查看自己信息和對(duì)自己專業(yè)的課程選擇以及對(duì)所選課程進(jìn)行增加、刪除及修改的權(quán)限。并不具備查看教師及其他學(xué)生信息的行為功能。</p><p><b>  第六章 總結(jié)</b></p><p>  經(jīng)過(guò)幾個(gè)月的學(xué)習(xí),研

86、究和開(kāi)發(fā),我選擇的課題學(xué)生選課系統(tǒng)基本完成。其功能基本符合網(wǎng)絡(luò)上的用戶要求,能夠在線選課,在線添加課程,在線查詢課程等。雖然由于自己知識(shí)上的不足,有些地方有少許錯(cuò)誤和容錯(cuò)性能比較低,但是還是可以基本完成選課系統(tǒng)應(yīng)有的功能。</p><p>  通過(guò)畢業(yè)設(shè)計(jì)過(guò)程我會(huì)到了許多知識(shí),這也是在大學(xué)里第一次比較完整的完成一個(gè)小項(xiàng)目,雖然過(guò)程中遇到了許多困難,在同學(xué)和老師的幫助下一一克服了。通過(guò)不斷的發(fā)現(xiàn)問(wèn)題,總結(jié)問(wèn)題和解決

87、問(wèn)題的過(guò)程,使我在此次畢業(yè)設(shè)計(jì)活動(dòng)中不斷的提高,和得到了寶貴的經(jīng)驗(yàn)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]吳晨,《ASP.NET+SQL Server-數(shù)據(jù)庫(kù)開(kāi)發(fā)與實(shí)例》,清華大學(xué)出版社,出版2006年7月</p><p>  [2]屈武江,《ASP.NET程序設(shè)計(jì)》,大連理工大學(xué)出版社,出版2007年9月&

88、lt;/p><p>  [3](美)內(nèi)格爾,《C#高級(jí)編程(第4版)》,清華大學(xué)出版社,出版2006年10月</p><p>  [4](美)solid,《SQLServer2005從入門(mén)與精通(應(yīng)用技術(shù)基礎(chǔ))》,清華大學(xué)出版社,出版2006年09月</p><p>  [5](美)保羅《ASP.NET 2.0經(jīng)典教程C#篇》,人民郵電出版社,出版2007年5月<

89、/p><p><b>  致 謝</b></p><p>  由于以前對(duì)ASP.NET的接觸并不是很多,對(duì)它的開(kāi)發(fā)環(huán)境也不是非常了解,所以在程序的開(kāi)發(fā)過(guò)程中遇到了很多的困難,但經(jīng)過(guò)同學(xué)和老師的幫助,逐漸克服了困難,并從中學(xué)到</p><p>  了很多SQL數(shù)據(jù)庫(kù)編程方面的知識(shí)。但是由于經(jīng)驗(yàn)方面的原因,以及對(duì)物流配送方面的操作流程了解不夠深刻,

90、該系統(tǒng)還有許多不盡如人意的地方和功能上的缺陷,這些都有待于進(jìn)一步改善。</p><p>  論文完成的前提是老師給我提供了舒適的工作、學(xué)習(xí)環(huán)境,并給予我悉心的關(guān)懷與指導(dǎo)。在些表示衷心地感謝。老師認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,使我深受啟發(fā);開(kāi)發(fā)的同時(shí),和同學(xué)們之間的相互探討也使我獲益匪淺。幾個(gè)月的時(shí)間內(nèi),我除基本學(xué)會(huì)開(kāi)發(fā)SQL數(shù)據(jù)庫(kù)外更重要的是學(xué)到了兢兢業(yè)業(yè),奮發(fā)向上的精神,這種精神是我今后人生前進(jìn)道路上的一

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論