版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計(論文)</b></p><p> 題 目 學生選課管理系統(tǒng) </p><p> 英文題目 Student Course Selection System</p><p> 學生姓名 </p><p
2、> 學 號 </p><p> 指導教師 </p><p> 專 業(yè) 軟件技術 </p><p><b> 摘 要</b></p><p> 隨著在校大學生人
3、數的不斷增加,教務系統(tǒng)的數據量也不斷的上漲。以往的選課方法是隨堂報名。這種方法雖然直接,但是造成選課的盲目性和教務處處理數據的繁重性。為了減輕教務處工作,以及每個學生更好的選擇自己所喜歡的科目。針對學生選課這一環(huán)節(jié),本系統(tǒng)從學生網上自主選課以及教師的課程發(fā)布兩個大方面進行了設計,基本實現(xiàn)了學生的在線信息查詢、選課功能以及教師對課程信息發(fā)布的管理等功能。</p><p> 本文通過分析瀏覽器/服務器結構的特點并結
4、合選課的實際情況,提出了基于瀏覽器/服務器結構網上選課系統(tǒng)的基本設計思想,簡要介紹了系統(tǒng)各功能模塊及數據庫的設計,著重討論了用 ASP.NET技術和SQL Server 2000開發(fā)網上選課系統(tǒng)時的數據庫訪問技術和動態(tài)網頁制作技術,并給出了部分實現(xiàn)代碼。通過該系統(tǒng),使學生可以方便地在校園網上進行網上選課。該B/S結構的系統(tǒng)在Windows XP系統(tǒng)和VS.NET平臺下開發(fā)完成,使用C#作為ASP.NET的開發(fā)語言,SQL Server
5、2000作為數據庫。系統(tǒng)有較高的安全性和較好的性能。其中連接數據庫的字符串可以隨時在web.config里修改,并經過編碼加密,增加了靈活性,保護了數據庫的安全。代碼盡量使用存儲過程和盡量減少數據庫連接的打開時間等手段來提高性能。</p><p> 本文中除了有對程序的系統(tǒng)分析、總體設計、數據庫設計、功能實現(xiàn)等主體部分外,在這之前還介紹了與網上選課系統(tǒng)相關的信息、IIS介紹、IIS與ASP.NET的結合等的基本
6、內容及發(fā)展情況。</p><p> 關鍵詞:網上選課,瀏覽器/服務器結構,ASP.NET,數據庫管理系統(tǒng)</p><p><b> Abstract</b></p><p> With the development of the enrolling number, the data for daily registry is incre
7、asing, too. And always we should go to classroom to enroll. Although this method directly, but result in blindness of the course enrollment and registry data processing of the heavy .In order to reduce the work registry
8、,and better each student to choose their own favorite subjects .This system is special for the on-line course choosing to design both from the aspect of the student and the teacher. The student can </p><p>
9、 This paper gives the basic design idea of the Browser/Server structure based online course elect system by analyzing the characteristic of the Browser/Server structure and combining with the actual public elective cours
10、es conditions of our school.It introduces the function module and database design briefly,followed by a discussion on database accessing technology and the active page technology of the course elect system based on ASP.N
11、ET and SQL Server 2000.By using this system,students can elec</p><p> This paper includes the system analysis, the main designing, the database designing, the function designing and, before this, some basic
12、 knowledge and present development of the programs mentioned above. </p><p> Keywords: online course elect, Browser/Server structure,ASP.NET, DBMS</p><p><b> 目 錄</b></p>&l
13、t;p> 摘要…………………………………………………………………………………………</p><p> Abstract………………………………………………………………………………………</p><p><b> 緒論1</b></p><p><b> 1 引言4</b></p><
14、p> 1.1課題研究的目的4</p><p> 1.2 課題研究的意義4</p><p> 1.3 課題的可行性分析5</p><p> 1.3.1 課題調研5</p><p> 1.3.2 可行性分析5</p><p> 2 系統(tǒng)分析與總體設計5</p><p>
15、<b> 2.1系統(tǒng)分析5</b></p><p> 2.2 系統(tǒng)總體設計6</p><p> 3 數據庫設計與實現(xiàn)5</p><p> 3.1數據庫系統(tǒng)分析5</p><p> 3.2 數據庫邏輯設計8</p><p> 3.3數據庫物理實現(xiàn)9</p>&l
16、t;p> 4 公共類與公共頁面設計13</p><p> 4.1 Web.config頁面設計13</p><p> 4.2 數據庫連接操作類—Db類16</p><p> 4.3 工具類MyUtility類18</p><p> 4.4 錯誤信息類和錯誤顯示頁面19</p><p> 5
17、系統(tǒng)說明書20</p><p> 5.1系統(tǒng)界面說明20</p><p> 5.2 系統(tǒng)管理說明26</p><p> 5.3教師管理說明29</p><p><b> 總結35</b></p><p><b> 致 謝36</b></p>
18、;<p> 參 考 文 獻37</p><p><b> 緒論 </b></p><p> 數據庫是從60年代初發(fā)展起來的計算機技術。經過四十來年的發(fā)展,數據庫技術己經趨于成熟。Web數據庫在新的Internet環(huán)境中發(fā)生了很大的變化。就數據應用而言呈現(xiàn)出多樣化的空間,如數字圖書館、電子出版物、電子商務、遠程教育系統(tǒng)等的出現(xiàn),給web數據庫技術
19、提出了更多、更高的要求。同時,隨著國內高校校園網的建設,基于互聯(lián)網的應用系統(tǒng)的開發(fā)正在蓬勃發(fā)展并發(fā)揮著較大的作用。例如,我國許多高校的網上招生系統(tǒng),學校的各種管理信息系統(tǒng),學校選課系統(tǒng),還有一些醫(yī)學院校開發(fā)出的網上診所、遠程診斷系統(tǒng)等等,都是基于校園網的應用系統(tǒng)。 國外的教學科研軟件與國內相比開發(fā)的早而且比較成熟。早在七十年代末,美國就建成了NSFNET(國家科學基金網),其課題的申報及課題的進展情況匯報都在網上進行。其網上教學教務管理
20、系統(tǒng)也十分完善,世界各地的學生可以坐在家里通過互聯(lián)網完成入學報名、選課、考試、畢業(yè)論文、取得學位這一學習生活的全過程。目前,國際上已具規(guī)模的遠程教育學校就有數百所之多,網上教育正在各地發(fā)揮著巨大的作用,為世界各國培養(yǎng)出大批人才。所有這些都表明,基于Internet的校園網的應用已深入到校園內的各個方面。在</p><p><b> 1 引言</b></p><p>
21、; 1.1課題研究的目的</p><p> 1.掌握采用Internet的TCP/IP協(xié)議,以B/S方式,ASP.NET編程技術,多媒體技術。</p><p> 2.掌握一種多任務多用戶操作系統(tǒng)</p><p> 3.ASP.NET的動態(tài)網頁和SQL Server大型的數據庫。</p><p> 4.學會使用某種開發(fā)工具。<
22、/p><p> 5.培養(yǎng)相互合作的精神。</p><p> 1.2 課題研究的意義 </p><p> 學生選課系統(tǒng)是一個學校不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生選課系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產
23、生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。</p><p> 隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。</p><p> 作為計算機應用的一部分,使用計算機對選課信息進行管理,有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這
24、些優(yōu)點能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。</p><p> 因此,開發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套學生選課系統(tǒng)為例,談談其開發(fā)過程和所涉及到的問題及解決方法。</p><p> 本文中所做的主要工作如下:</p><p> (1)介紹了個性化頁面的背景及Win2000serv
25、er+IIS+ASP.NET系統(tǒng)的一般原理;(2) 闡述整個個性化頁面生成系統(tǒng)的系統(tǒng)結構及工作原理;分析了系統(tǒng)實現(xiàn)中的特殊性、難點和重點。(3) 設計實現(xiàn)用戶管理、課程管理、選課信息錄入管理、新生信息錄入管理、課程的瀏覽和查找、學生查找等ASP.NET頁面 。(4) 分析并解決實現(xiàn)中的若干技術問題。 (5) 建立完整的網上選課,進行測試并分析結果。</p><p> 1.3 課題的可行性分析</p
26、><p> 1.3.1 課題調研</p><p> (1)與實踐活動和相關的文件和資料由教師提供。</p><p> ?。?)本課題要求學生有熟練的ASP.NET開發(fā)能力,有較強的自學能力以及一定的關系數據庫理論開發(fā)功底。</p><p> ?。?)具有對復雜表進行處理的能力。</p><p> ?。?)具體問題再做詳
27、細調查研究并與指導老師面談。</p><p> 1.3.2 可行性分析</p><p> ?。?) 技術可行性-----本系統(tǒng)僅需要一臺裝有Office軟件的計算機即可,對機器本身沒有太高的要求,一般當前學校或個人電腦完全可滿足要求。對于軟件技術要求,現(xiàn)在的程序設計語言已非常成熟,要運用HTML樣式,圖形圖象制作工具來制作生動活潑的網頁及美觀的圖形文件或動畫文件,數據庫使用SQL Ser
28、ver 2000中提供的數據庫桌面工具ODBC。</p><p> (2) 經濟可行性-----由于本系統(tǒng)是為學生選課管理使用的系統(tǒng),裝上該應用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以為學校節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經濟上完全可行。</p><p> ?。?) 操作可行性-----界面設計時充分考慮管理人員的習慣,
29、使得操作簡單;數據錄入迅速、規(guī)范、可靠;統(tǒng)計準確;制表靈活;適應力強;容易擴充。第2章內容主要是:系統(tǒng)需求分析包括,現(xiàn)有系統(tǒng)介紹;系統(tǒng)的實體分析,實體關系圖。</p><p> 2 系統(tǒng)分析與總體設計</p><p><b> 2.1系統(tǒng)分析</b></p><p> 在本系統(tǒng)中,有三類用戶:系統(tǒng)管理員,教師和學生。三種不同的用戶所具有的
30、操作權限以及操作內容均不一樣。</p><p> 本選課系統(tǒng)給予教師很大的自主權,系統(tǒng)管理員只負責向系統(tǒng)中添加學生和教師的個人信息以及教學樓教室信息。系統(tǒng)管理員不參與開設課程、選擇課程等,一切均由教師、學生等錄網站自行完成。系統(tǒng)管理員設置一個選課時間段,在到達時間段以前,教師可以開設課程;到達時間段以后,學生可以登陸網站選擇課程。</p><p> 教師用戶登陸網站后可以開設課程,為自
31、己的課程編輯上課時間和地點,當系統(tǒng)中出現(xiàn)時間地點沖突的時候,系統(tǒng)向教師用戶報告并推薦一個時間地點。每門課程可以是必修或則選修,教師為每門課程設置一個學分,并可以在課程結束后給予分數,如果學生及格,學生將獲得該課程的學分。</p><p> 對于學生用戶,每個學生除了必須選擇必修課程外,至少還要選擇兩門選修課程,學生可以對自己選課信息鎖定,以免不小心被修改。當時候超過選課時段后,系統(tǒng)自動鎖定學生的選課課程。系統(tǒng)可
32、以根據學生的選課信息,生成一份學生自己的課表。課程結束后學生可登錄網站查詢成績與學分。</p><p> 根據上面的要求,從操作功能上可以分為兩個類:一個是通用操作,主要實現(xiàn)用戶的登錄注銷和修改密碼等;另一種是為不同用戶定制不同操作。</p><p><b> 1.通用操作</b></p><p><b> ?。?)登錄與注銷&l
33、t;/b></p><p> 每個用戶都可以用自己的帳號登錄系統(tǒng)。用戶操作完成后推出系統(tǒng),注銷后可以重新登錄系統(tǒng)。</p><p><b> ?。?)修改密碼</b></p><p> 每個用戶第一次登錄都用默認密碼(教師和學生與帳號一樣)。</p><p><b> 2.用戶所具有功能</b
34、></p><p><b> 系統(tǒng)管理員</b></p><p> 設置選課時間段:系統(tǒng)管理員通過此項功能設置選課時段,只有在選課時間段里,學生才可以選擇課程,超過次時間段,學生選課信息被自動所定,不得修改。</p><p> 錄入學生與教師個人信息:通過此項功能可以實現(xiàn)對教師和學生的個人信息添加刪除。</p><
35、;p> 錄入教學樓教室信息:通過此項功能可以把學校里所有的教學樓教室的信息錄入到系統(tǒng)中,以便教師在開設課程時候設置上課的教室。</p><p><b> 教師用戶</b></p><p> 顯示和修改個人信息:教師用戶登錄系統(tǒng)后,可以查看和修改教師的個人信息,如姓名,電話,E-mail地址等。</p><p> 開設課程:教師用戶
36、登錄系統(tǒng)后,可以開設課程,可以設置該課程為必修課程或則選修課程,可以設置該課程的最大人數。教師還可以為該課程設置一個前導課程,若學生沒有學習或則選擇前導課程則不能選擇該課程。</p><p> 編輯課程上課時間:教師在開設了課程后,可以靈活地設置上課時間和地點。</p><p> 給學生分數:課程結束后,教師用戶登錄系統(tǒng),可以為學過課程的學生給予相應的成績,若</p>&
37、lt;p> 及格,給予學生學分。</p><p><b> 學生用戶</b></p><p> 顯示和修改個人信息:學生登錄系統(tǒng)后,可以查看和修改學生的個人信息,如姓名,性別,電話等。</p><p> 查看必修課程:學生登錄后,可以查看所有的必修課程。查看該課程的信息,上課時間地點,開課教師信息等。</p><
38、;p> 選擇選修課程:學生登錄系統(tǒng)后,在所有選修課程中可以選擇至少兩門選修課程。同時可以查看相關信息。</p><p> 鎖定選課信息:學生登錄系統(tǒng),確定了所選課程后,可以鎖定自己的選課信息,以防被別人或則自己不小心修改。</p><p> 查看最終選課信息:學生登錄系統(tǒng)后,可列出已選擇的課程,若選課信息未被鎖定,則可以退選,若所選課程少于兩門,系統(tǒng)會提示選擇的課程少于兩門。&
39、lt;/p><p><b> 查看學分和成績</b></p><p> 課程結束后,學生登錄系統(tǒng)可查看自己學習課程的成績和已獲的學分。</p><p> 2.2 系統(tǒng)總體設計</p><p> 在前面的系統(tǒng)的系統(tǒng)功能分析中,將系統(tǒng)劃分成10個模塊,如圖:</p><p> 圖2-1
40、 系統(tǒng)模塊結構圖</p><p> 用戶登錄身份驗證模塊驗證用戶名和密碼,并根據不同的用戶類型,跳轉到對應的頁面中。設置選課時間模塊提供給系統(tǒng)管理員修改選課時間段。錄入信息模塊提供給系統(tǒng)管理員,用來錄入學生和教師信息,以及錄入教學樓教室等信息。開設課程模塊提供給教師用戶,用來開設一門必修課程或則選修課程。編輯課程時間地點模塊提供給教師用戶,編輯課程的上課時間地點友好的界面和操作。評分模塊用于教師用戶給選修該教
41、師開設的課程的學生評分。查看課程模塊包括查看必修課程、查看選修課程、查看已選課程、查看課程成績單。選課和鎖定模塊中實現(xiàn)選擇選修課程和鎖定選課信息的功能。</p><p> 3 數據庫設計與實現(xiàn)</p><p> 數據庫是此類系統(tǒng)的核心,系統(tǒng)中所有的信息都存儲在數據庫中,在所有ASP.NET頁面中通過ADO.NET與數據庫連接,操作數據庫中的數據,從而實現(xiàn)所有需要的功能。 數據庫軟件有很
42、多,如Microsoft SQL Server 2000等。本系統(tǒng)中數據庫采用 Microsoft SQL Server 2000作為數據庫工具。數據庫是網站的核心,數據庫設計的合理與否對網站的建設有著至關重要的影響。一個良好的數據庫開發(fā)過程一般是先系統(tǒng)分析,再邏輯設計,然后物理實現(xiàn)。系統(tǒng)分析中分析數據庫用戶需求,并畫出E-R圖直觀地表示出數據庫系統(tǒng)的需求。邏輯設計中根據系統(tǒng)分析設計的一個關系模型。物理設計
43、為邏輯設計中的數據模型選取一個最合理的應用環(huán)境的物理結構,通常選取一個常用數據庫軟件,用數據庫軟件創(chuàng)建與邏輯設計中數據模型對應的數據庫。</p><p> 3.1數據庫系統(tǒng)分析</p><p> 本系統(tǒng)的數據庫實體主要有“學生”、“教師”、“教學樓”、“教室”、“課程”等。其中“教師”與“課程”存在“開設”聯(lián)系,并且一個教師可以開設N門課程,即“教師”與“課程”之間是一對多的關系。同
44、樣“教學樓”與“教室”也存在一對多的關系。一個學生可以學習N門課程,一門課程可以有M個學生學習,即“學生”與“課程”之間是多對多的關系。同樣“課程”與“教室”之間也是多對多的關系。整個數據庫可以用一個E-R圖表示,如圖:</p><p> 圖3_1 課程 E-R圖</p><p> E—R圖中的實體圖:</p><p> 圖 3-2 教學樓E_R圖<
45、;/p><p> 圖3-3 教室E_R圖</p><p> 圖3-4 學生E_R圖</p><p> 圖 3_5 課程E_R圖</p><p> 圖 3_6 選課E_R圖</p><p> 圖 3_7 教師E_R圖</p><p> 圖3_8 課程時間地點E_R圖</p>
46、;<p> 圖 3_9 管理員E_R圖</p><p> 3.2 數據庫邏輯設計</p><p> 數據庫邏輯設計就是將E—R圖轉換為關系模型的過程,即將所有實體和關系轉換成一系列的關系模式。轉換過程中常見規(guī)則有:</p><p> ?。?)一個實體型轉換為一個關系模式;</p><p> ?。?)一個一對一的聯(lián)系可轉
47、換成一個獨立的關系模式,也可與任意一端對應的關系模式合并;</p><p> (3)一個一對多的聯(lián)系可以轉換成一個獨立的關系模式,也可與多的那一端對應的關系模式合并;</p><p> ?。?)一個多對多的關系轉換成一個關系模式。</p><p> 根據以上四條規(guī)則,下面將E—R圖轉換成關系模型。</p><p> 對于“教學樓”、“教
48、室”和兩者之間的關系,就可以根據規(guī)則(3)轉換成兩個關系模式</p><p> 教學樓(教學樓ID,教學樓名稱)</p><p> 教室(教室ID,教學樓ID,教室名稱)</p><p> 對于“學生”、“課程”和它們之間的“選修”關系就可以規(guī)則(4)轉換成三個關系模式。</p><p> 學生(學號,姓名,性別,年齡,登陸密碼,學分
49、,地址,電話,電子郵件)</p><p> 課程(課程編碼,課程名稱,開課教師編號,學分,最大人數,課程簡介,前導課程編號)</p><p> 選課(學號,課程編號,成績)</p><p> 依次類推,剩下的關系轉換成下面三個關系模式:</p><p> 教師(教師編號,姓名,性別,年齡,電話,電子郵件,個人簡介)</p>
50、<p> 課程時間地點(課程編號,開始周次,結束周次,上課時間,上課教室ID)</p><p> 管理員(帳號,密碼)</p><p> 3.3數據庫物理實現(xiàn)</p><p> 經過數據庫系統(tǒng)分析和邏輯設計后,數據庫的結構已經非常清晰,剩下的就是用一種數據庫軟件實現(xiàn)這樣的結構。本系統(tǒng)中數據庫采用Microsoft SQL Server 2000
51、作為數據庫。首先我們在Microsoft SQL Server 2000的“企業(yè)管理器”創(chuàng)建一個數據庫,我們命名為“SC”,如圖3-1:</p><p><b> 圖3-1創(chuàng)建數據庫</b></p><p> 選中SC數據庫,向數據庫中添加8個表:Student,Teacher,Course,SC,CourseTime,Building,Room和Admin,每個
52、表與邏輯設計中一種的關系模式相對應。下面是每個數據表中的屬性,包括屬性列的名稱、數據類型、長度、是否可以為空和備注說明等內容。</p><p> Student表。Student表用來存儲學生的個人信息,使用學號作為主鍵,如表3-2:</p><p> 表3-2 Student表</p><p> Teacher表。Teacher表用來存儲教師的個人信息,用學
53、校分配給教師的教師編號作為主鍵,這樣可以避免重復,如圖3-3:</p><p> 表3-3 Teacher表</p><p> Course表。Course表用來存儲課程信息,Course表以課程編號為主鍵,設置課程編號自動增加1(通過建表的時候對屬性列設置“標識”,并設置“標識遞增量”為1)。表中開課教師Id為外鍵,所有“TId”的值必須是Teacher表中的“TId”值。設置外鍵關
54、系可以通過在建立表的窗口中單擊右鍵,在右鍵菜單中選擇“關系”,在彈出的對話框中設置外鍵關系。如表3-4:</p><p> 表3-4 Course表</p><p> SC表。SC表用于存儲學生的選課信息,在SC表中學號和課程編號是主鍵,同時也是外鍵。如表3-5:</p><p><b> 表3-5 SC表</b></p>
55、<p> CourseTime表。CourseTime表用來存放課程的上課時間和上課地點信息,其中課程編號和教室編號為外鍵。如表3-6:</p><p> 表3-6 CourseTime表</p><p> Building表。Building表用來存放教學樓信息,Building表中教學樓編號為主鍵,自動增加1。如表3-7:</p><p> 表
56、3-7 Building表</p><p> Room表。Room表用來存放教室信息,在Room表中,教室編號為主鍵,自動增加1,教學編號為外鍵。如3-8:</p><p> 表3-8 Room表</p><p> Admin表。Admin表用來存放系統(tǒng)管理員信息,如表3-9:</p><p> 表3-9 Admin表</p&g
57、t;<p> 4 公共類與公共頁面設計</p><p> 4.1 Web.config頁面設計</p><p> Web.Config文件是用來保存網站的很多全局設置,代碼是通過using Configuration引用,在Web.Config文件中添加數據庫連接字符串。在ADO.NET中用一個字符串來表示一個數據庫,一般都把這個字符串放到Web.Config文件中,在
58、整個項目中均可使用。</p><p> <?xml version="1.0" encoding="utf-8" ?></p><p> <configuration></p><p> <system.web></p><p> <!-- 動態(tài)調試編
59、譯</p><p> 設置 compilation debug="true" 以啟用 ASPX 調試。否則,將此值設置為</p><p> false 將提高此應用程序的運行時性能。</p><p> 設置 compilation debug="true" 以將調試符號(.pdb 信息)</p><p
60、> 插入到編譯頁中。因為這將創(chuàng)建執(zhí)行起來</p><p> 較慢的大文件,所以應該只在調試時將此值設置為 true,而在所有其他時候都設置為</p><p> false。有關更多信息,請參考有關</p><p> 調試 ASP.NET 文件的文檔。</p><p><b> --></b><
61、/p><p> <compilation </p><p> defaultLanguage="c#"</p><p> debug="true"</p><p><b> /></b></p><p> <!-- 自定義錯誤信息&
62、lt;/p><p> 設置 customErrors mode="On" 或 "RemoteOnly" 以啟用自定義錯誤信息,或設置為 "Off" 以禁用自定義錯誤信息。 </p><p> 為每個要處理的錯誤添加 <error> 標記。</p><p> "On" 始終顯
63、示自定義(友好的)信息。</p><p> "Off" 始終顯示詳細的 ASP.NET 錯誤信息。</p><p> "RemoteOnly" 只對不在本地 Web 服務器上運行的</p><p> 用戶顯示自定義(友好的)信息。出于安全目的,建議使用此設置,以便 </p><p> 不向遠程客
64、戶端顯示應用程序的詳細信息。</p><p><b> --></b></p><p> <customErrors </p><p> mode="RemoteOnly" </p><p><b> /> </b></p><p&g
65、t; <!-- 身份驗證 </p><p> 此節(jié)設置應用程序的身份驗證策略??赡艿哪J绞?"Windows"、 </p><p> "Forms"、 "Passport" 和 "None"</p><p> "None" 不執(zhí)行身份驗證。 </
66、p><p> "Windows" IIS 根據應用程序的設置執(zhí)行身份驗證 </p><p> (基本、簡要或集成 Windows)。在 IIS 中必須禁用匿名訪問。</p><p> "Forms" 您為用戶提供一個輸入憑據的自定義窗體(Web 頁),然后 </p><p> 在您的應用程序中驗證他
67、們的身份。用戶憑據標記存儲在 Cookie 中。</p><p> "Passport" 身份驗證是通過 Microsoft 的集中身份驗證服務執(zhí)行的,</p><p> 它為成員站點提供單獨登錄和核心配置文件服務。</p><p><b> --></b></p><p> <a
68、uthentication mode="Windows" /> </p><p><b> <!-- 授權 </b></p><p> 此節(jié)設置應用程序的授權策略。可以允許或拒絕不同的用戶或角色訪問</p><p> 應用程序資源。通配符: "*" 表示任何人,"?"
69、; 表示匿名</p><p> (未經身份驗證的)用戶。</p><p><b> --></b></p><p> <authorization></p><p> <allow users="*" /> <!-- 允許所有用戶 --></p&
70、gt;<p> <!-- <allow users="[逗號分隔的用戶列表]"</p><p> roles="[逗號分隔的角色列表]"/></p><p> <deny users="[逗號分隔的用戶列表]"</p><p> roles=
71、"[逗號分隔的角色列表]"/></p><p><b> --></b></p><p> </authorization></p><p> <!-- 應用程序級別跟蹤記錄</p><p> 應用程序級別跟蹤為應用程序中的每一頁啟用跟蹤日志輸出。</p&
72、gt;<p> 設置 trace enabled="true" 可以啟用應用程序跟蹤記錄。如果 pageOutput="true",則</p><p> 在每一頁的底部顯示跟蹤信息。否則,可以通過瀏覽 Web 應用程序</p><p> 根目錄中的 "trace.axd" 頁來查看</p><
73、;p><b> 應用程序跟蹤日志。</b></p><p><b> --></b></p><p><b> <trace</b></p><p> enabled="false"</p><p> requestLimit=&
74、quot;10"</p><p> pageOutput="false"</p><p> traceMode="SortByTime"</p><p> localOnly="true"</p><p><b> /></b></
75、p><p> <!-- 會話狀態(tài)設置</p><p> 默認情況下,ASP.NET 使用 Cookie 來標識哪些請求屬于特定的會話。</p><p> 如果 Cookie 不可用,則可以通過將會話標識符添加到 URL 來跟蹤會話。</p><p> 若要禁用 Cookie,請設置 sessionState cookieless=
76、"true"。</p><p><b> --></b></p><p> <sessionState </p><p> mode="InProc"</p><p> stateConnectionString="tcpip=127.0.0.1:42
77、424"</p><p> sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"</p><p> cookieless="false" </p><p> timeout="20" </p>&l
78、t;p><b> /></b></p><p><b> <!-- 全球化</b></p><p> 此節(jié)設置應用程序的全球化設置。</p><p><b> --></b></p><p> <globalization </p
79、><p> requestEncoding="utf-8" </p><p> responseEncoding="utf-8" </p><p><b> /></b></p><p> </system.web></p><p>
80、 <appSettings></p><p> <!-- 數據庫連接字符串</p><p><b> --></b></p><p> <add key="ConnectionString" value="data source=(local);initial catalog
81、=sc;persist security info=True;user id=sa;pwd=sa;packet size=4096" /></p><p> <!-- 選課時間段</p><p><b> --></b></p><p> <add key="SCDateTime"
82、 value="2005-06-01 00:00:00 / 2005-06-15 00:00:00" /></p><p> <add key="time.txt" value="E:\\選課系統(tǒng)\\time.txt" /></p><p> </appSettings></p>&
83、lt;p> </configuration></p><p> 在上面的代碼中部分解釋:</p><p> Data source:表示數據庫服務器地址,可以填IP地址,若為本機數據庫,則填(local)</p><p> Initial catalog:表示數據庫名稱。</p><p> Persist secu
84、rity info:表示數據庫登錄驗證模式。SQL Server支持用戶名登錄驗證和Windows身份驗證兩種模式。一般選用前一種,故這里Persist security info的值署為True。</p><p> User id:表示登錄數據庫的用戶名。</p><p> Pwe:表示登錄數據庫的用戶名的密碼。</p><p> Packet size:表
85、示包的大小值,此項默認配置為4096即可。</p><p> 4.2 數據庫連接操作類—Db類</p><p> 在ASP.NET中通過ADO.NET技術對數據庫進行操作。ADO.NET中有許多很方便的類可用來操作數據庫,例如SqlConnection類、SqlDataAdapter類、SqlCommand類、DataSet類等。由于在選課系統(tǒng)中,操作數據庫的地方非常多,為了避免很多重
86、復代碼的編寫,所以對數據庫操作做了簡單的封裝—Db類。在Db類中有三個靜態(tài)函數ExecuteSelectSql、ExecuteSql和ExecuteInsertSql,其中ExecuteSelectSql函數用來執(zhí)行查詢操作,ExecuteSql用來執(zhí)行修改、插入和刪除三類操作,ExecuteInsertSql執(zhí)行需要返回剛插入記錄的identity的insert語句。</p><p> 通過ADO.NET執(zhí)行
87、SQL語句從而對數據庫進行操作,一般順序為:先通過SqlConnection的Open函數連接到數據庫,然后再通過Sqlcommand執(zhí)行指定的SQL語句,執(zhí)行結束后再調用SqlConnection的Close函數關閉數據庫連接。</p><p> ExecuteSelectSql函數的代碼如下:</p><p> /// <summary></p><
88、p> /// 執(zhí)行select類型的sql語句,返回select得到的數據集</p><p> /// </summary></p><p> /// <param name="sqlSelect">select語句</param></p><p> /// <returns>返回se
89、lect得到的數據集</returns></p><p> public static DataSet ExecuteSelectSql( string sqlSelect )</p><p><b> {</b></p><p> SqlConnection conn = new SqlConnection(connStri
90、ng);</p><p> SqlDataAdapter sda = new SqlDataAdapter(sqlSelect,conn);</p><p> DataSet ds = new DataSet();</p><p><b> try</b></p><p><b> {</b>
91、;</p><p> sda.Fill(ds);</p><p><b> }</b></p><p> catch(SqlException e)</p><p><b> {</b></p><p> throw new Exception(e.Message)
92、;</p><p><b> }</b></p><p> return ds;</p><p><b> } </b></p><p> ExecuteSql函數代碼如下:</p><p> public static int ExecuteSql( string
93、 sql )</p><p><b> {</b></p><p> int rows = -1;</p><p> SqlConnection conn = new SqlConnection(connString);</p><p> SqlCommand cmd = new SqlCommand(sql,c
94、onn);</p><p><b> try</b></p><p><b> {</b></p><p> conn.Open();</p><p> rows = cmd.ExecuteNonQuery();</p><p><b> }</b&
95、gt;</p><p> catch(SqlException e)</p><p><b> {</b></p><p> throw new Exception(e.Message);</p><p><b> }</b></p><p><b> f
96、inally</b></p><p><b> {</b></p><p> cmd.Dispose();</p><p> conn.Close();</p><p><b> } </b></p><p> return rows;</p
97、><p><b> }</b></p><p> 4.3 工具類MyUtility類</p><p> 在網站的編寫過程中經常會有很多公共函數調用,把它們都寫在一個工具類里:MyUtility類,每個函數作為工具類的一個靜態(tài)成員函數。其中包括MD5靜態(tài)成員函數以及Alert靜態(tài)成員函數。</p><p> MD5靜態(tài)
98、成員函數:MD5算法。MD5算法是一個不可逆的加密算法,通常用于重要信息的加密,如登錄密碼,在ASP.NET中,提供有MD5的算法實現(xiàn)函數,調用MD5算法代碼如下:</p><p> public static string MD5(string str)</p><p><b> {</b></p><p> string result
99、 = "";</p><p> result = FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5");</p><p> return result;</p><p><b> }</b></p><
100、p> Alert靜態(tài)成員函數的功能是顯示一個提示對話框,在網站的運行過程中,經常需要給用戶一些即時反饋,比如修改密碼成功,選課成功等提示框。代碼如下:</p><p> public static string Alert(string s)</p><p><b> {</b></p><p> return "<
101、;script language=\"javascript\">alert(\""+s+"\");</script>";</p><p><b> }</b></p><p> Back函數的功能是回退到某個網頁,i的取值通常為負,當為-1時表示回退到上一個網頁,為-2時表示回
102、退到上上個網頁,依次類推。代碼如下:</p><p> public static string Back(int i)</p><p><b> {</b></p><p> return "<script language=\"javascript\">location.href=\"
103、;javascript:history.go("+i+");\";</script>";</p><p><b> }</b></p><p> 4.4 錯誤信息類和錯誤顯示頁面</p><p> 在用戶使用系統(tǒng)過程中,可能由于用戶操作失敗或則網絡原因等,系統(tǒng)運行會出現(xiàn)一些錯誤,為了便于
104、統(tǒng)一,本系統(tǒng)定義專用的錯誤信息類和錯誤顯示頁面。在錯誤信息類ErrorInfo類中,定義了所有的本系統(tǒng)中所出現(xiàn)的錯誤情況和函數Message。函數Message根據錯誤情況得到相應顯示字符串。錯誤顯示頁面根據URL中錯誤代碼參數顯示不同的錯誤信息。</p><p><b> 4.5登錄頁面</b></p><p> 登錄頁面是所有用戶公用的功能。不同的用戶登錄到系
105、統(tǒng)中將轉向不同的頁面。解決方法運用了ASP.NET的內置對象Session記錄用戶登錄信息,同樣也可以在網站里隨時判斷用戶是否已經登錄。</p><p><b> 5 系統(tǒng)說明書</b></p><p><b> 5.1系統(tǒng)界面說明</b></p><p> 下面是在線選課系統(tǒng)的預覽,此處簡單介紹本系統(tǒng)的部分功能。&
106、lt;/p><p> 1.登錄頁面,如圖5-1:</p><p> 圖5-1用戶登錄界面</p><p> 在用戶名和密碼處輸入用戶名和密碼,在“用戶類型”下拉列表框中選擇“學生”,單擊“登錄”按鈕,登錄選課系統(tǒng)。</p><p><b> 主要代碼如下:</b></p><p> priv
107、ate void btnLogin_Click(object sender, System.EventArgs e)</p><p><b> {</b></p><p> int type = Int32.Parse(ddlType.SelectedItem.Value);</p><p> string user = txtUser.
108、Text.Trim();</p><p> string inputkey = txtKey.Text.Trim();</p><p> string key = "";</p><p> string sql = "";</p><p> DataSet ds;</p><
109、p> switch( type )</p><p><b> {</b></p><p> case 1://學生</p><p> //驗證學生身份代碼 </p><p><b> break;</b></p><p&g
110、t; case 2://教師</p><p> //驗證教師身份代碼</p><p><b> break;</b></p><p> case 3://系統(tǒng)管理員</p><p> //驗證管理員身份代碼</p><p><b> break;</b>
111、;</p><p><b> default;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> 查看必修課程列表頁面,如
112、圖5-2:</p><p> 圖5-2 必修課信息查詢</p><p> 登錄成功后,進入學生主頁,點擊“必修課程”鏈接,得到所有必修課程的列表,在列表中可以看到所有必修課程及課程的簡單信息,如授課教師姓名、課程所占學分等。</p><p> 在列表中可以點課程名稱,如“計算機應用基礎”鏈接,查看課程詳細信息;點教師姓名,如“李萍”鏈接,查看教師的詳細信息;
113、點擊“查看上課時間地點”鏈接,查看對應課程的上課時間和地點。</p><p> 在頁面加載的時候從數據庫讀取所有必修課信息,代碼如下:</p><p> string sql = "select Course.*,TName from Course,Teacher where CType like '必修' and Course.TId like Teache
114、r.TId";//查詢處所有必修課程信息</p><p> DataSet ds = Db.ExecuteSelectSql(sql);</p><p> if ( ds != null && ds.Tables.Count > 0 )</p><p><b> {</b></p><p
115、> dgCourse.DataSource = ds.Tables[0];</p><p> dgCourse.DataBind();//將查詢結果綁定到DataGrid中</p><p><b> }</b></p><p> 查看選修課程列表頁面,如圖5-3:</p><p> 圖5-3選修課信息查詢
116、</p><p> 單擊“選修課程”鏈接,查看所有選修課程列表,在列表中給出了比必修課程更多的信息,比如多了對應選修課程的前導課程、最大人數、當前已選人數等,對每個選修課程均有一個“選修該課程”的按鈕,單擊此按鈕方可選擇對應課程。</p><p> 主要代碼如下: </p><p> string sql = "select x.*,TName
117、,(select CName from Course as y where y.CId = x.CPreCId) as CPreCName from Course as x,Teacher where x.CType like '選修' and x.TId like Teacher.TId";</p><p> //查詢該學生已選修的課程</p><p> D
118、ataSet ds = Db.ExecuteSelectSql(sql);</p><p> if ( ds != null && ds.Tables.Count > 0 )</p><p><b> {</b></p><p> dgCourse.DataSource = ds.Tables[0];</p&g
119、t;<p> dgCourse.DataBind();</p><p> for ( int i = 0; i < ds.Tables[0].Rows.Count; i++ )</p><p><b> {</b></p><p> sql = "select count(*) from SC where
120、CId = "+ds.Tables[0].Rows[i]["CId"].ToString();</p><p> DataSet ds1 = Db.ExecuteSelectSql(sql);</p><p> if ( ds1 != null && ds1.Tables.Count > 0 && ds1.Tables
121、[0].Rows.Count > 0 )</p><p> dgCourse.Items[i].Cells[6].Text = ds1.Tables[0].Rows[0][0].ToString();</p><p><b> }</b></p><p><b> }</b></p><p&
122、gt; bool locked= bool.Parse(Session["Locked"].ToString());</p><p> if ( ! locked )</p><p><b> {</b></p><p> lbLock.Text = "您尚未鎖定選課信息!";</p>
123、<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> lbLock.Text = "選課信息已被鎖定!";</p><p> dgCourse.Columns
124、[9].Visible = false;</p><p><b> }</b></p><p> 查看已選課程頁面,如圖5-4:</p><p><b> 圖5-4 已選課程</b></p><p> 在上一步查看選修課程的列表中,選擇“計算機密碼學”、“計算機圖形學”、“線性代數”三門課程
125、后,點擊“已選課程”鏈接查看已經選擇的課程列表,在列表中除了可以看到與上一步中相同的信息外,還可以查看到課程成績。剛才選擇的三門課程的成績均為0,當課程結束后,教師登錄本系統(tǒng)給所有學生評分,學生再次瀏覽此頁面可查看到課程的成績,若成績合格,學生可獲得對應課程的學分。</p><p><b> 鎖定課程代碼如下:</b></p><p> string sql =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計--學生選課管理系統(tǒng)
- 畢業(yè)設計---學生選課管理系統(tǒng)
- 學生選課系統(tǒng)畢業(yè)設計
- 畢業(yè)設計(論文)-學生選課系統(tǒng)設計
- 畢業(yè)設計--學生選課系統(tǒng)的設計和開發(fā)
- 學生網上選課系統(tǒng)畢業(yè)設計
- 學分制學生選課系統(tǒng)畢業(yè)設計
- 基于jsp的學生選課系統(tǒng)畢業(yè)設計
- 基于jsp的學生選課排課系統(tǒng)畢業(yè)設計
- 基于java的學生選課系統(tǒng)設計與實現(xiàn)畢業(yè)設計
- 畢業(yè)設計-學生選課管理系統(tǒng)的整體網絡結構設計
- 畢業(yè)設計----網上選課系統(tǒng)設計
- 教務畢業(yè)設計選題與選課系統(tǒng)畢業(yè)設計
- 基于ajax的學生選課系統(tǒng)的設計與實現(xiàn)畢業(yè)設計
- 關于選課系統(tǒng)畢業(yè)設計論文
- 學生管理系統(tǒng)畢業(yè)設計
- 學生管理系統(tǒng)畢業(yè)設計
- 學生管理系統(tǒng)畢業(yè)設計
- 畢業(yè)設計--學生信息管理系統(tǒng)畢業(yè)設計
- 網上選課系統(tǒng)畢業(yè)設計3
評論
0/150
提交評論