基于機(jī)電學(xué)院選課系統(tǒng)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
已閱讀1頁(yè),還剩32頁(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>  基于機(jī)電學(xué)院選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  摘 要</b></p><p>  隨著在校大學(xué)生人數(shù)的不斷增加,教務(wù)系統(tǒng)的數(shù)據(jù)量也不斷的上漲。以往的選課方法是隨堂報(bào)名。這種方法雖然直接,但是造成選課的盲目性和教務(wù)處處理數(shù)據(jù)的繁重性。為了減輕教務(wù)處工作,以及每個(gè)學(xué)生更好的選擇自己所喜歡的科目。針對(duì)學(xué)生選課這一環(huán)節(jié),本系統(tǒng)從學(xué)生網(wǎng)上

2、自主選課以及教師的課程發(fā)布兩個(gè)大方面進(jìn)行了設(shè)計(jì),基本實(shí)現(xiàn)了學(xué)生的在線信息查詢、選課功能以及教師對(duì)課程信息發(fā)布的管理等功能。</p><p>  本文通過(guò)分析瀏覽器/服務(wù)器結(jié)構(gòu)的特點(diǎn)并結(jié)合選課的實(shí)際情況,提出了基于瀏覽器/服務(wù)器結(jié)構(gòu)網(wǎng)上選課系統(tǒng)的基本設(shè)計(jì)思想,簡(jiǎn)要介紹了系統(tǒng)各功能模塊及數(shù)據(jù)庫(kù)的設(shè)計(jì),著重討論了用 ASP.NET技術(shù)和SQL Server 2000開發(fā)網(wǎng)上選課系統(tǒng)時(shí)的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)和動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),

3、并給出了部分實(shí)現(xiàn)代碼。通過(guò)該系統(tǒng),使學(xué)生可以方便地在校園網(wǎng)上進(jìn)行網(wǎng)上選課。該B/S結(jié)構(gòu)的系統(tǒng)在Windows XP系統(tǒng)和VS.NET平臺(tái)下開發(fā)完成,使用C#作為ASP.NET的開發(fā)語(yǔ)言,SQL Server 2000作為數(shù)據(jù)庫(kù)。系統(tǒng)有較高的安全性和較好的性能。其中連接數(shù)據(jù)庫(kù)的字符串可以隨時(shí)在web.config里修改,并經(jīng)過(guò)編碼加密,增加了靈活性,保護(hù)了數(shù)據(jù)庫(kù)的安全。代碼盡量使用存儲(chǔ)過(guò)程和盡量減少數(shù)據(jù)庫(kù)連接的打開時(shí)間等手段來(lái)提高性能。&

4、lt;/p><p>  本文中除了有對(duì)程序的系統(tǒng)分析、總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、功能實(shí)現(xiàn)等主體部分外,在這之前還介紹了與網(wǎng)上選課系統(tǒng)相關(guān)的信息、IIS介紹、IIS與ASP.NET的結(jié)合等的基本內(nèi)容及發(fā)展情況。</p><p>  關(guān)鍵詞:網(wǎng)上選課,瀏覽器/服務(wù)器結(jié)構(gòu),ASP.NET,數(shù)據(jù)庫(kù)管理系</p><p><b>  目錄</b></p&g

5、t;<p><b>  摘 要1</b></p><p><b>  1. 引言2</b></p><p>  1.1課題研究的目的4</p><p>  1.2 課題研究的意義4</p><p>  1.3 課題的可行性分析5</p><p> 

6、 2. 系統(tǒng)分析與總體設(shè)計(jì)6</p><p><b>  2.1系統(tǒng)分析6</b></p><p>  2.2 系統(tǒng)總體設(shè)計(jì)7</p><p>  3.數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)9</p><p>  3.1數(shù)據(jù)庫(kù)系統(tǒng)分析9</p><p>  3.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)12</p>

7、<p>  3.3數(shù)據(jù)庫(kù)物理實(shí)現(xiàn)13</p><p>  4. 公共類與公共頁(yè)面設(shè)計(jì)16</p><p>  4.1 Web.config頁(yè)面設(shè)計(jì)16</p><p>  4.2 數(shù)據(jù)庫(kù)連接操作類—Db類19</p><p>  4.3 工具類MyUtility類20</p><p>  4.4

8、錯(cuò)誤信息類和錯(cuò)誤顯示頁(yè)面21</p><p>  5. 系統(tǒng)說(shuō)明書22</p><p>  5.1系統(tǒng)界面說(shuō)明22</p><p>  5.2 系統(tǒng)管理說(shuō)明27</p><p><b>  6. 總結(jié)34</b></p><p><b>  參考文獻(xiàn)35</b>&

9、lt;/p><p><b>  致 謝36</b></p><p><b>  1 引言</b></p><p>  1.1課題研究的目的</p><p>  1.掌握采用Internet的TCP/IP協(xié)議,以B/S方式,ASP.NET編程技術(shù),多媒體技術(shù)。</p><p>

10、;  2.掌握一種多任務(wù)多用戶操作系統(tǒng)</p><p>  3.ASP.NET的動(dòng)態(tài)網(wǎng)頁(yè)和SQL Server大型的數(shù)據(jù)庫(kù)。</p><p>  4.學(xué)會(huì)使用某種開發(fā)工具。</p><p>  5.培養(yǎng)相互合作的精神。</p><p>  1.2 課題研究的意義 </p><p>  學(xué)生選課系統(tǒng)是一個(gè)學(xué)校不可缺少的

11、部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以?lái)人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。</p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并

12、發(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ī)化管理,與世界接軌的重要條件。</p><p>  因此,開發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套

13、學(xué)生選課系統(tǒng)為例,談?wù)勂溟_發(fā)過(guò)程和所涉及到的問(wèn)題及解決方法。</p><p>  本文中所做的主要工作如下:</p><p>  (1)介紹了個(gè)性化頁(yè)面的背景及Win2000server+IIS+ASP.NET系統(tǒng)的一般原理;</p><p>  (2) 闡述整個(gè)個(gè)性化頁(yè)面生成系統(tǒng)的系統(tǒng)結(jié)構(gòu)及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)和重點(diǎn)。</p>&

14、lt;p>  (3) 設(shè)計(jì)實(shí)現(xiàn)用戶管理、課程管理、選課信息錄入管理、新生信息錄入管理、課程的瀏覽和查找、學(xué)生查找等ASP.NET頁(yè)面 。</p><p>  (4) 分析并解決實(shí)現(xiàn)中的若干技術(shù)問(wèn)題。 </p><p>  (5) 建立完整的網(wǎng)上選課,進(jìn)行測(cè)試并分析結(jié)果。</p><p>  1.3 課題的可行性分析</p><p>  

15、1.3.1 課題調(diào)研</p><p>  (1)與實(shí)踐活動(dòng)和相關(guān)的文件和資料由教師提供。</p><p>  (2)本課題要求學(xué)生有熟練的ASP.NET開發(fā)能力,有較強(qiáng)的自學(xué)能力以一定的關(guān)系數(shù)據(jù)庫(kù)理論開發(fā)功底。</p><p>  (3)具有對(duì)復(fù)雜表進(jìn)行處理的能力。</p><p>  (4)具體問(wèn)題再做詳細(xì)調(diào)查研究并與指導(dǎo)老師面談。<

16、/p><p>  1.3.2 可行性分析</p><p>  (1)技術(shù)可行性-----本系統(tǒng)僅需要一臺(tái)裝有Office軟件的計(jì)算機(jī)即可,對(duì)機(jī)器本身沒(méi)有太高的要求,一般當(dāng)前學(xué)校或個(gè)人電腦完全可滿足要求。對(duì)于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計(jì)語(yǔ)言已非常成熟,要運(yùn)用HTML樣式,圖形圖象制作工具來(lái)制作生動(dòng)活潑的網(wǎng)頁(yè)及美觀的圖形文件或動(dòng)畫文件,數(shù)據(jù)庫(kù)使用SQL Server 2000中提供的數(shù)據(jù)庫(kù)桌面工具

17、ODBC。</p><p>  (2) 經(jīng)濟(jì)可行性-----由于本系統(tǒng)是為學(xué)生選課管理使用的系統(tǒng),裝上該應(yīng)用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟(jì)上完全可行。</p><p>  (3) 操作可行性-----界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠

18、;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。第2章內(nèi)容主要是:系統(tǒng)需求分析包括,現(xiàn)有系統(tǒng)介紹;系統(tǒng)的實(shí)體分析,實(shí)體關(guān)系圖。</p><p>  2 系統(tǒng)分析與總體設(shè)計(jì)</p><p><b>  2.1系統(tǒng)分析</b></p><p>  在本系統(tǒng)中,有三類用戶:系統(tǒng)管理員,教師和學(xué)生。三種不同的用戶所具有的操作權(quán)限以及操作內(nèi)容均不一樣。<

19、/p><p>  本選課系統(tǒng)給予教師很大的自主權(quán),系統(tǒng)管理員只負(fù)責(zé)向系統(tǒng)中添加學(xué)生和教師的個(gè)人信息以及教學(xué)樓教室信息。系統(tǒng)管理員不參與開設(shè)課程、選擇課程等,一切均由教師、學(xué)生等錄網(wǎng)站自行完成。系統(tǒng)管理員設(shè)置一個(gè)選課時(shí)間段,在到達(dá)時(shí)間段以前,教師可以開設(shè)課程;到達(dá)時(shí)間段以后,學(xué)生可以登陸網(wǎng)站選擇課程。</p><p>  教師用戶登陸網(wǎng)站后可以開設(shè)課程,為自己的課程編輯上課時(shí)間和地點(diǎn),當(dāng)系統(tǒng)中出

20、現(xiàn)時(shí)間地點(diǎn)沖突的時(shí)候,系統(tǒng)向教師用戶報(bào)告并推薦一個(gè)時(shí)間地點(diǎn)。每門課程可以是必修或則選修,教師為每門課程設(shè)置一個(gè)學(xué)分,并可以在課程結(jié)束后給予分?jǐn)?shù),如果學(xué)生及格,學(xué)生將獲得該課程的學(xué)分。</p><p>  對(duì)于學(xué)生用戶,每個(gè)學(xué)生除了必須選擇必修課程外,至少還要選擇兩門選修課程,學(xué)生可以對(duì)自己選課信息鎖定,以免不小心被修改。當(dāng)時(shí)候超過(guò)選課時(shí)段后,系統(tǒng)自動(dòng)鎖定學(xué)生的選課課程。系統(tǒng)可以根據(jù)學(xué)生的選課信息,生成一份學(xué)生自己

21、的課表。課程結(jié)束后學(xué)生可登錄網(wǎng)站查詢成績(jī)與學(xué)分。</p><p>  根據(jù)上面的要求,從操作功能上可以分為兩個(gè)類:一個(gè)是通用操作,主要實(shí)現(xiàn)用戶的登錄注銷和修改密碼等;另一種是為不同用戶定制不同操作。</p><p><b>  1.通用操作</b></p><p><b>  (1)登錄與注銷</b></p>

22、<p>  每個(gè)用戶都可以用自己的帳號(hào)登錄系統(tǒng)。用戶操作完成后推出系統(tǒng),注銷后可以重新登錄系統(tǒng)。</p><p><b>  (2)修改密碼</b></p><p>  每個(gè)用戶第一次登錄都用默認(rèn)密碼(教師和學(xué)生與帳號(hào)一樣)。</p><p><b>  2.用戶所具有功能</b></p><

23、;p><b>  (1)系統(tǒng)管理員</b></p><p>  設(shè)置選課時(shí)間段:系統(tǒng)管理員通過(guò)此項(xiàng)功能設(shè)置選課時(shí)段,只有在選課時(shí)間段里,學(xué)生才可以選擇課程,超過(guò)次時(shí)間段,學(xué)生選課信息被自動(dòng)所定,不得修改。</p><p>  錄入學(xué)生與教師個(gè)人信息:通過(guò)此項(xiàng)功能可以實(shí)現(xiàn)對(duì)教師和學(xué)生的個(gè)人信息添加刪除。</p><p>  錄入教學(xué)樓教室信

24、息:通過(guò)此項(xiàng)功能可以把學(xué)校里所有的教學(xué)樓教室的信息錄入到系統(tǒng)中,以便教師在開設(shè)課程時(shí)候設(shè)置上課的教室。</p><p><b>  (1)教師用戶</b></p><p>  顯示和修改個(gè)人信息:教師用戶登錄系統(tǒng)后,可以查看和修改教師的個(gè)人信息,如姓名,電話,E-mail地址等。</p><p>  開設(shè)課程:教師用戶登錄系統(tǒng)后,可以開設(shè)課程,

25、可以設(shè)置該課程為必修課程或則選修課程,可以設(shè)置該課程的最大人數(shù)。教師還可以為該課程設(shè)置一個(gè)前導(dǎo)課程,若學(xué)生沒(méi)有學(xué)習(xí)或則選擇前導(dǎo)課程則不能選擇該課程。</p><p>  編輯課程上課時(shí)間:教師在開設(shè)了課程后,可以靈活地設(shè)置上課時(shí)間和地點(diǎn)。</p><p>  給學(xué)生分?jǐn)?shù):課程結(jié)束后,教師用戶登錄系統(tǒng),可以為學(xué)過(guò)課程的學(xué)生給予相應(yīng)的成績(jī),若</p><p>  及格,

26、給予學(xué)生學(xué)分。</p><p><b>  (1)學(xué)生用戶</b></p><p>  顯示和修改個(gè)人信息:學(xué)生登錄系統(tǒng)后,可以查看和修改學(xué)生的個(gè)人信息,如姓名,性別,電話等。</p><p>  查看必修課程:學(xué)生登錄后,可以查看所有的必修課程。查看該課程的信息,上課時(shí)間地點(diǎn),開課教師信息等。</p><p>  選擇

27、選修課程:學(xué)生登錄系統(tǒng)后,在所有選修課程中可以選擇至少兩門選修課程。同時(shí)可以查看相關(guān)信息。</p><p>  鎖定選課信息:學(xué)生登錄系統(tǒng),確定了所選課程后,可以鎖定自己的選課信息,以防被別人或則自己不小心修改。</p><p>  查看最終選課信息:學(xué)生登錄系統(tǒng)后,可列出已選擇的課程,若選課信息未被鎖定,則可以退選,若所選課程少于兩門,系統(tǒng)會(huì)提示選擇的課程少于兩門。</p>

28、<p><b>  查看學(xué)分和成績(jī)</b></p><p>  課程結(jié)束后,學(xué)生登錄系統(tǒng)可查看自己學(xué)習(xí)課程的成績(jī)和已獲的學(xué)分。</p><p>  2.2 系統(tǒng)總體設(shè)計(jì)</p><p>  在前面的系統(tǒng)的系統(tǒng)功能分析中,將系統(tǒng)劃分成10個(gè)模塊,如圖:</p><p>  用戶登錄身份驗(yàn)證模塊驗(yàn)證用戶名和密碼,

29、并根據(jù)不同的用戶類型,跳轉(zhuǎn)到對(duì)應(yīng)的頁(yè)面中。設(shè)置選課時(shí)間模塊提供給系統(tǒng)管理員修改選課時(shí)間段。錄入信息模塊提供給系統(tǒng)管理員,用來(lái)錄入學(xué)生和教師信息,以及錄入教學(xué)樓教室等信息。開設(shè)課程模塊提供給教師用戶,用來(lái)開設(shè)一門必修課程或則選修課程。編輯課程時(shí)間地點(diǎn)模塊提供給教師用戶,編輯課程的上課時(shí)間地點(diǎn)友好的界面和操作。評(píng)分模塊用于教師用戶給選修該教師開設(shè)的課程的學(xué)生評(píng)分。查看課程模塊包括查看必修課程、查看選修課程、查看已選課程、查看課程成績(jī)單。選課

30、和鎖定模塊中實(shí)現(xiàn)選擇選修課程和鎖定選課信息的功能</p><p>  3 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)</p><p>  數(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ù)軟件有很多,如Microsoft SQL Server 2000等。本系統(tǒng)中數(shù)據(jù)庫(kù)采用Microsoft SQL

31、Server 2000作為數(shù)據(jù)庫(kù)工具。數(shù)據(jù)庫(kù)是網(wǎng)站的核心,數(shù)據(jù)庫(kù)設(shè)計(jì)的合理與否對(duì)網(wǎng)站的建設(shè)有著至關(guān)重要的影響。一個(gè)良好的數(shù)據(jù)庫(kù)開發(fā)過(guò)程一般是先系統(tǒng)分析,再邏輯設(shè)計(jì),然后物理實(shí)現(xiàn)。系統(tǒng)分析中分析數(shù)據(jù)庫(kù)用戶需求,并畫出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ù)。&

32、lt;/p><p>  3.1數(shù)據(jù)庫(kù)系統(tǒng)分析</p><p>  本系統(tǒng)的數(shù)據(jù)庫(kù)實(shí)體主要有“學(xué)生”、“教師”、“教學(xué)樓”、“教室”、“課程”等。其中“教師”與“課程”存在“開設(shè)”聯(lián)系,并且一個(gè)教師可以開設(shè)N門課程,即“教師”與“課程”之間是一對(duì)多的關(guān)系。同樣“教學(xué)樓”與“教室”也存在一對(duì)多的關(guān)系。一個(gè)學(xué)生可以學(xué)習(xí)N門課程,一門課程可以有M個(gè)學(xué)生學(xué)習(xí),即“學(xué)生”與“課程”之間是多對(duì)多的關(guān)系。同樣

33、“課程”與“教室”之間也是多對(duì)多的關(guān)系。整個(gè)數(shù)據(jù)庫(kù)可以用一個(gè)E-R圖表示,如圖:</p><p>  E—R圖中的實(shí)體圖:</p><p>  3.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)就是將E—R圖轉(zhuǎn)換為關(guān)系模型的過(guò)程,即將所有實(shí)體和關(guān)系轉(zhuǎn)換成一系列的關(guān)系模式。轉(zhuǎn)換過(guò)程中常見(jiàn)規(guī)則有:</p><p>  (1)一個(gè)實(shí)體型轉(zhuǎn)換

34、為一個(gè)關(guān)系模式;</p><p>  (2)一個(gè)一對(duì)一的聯(lián)系可轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與任意一端對(duì)應(yīng)的關(guān)系模式合并;</p><p>  (3)一個(gè)一對(duì)多的聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與多的那一端對(duì)應(yīng)的關(guān)系模式合并;</p><p>  (4)一個(gè)多對(duì)多的關(guān)系轉(zhuǎn)換成一個(gè)關(guān)系模式。</p><p>  根據(jù)以上四條規(guī)則,下面將E

35、—R圖轉(zhuǎn)換成關(guān)系模型。</p><p>  對(duì)于“教學(xué)樓”、“教室”和兩者之間的關(guān)系,就可以根據(jù)規(guī)則(3)轉(zhuǎn)換成兩個(gè)關(guān)系模式</p><p>  教學(xué)樓(教學(xué)樓ID,教學(xué)樓名稱)</p><p>  教室(教室ID,教學(xué)樓ID,教室名稱)</p><p>  對(duì)于“學(xué)生”、“課程”和它們之間的“選修”關(guān)系就可以規(guī)則(4)轉(zhuǎn)換成三個(gè)關(guān)系模式。&

36、lt;/p><p>  學(xué)生(學(xué)號(hào),姓名,性別,年齡,登陸密碼,學(xué)分,地址,電話,電子郵件)</p><p>  課程(課程編碼,課程名稱,開課教師編號(hào),學(xué)分,最大人數(shù),課程簡(jiǎn)介,前導(dǎo)課程編號(hào))</p><p>  選課(學(xué)號(hào),課程編號(hào),成績(jī))</p><p>  依次類推,剩下的關(guān)系轉(zhuǎn)換成下面三個(gè)關(guān)系模式:</p><p&g

37、t;  教師(教師編號(hào),姓名,性別,年齡,電話,電子郵件,個(gè)人簡(jiǎn)介)</p><p>  課程時(shí)間地點(diǎn)(課程編號(hào),開始周次,結(jié)束周次,上課時(shí)間,上課教室ID)</p><p>  管理員(帳號(hào),密碼)</p><p>  3.3數(shù)據(jù)庫(kù)物理實(shí)現(xiàn)</p><p>  經(jīng)過(guò)數(shù)據(jù)庫(kù)系統(tǒng)分析和邏輯設(shè)計(jì)后,數(shù)據(jù)庫(kù)的結(jié)構(gòu)已經(jīng)非常清晰,剩下的就是用一種數(shù)據(jù)庫(kù)

38、軟件實(shí)現(xiàn)這樣的結(jié)構(gòu)。本系統(tǒng)中數(shù)據(jù)庫(kù)采用Microsoft SQL Server 2000作為數(shù)據(jù)庫(kù)。首先我們?cè)贛icrosoft SQL Server 2000的“企業(yè)管理器”創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),我們命名為“SC”,如圖3-1:</p><p><b>  圖3-1</b></p><p>  選中SC數(shù)據(jù)庫(kù),向數(shù)據(jù)庫(kù)中添加8個(gè)表:Student,Teacher,Cour

39、se,SC,CourseTime,Building,Room和Admin,每個(gè)表與邏輯設(shè)計(jì)中一種的關(guān)系模式相對(duì)應(yīng)。下面是每個(gè)數(shù)據(jù)表中的屬性,包括屬性列的名稱、數(shù)據(jù)類型、長(zhǎng)度、是否可以為空和備注說(shuō)明等內(nèi)容。</p><p>  (1)Student表。Student表用來(lái)存儲(chǔ)學(xué)生的個(gè)人信息,使用學(xué)號(hào)作為主鍵,如圖3-2:</p><p><b>  圖3-2</b>&l

40、t;/p><p>  (2)Teacher表。Teacher表用來(lái)存儲(chǔ)教師的個(gè)人信息,用學(xué)校分配給教師的教師編號(hào)作為主鍵,這樣可以避免重復(fù),如圖3-3:</p><p><b>  圖3-3</b></p><p>  (3)Course表。Course表用來(lái)存儲(chǔ)課程信息,Course表以課程編號(hào)為主鍵,設(shè)置課程編號(hào)自動(dòng)增加1(通過(guò)建表的時(shí)候?qū)傩?/p>

41、列設(shè)置“標(biāo)識(shí)”,并設(shè)置“標(biāo)識(shí)遞增量”為1)。表中開課教師Id為外鍵,所有“TId”的值必須是Teacher表中的“TId”值。設(shè)置外鍵關(guān)系可以通過(guò)在建立表的窗口中單擊右鍵,在右鍵菜單中選擇“關(guān)系”,在彈出的對(duì)話框中設(shè)置外鍵關(guān)系。如圖3-4:</p><p><b>  圖3-4</b></p><p>  (4)SC表。SC表用于存儲(chǔ)學(xué)生的選課信息,在SC表中學(xué)號(hào)和課

42、程編號(hào)是主鍵,同時(shí)也是外鍵。如圖3-5:</p><p><b>  圖3-5</b></p><p>  (5)CourseTime表。CourseTime表用來(lái)存放課程的上課時(shí)間和上課地點(diǎn)信息,其中課程編號(hào)和教室編號(hào)為外鍵。如圖3-6:</p><p><b>  圖3-6</b></p><p&g

43、t;  (6)Building表。Building表用來(lái)存放教學(xué)樓信息,Building表中教學(xué)樓編號(hào)為主鍵,自動(dòng)增加1。如圖3-7:</p><p><b>  圖3-7</b></p><p>  (7)Room表。Room表用來(lái)存放教室信息,在Room表中,教室編號(hào)為主鍵,自動(dòng)增加1,教學(xué)編號(hào)為外鍵。如圖3-8:</p><p><

44、b>  圖3-8</b></p><p>  (8)Admin表。Admin表用來(lái)存放系統(tǒng)管理員信息,如圖3-9:</p><p><b>  圖3-9</b></p><p>  4公共類與公共頁(yè)面設(shè)計(jì)</p><p>  4.1 Web.config頁(yè)面設(shè)計(jì)</p><p>

45、  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>  <?xml version="1.0" encoding="utf-8&qu

46、ot; ?></p><p>  <configuration></p><p>  <system.web></p><p>  <!-- 動(dòng)態(tài)調(diào)試編譯設(shè)置 compilation debug="true" 以啟用 ASPX 調(diào)試。否則,將此值設(shè)置為</p><p>  false

47、將提高此應(yīng)用程序的運(yùn)行時(shí)性能。</p><p>  設(shè)置 compilation debug="true" 以將調(diào)試符號(hào)(.pdb 信息)</p><p>  插入到編譯頁(yè)中。因?yàn)檫@將創(chuàng)建執(zhí)行起來(lái)</p><p>  較慢的大文件,所以應(yīng)該只在調(diào)試時(shí)將此值設(shè)置為 true,而在所有其他時(shí)候都設(shè)置為false。有關(guān)更多信息,請(qǐng)參考有調(diào)試 ASP.N

48、ET 文件的文檔--></p><p>  <compilation </p><p>  defaultLanguage="c#"</p><p>  debug="true"</p><p><b>  /></b></p><p> 

49、 <!-- 自定義錯(cuò)誤信息</p><p>  設(shè)置 customErrors mode="On" 或 "RemoteOnly" 以啟用自定義錯(cuò)誤信息,或設(shè)置為 "Off" 以禁用自定義錯(cuò)誤信息。 </p><p>  為每個(gè)要處理的錯(cuò)誤添加 <error> 標(biāo)記。</p><p>  

50、"On" 始終顯示自定義(友好的)信息。</p><p>  "Off" 始終顯示詳細(xì)的 ASP.NET 錯(cuò)誤信息。</p><p>  "RemoteOnly" 只對(duì)不在本地 Web 服務(wù)器上運(yùn)行的</p><p>  用戶顯示自定義(友好的)信息。出于安全目的,建議使用此設(shè)置,以便 </p>

51、<p>  不向遠(yuǎn)程客戶端顯示應(yīng)用程序的詳細(xì)信息。</p><p><b>  --></b></p><p>  <customErrors </p><p>  mode="RemoteOnly" </p><p><b>  /> </b>&

52、lt;/p><p>  <!-- 身份驗(yàn)證 </p><p>  此節(jié)設(shè)置應(yīng)用程序的身份驗(yàn)證策略??赡艿哪J绞?"Windows"、 </p><p>  "Forms"、 "Passport" 和 "None"</p><p>  "None&qu

53、ot; 不執(zhí)行身份驗(yàn)證。 </p><p>  "Windows" IIS 根據(jù)應(yīng)用程序的設(shè)置執(zhí)行身份驗(yàn)證 </p><p>  (基本、簡(jiǎn)要或集成 Windows)。在 IIS 中必須禁用匿名訪問(wèn)。</p><p>  "Forms" 您為用戶提供一個(gè)輸入憑據(jù)的自定義窗體(Web 頁(yè)),然后 </p><

54、p>  在您的應(yīng)用程序中驗(yàn)證他們的身份。用戶憑據(jù)標(biāo)記存儲(chǔ)在 Cookie 中。</p><p>  "Passport" 身份驗(yàn)證是通過(guò) Microsoft 的集中身份驗(yàn)證服務(wù)執(zhí)行的,</p><p>  它為成員站點(diǎn)提供單獨(dú)登錄和核心配置文件服務(wù)。</p><p><b>  --></b></p>

55、<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ù)代碼的編寫,所以對(duì)數(shù)據(jù)庫(kù)操作做了簡(jiǎn)單的封裝—Db類。在Db類

56、中有三個(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)椋合韧ㄟ^(guò)SqlCon

57、nection的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>  /// <summary></p><p>  /// 執(zhí)行select類型的sql語(yǔ)句,返回s

58、elect得到的數(shù)據(jù)集</p><p>  /// </summary></p><p>  /// <param name="sqlSelect">select語(yǔ)句</param></p><p>  /// <returns>返回select得到的數(shù)據(jù)集</returns></

59、p><p>  public static DataSet ExecuteSelectSql( string sqlSelect </p><p><b>  {</b></p><p>  SqlConnection conn = new SqlConnection(connString);</p><p>  SqlD

60、ataAdapter sda = new SqlDataAdapter(sqlSelect,conn);</p><p>  DataSet ds = new DataSet();</p><p><b>  try</b></p><p><b>  {</b></p><p>  sda.Fil

61、l(ds);</p><p><b>  }</b></p><p>  catch(SqlException e)</p><p><b>  {</b></p><p>  throw new Exception(e.Message);</p><p><b>

62、  }</b></p><p>  return ds;</p><p><b>  } </b></p><p>  ExecuteSql函數(shù)代碼如下:</p><p>  public static int ExecuteSql( string sql )</p><p>  4.

63、3 工具類MyUtility類</p><p>  在網(wǎng)站的編寫過(guò)程中經(jīng)常會(huì)有很多公共函數(shù)調(diào)用,把它們都寫在一個(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è)不可逆的加密算法,通常用于重要信息的加密,如登錄密碼,在ASP.NET中,提供有MD5

64、的算法實(shí)現(xiàn)函數(shù),調(diào)用MD5算法代碼如下:</p><p>  public static string MD5(string str)</p><p><b>  {</b></p><p>  string result = "";</p><p>  result = FormsAuthentic

65、ation.HashPasswordForStoringInConfigFile(str,"MD5");</p><p>  return result;</p><p><b>  }</b></p><p>  Alert靜態(tài)成員函數(shù)的功能是顯示一個(gè)提示對(duì)話框,在網(wǎng)站的運(yùn)行過(guò)程中,經(jīng)常需要給用戶一些即時(shí)反饋,比如修改密碼

66、成功,選課成功等提示框。代碼如</p><p><b>  下:</b></p><p>  public static string Alert(string s)</p><p><b>  {</b></p><p>  return "<script language=\&q

67、uot;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è),依次類推。代碼如下:&l

68、t;/p><p>  public static string Back(int i)</p><p><b>  {</b></p><p>  return "<script language=\"javascript\">location.href=\"javascript:history.

69、go("+i+");\";</script>";</p><p><b>  }</b></p><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ò)誤顯

70、示頁(yè)面。在錯(cuò)誤信息類ErrorInfo類中,定義了所有的本系統(tǒng)中所出現(xiàn)的錯(cuò)誤情況和函數(shù)Message。函數(shù)Message根據(jù)錯(cuò)誤情況得到相應(yīng)顯示字符串。錯(cuò)誤顯示頁(yè)面根據(jù)URL中錯(cuò)誤代碼參數(shù)顯示不同的錯(cuò)誤信息。</p><p><b>  4.5登錄頁(yè)面</b></p><p>  登錄頁(yè)面是所有用戶公用的功能。不同的用戶登錄到系統(tǒng)中將轉(zhuǎn)向不同的頁(yè)面。解決方法運(yùn)用了AS

71、P.NET的內(nèi)置對(duì)象Session記錄用戶登錄信息,同樣也可以在網(wǎng)站里隨時(shí)判斷用戶是否已經(jīng)登錄。</p><p><b>  5 系統(tǒng)說(shuō)明書</b></p><p><b>  5.1系統(tǒng)界面說(shuō)明</b></p><p>  下面是在線選課系統(tǒng)的預(yù)覽,此處簡(jiǎn)單介紹本系統(tǒng)的部分功能。</p><p>

72、  1.登錄頁(yè)面,如圖5-1:</p><p><b>  圖5-1</b></p><p>  在用戶名和密碼處輸入用戶名和密碼,在“用戶類型”下拉列表框中選擇“學(xué)生”,單擊“登錄”按鈕,登錄選課系統(tǒng)。</p><p><b>  主要代碼如下:</b></p><p>  private voi

73、d 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.Text.Tr

74、im();</p><p>  string inputkey = txtKey.Text.Trim();</p><p>  string key = "";</p><p>  string sql = "";</p><p>  DataSet ds;</p><p>  

75、switch( type )</p><p><b>  {</b></p><p>  case 1://學(xué)生</p><p>  //驗(yàn)證學(xué)生身份代碼 </p><p><b>  break;</b></p><p>  cas

76、e 2://教師</p><p>  //驗(yàn)證教師身份代碼</p><p><b>  break;</b></p><p>  case 3://系統(tǒng)管理員</p><p>  //驗(yàn)證管理員身份代碼</p><p><b>  break;</b></p

77、><p><b>  default;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  查看必修課程列表頁(yè)面,如圖5-2:&l

78、t;/p><p><b>  圖5-2</b></p><p>  登錄成功后,進(jìn)入學(xué)生主頁(yè),點(diǎn)擊“必修課程”鏈接,得到所有必修課程的列表,在列表中可以看到所有必修課程及課程的簡(jiǎn)單信息,如授課教師姓名、課程所占學(xué)分等。</p><p>  在列表中可以點(diǎn)課程名稱,如“計(jì)算機(jī)應(yīng)用基礎(chǔ)”鏈接,查看課程詳細(xì)信息;點(diǎn)教師姓名,如“李萍”鏈接,查看教師的詳細(xì)

79、信息;點(diǎn)擊“查看上課時(shí)間地點(diǎn)”鏈接,查看對(duì)應(yīng)課程的上課時(shí)間和地點(diǎn)。</p><p>  在頁(yè)面加載的時(shí)候從數(shù)據(jù)庫(kù)讀取所有必修課信息,代碼如下:</p><p>  string sql = "select Course.*,TName from Course,Teacher where CType like '必修' and Course.TId like Tea

80、cher.TId";//查詢處所有必修課程信息</p><p>  DataSet ds = Db.ExecuteSelectSql(sql);</p><p>  if ( ds != null && ds.Tables.Count > 0 )</p><p><b>  {</b></p>&l

81、t;p>  dgCourse.DataSource = ds.Tables[0];</p><p>  dgCourse.DataBind();//將查詢結(jié)果綁定到DataGrid中</p><p><b>  }</b></p><p>  查看選修課程列表頁(yè)面,如圖5-3:</p><p><b> 

82、 圖5-</b></p><p>  5.2 系統(tǒng)管理說(shuō)明</p><p>  系統(tǒng)管理員主要有三個(gè)功能需要實(shí)現(xiàn):設(shè)置選課時(shí)間段、錄入學(xué)生和教師信息、錄入教學(xué)樓教室信息。</p><p>  設(shè)置開始選課時(shí)間段:選課時(shí)間段存儲(chǔ)在項(xiàng)目目錄下的time.txt文件中。文件中第一行表示開始時(shí)間,第二行表示結(jié)束時(shí)間。如圖5-5:</p><p

83、><b>  如圖5-5</b></p><p><b>  設(shè)置時(shí)間代碼如下:</b></p><p>  DateTime dtStart,dtEnd;</p><p><b>  Tr)</b></p><p>  dtStart = DateTime.Parse(

84、txttimeStart.Text);</p><p>  dtEnd = DateTime.Parse(txtTimeEnd.Text);</p><p><b>  }</b></p><p><b>  catch</b></p><p><b>  {</b></

85、p><p>  Response.Write(MyUtility.Alert("輸入錯(cuò)誤"));</p><p><b>  return;</b></p><p><b>  }</b></p><p>  StreamWriter sw = new StreamWriter(&q

86、uot;http://localhost/sc/login.aspx",false);</p><p>  sw.WriteLine(dtStart.ToString());//寫入開始時(shí)間</p><p>  sw.WriteLine(dtEnd.ToString());//寫入結(jié)束時(shí)間</p><p>  sw.Close();</p>

87、<p>  lbTime.Text = "選課時(shí)間為:"+dtStart.ToString()+"到"+dtEnd.ToString(); //更新選課時(shí)間段顯示</p><p>  錄入學(xué)生和教師信息:在AdminUser.Aspx中,用與錄入學(xué)生和教師信息。如圖5-6:</p><p><b>  圖5-6</b>

88、;</p><p><b>  添加教師代碼如下:</b></p><p>  private void btnAddTearcher_Click(object sender, System.EventArgs e)</p><p><b>  {</b></p><p>  string sql

89、= "insert into Teacher(TId,TKey,TName) values('"+txtTId.Text.Trim()</p><p>  +"','"+MyUtility.MD5(txtTId.Text.Trim())+"','"+txtTName.Text.Trim()+"')

90、";</p><p><b>  try</b></p><p><b>  {</b></p><p>  if ( Db.ExecuteSql(sql) == 1 )</p><p><b>  {</b></p><p>  sql =

91、"select * from Teacher";</p><p>  DataSet ds1 = Db.ExecuteSelectSql(sql);</p><p>  if ( ds1 != null && ds1.Tables.Count > 0 )</p><p><b>  {</b></

92、p><p>  dgViewT.DataSource = ds1.Tables[0]</p><p>  dgViewT.DataBind();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else<

93、/b></p><p><b>  {</b></p><p>  Response.Write( MyUtility.Alert("添加失敗-_-,請(qǐng)檢查編號(hào)是否已經(jīng)存在!") );</p><p><b>  return;</b></p><p><b> 

94、 }</b></p><p><b>  }</b></p><p><b>  catch</b></p><p><b>  {</b></p><p>  Response.Write( MyUtility.Alert("添加失敗-_-,請(qǐng)檢查編號(hào)是

95、否已經(jīng)存在!") );</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  錄入教學(xué)樓教室信息:在AdminRoom.Aspx中,教學(xué)樓和教室的管理主要包括添加和刪除操

96、作,添加一個(gè)教室必須指定其所屬的教學(xué)樓。如圖5-7:</p><p><b>  圖5-7</b></p><p>  添加教學(xué)樓代碼如下:</p><p>  private void btnAddBuilding_Click(object sender, System.EventArgs e)</p><p><

97、;b>  {</b></p><p>  if ( txtBuilding.Text.Trim() == "" )</p><p><b>  {</b></p><p>  Response.Write(MyUtility.Alert("請(qǐng)輸入教學(xué)樓名稱!"));</p>

98、<p><b>  return;</b></p><p><b>  }</b></p><p>  string sql = "insert into Building(BuildingName) values('"+txtBuilding.Text.Trim()+"')";

99、</p><p>  Db.ExecuteSql(sql);</p><p><b>  }</b></p><p><b>  5.2教師管理說(shuō)明</b></p><p>  教師用戶的功能需求有個(gè)人信息的管理、開設(shè)課程、課程時(shí)間地點(diǎn)編輯、設(shè)置學(xué)生成績(jī)。</p><p> 

100、 教師個(gè)人信息:在Teacher.Aspx中,在這里可以修改密碼和添寫教師個(gè)人信息。如圖5-10:</p><p><b>  如圖5-10 </b></p><p>  Response.Write(MyUtility.Alert("修改成功!"));</p><p><b>  else</b>&

101、lt;/p><p>  Response.Write(MyUtility.Alert("修改失??!"));</p><p>  開設(shè)課程:在NewCourse.Aspx中,在這里可以添加新課程,其中包括課程名稱、課程類型、 學(xué)分、前導(dǎo)課程、最大人數(shù)、課程介紹。如圖5-11:</p><p><b>  如圖5-11&l

102、t;/b></p><p>  從數(shù)據(jù)庫(kù)讀取所有課程編號(hào)和課程名稱代碼如下:</p><p>  ddlCPreCId.Items.Clear();</p><p>  ddlCPreCId.Items.Add("請(qǐng)選擇");</p><p>  string sql = "select CId,CName

103、 from Course";</p><p>  DataSet ds = Db.ExecuteSelectSql(sql);</p><p>  if ( ds != null && ds.Tables.Count > 0 )</p><p><b>  {</b></p><p>  

104、for ( int i = 0; i < ds.Tables[0].Rows.Count; i++ )</p><p>  ddlCPreCId.Items.Add( new </p><p>  ListItem( ds.Tables[0].Rows[i]["CName"].ToString(), ds.Tables[0].Rows[i]["CId&q

105、uot;].ToString() ) );</p><p><b>  }</b></p><p>  ddlCPreCId.SelectedIndex = 0;</p><p>  課程時(shí)間地點(diǎn)編輯:在TeacherMain.Aspx中,在這里可以編輯課程時(shí)間和地點(diǎn)。如圖5-12:</p><p><b> 

106、 6 總結(jié)</b></p><p>  經(jīng)過(guò)幾個(gè)月的學(xué)習(xí),研究和開發(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)

107、目,雖然過(guò)程中遇到了許多困難,在同學(xué)和老師的幫助下一一克服了。通過(guò)不斷的發(fā)現(xiàn)問(wèn)題,總結(jié)問(wèn)題和解決問(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ù)開發(fā)與實(shí)例》,清華大學(xué)出版社,出版2006年7月</p><

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

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

110、地方和功能上的缺陷,這些都有待于進(jìn)一步改善。</p><p>  論文完成的前提是xxx老師給我提供了舒適的工作、學(xué)習(xí)環(huán)境,并給予我悉心的關(guān)懷與指導(dǎo)。在些表示衷心地感謝。老師認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,使我深受啟發(fā);開發(fā)的同時(shí),和同學(xué)們之間的相互探討也使我獲益匪淺。幾個(gè)月的時(shí)間內(nèi),我除基本學(xué)會(huì)開發(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)論