聊天室畢業(yè)設(shè)計(jì)說明書_第1頁(yè)
已閱讀1頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  為了方便網(wǎng)絡(luò)信息的交流,在結(jié)合動(dòng)態(tài)服務(wù)網(wǎng)頁(yè)(ASP.NET)技術(shù)和SQL數(shù)據(jù)庫(kù)技術(shù)以及常用的C#語言網(wǎng)頁(yè)制作工具Visual Studio .NET等之下開發(fā)了這個(gè)快截、界面友好的網(wǎng)絡(luò)交流系統(tǒng)。本設(shè)計(jì)使用動(dòng)態(tài)服務(wù)網(wǎng)頁(yè)(ASP.NET)技術(shù)建設(shè),使用SQL制作系統(tǒng)的數(shù)據(jù)庫(kù),實(shí)現(xiàn)了一個(gè)功能相對(duì)齊全的聊天設(shè)計(jì)系統(tǒng),網(wǎng)友可以自由地申

2、請(qǐng)和登陸以及與他人溝通,或者交流經(jīng)驗(yàn)。該聊天室功能較齊全,在這里可以自由地發(fā)表自己的語言和各種表情的表達(dá),我們還可以用管理員登陸來在線管理聊天室內(nèi)的用戶。聊天室還有一些特殊的功能,如在線人員顯示、互相悄悄話等。</p><p>  整個(gè)個(gè)性化頁(yè)面生成系統(tǒng)主要由使用Visual Studio .NET開發(fā)的關(guān)聯(lián)規(guī)則采掘系統(tǒng)和利用IIS+ASP.NET技術(shù)實(shí)現(xiàn)的個(gè)性化Web頁(yè)面生成器兩部分組成。關(guān)聯(lián)規(guī)則采掘系統(tǒng)對(duì)數(shù)據(jù)

3、庫(kù)中的歷史記錄進(jìn)行分析,產(chǎn)生用戶關(guān)聯(lián)規(guī)則表;頁(yè)面生成器則負(fù)責(zé)記錄用戶行為和根據(jù)關(guān)聯(lián)規(guī)則表動(dòng)態(tài)生成用戶個(gè)性化Web頁(yè)面。二者通過數(shù)據(jù)庫(kù)服務(wù)器和Web服務(wù)器連接。</p><p>  本文作者主要完成Web客戶端及后臺(tái)管理中的用戶管理、言論管理、版面管理、數(shù)據(jù)庫(kù)管理、瀏覽和查找、短消息功能等設(shè)計(jì)、實(shí)現(xiàn)與完善以及整個(gè)實(shí)驗(yàn)網(wǎng)站的組織建立和測(cè)試工作。</p><p>  關(guān)鍵詞:動(dòng)態(tài)服務(wù)網(wǎng)頁(yè),聊天室

4、</p><p><b>  目 錄</b></p><p>  第1章 緒 論1</p><p>  第2章 開發(fā)技術(shù)及運(yùn)行環(huán)境2</p><p>  2.1 ASP.NET技術(shù)的使用2</p><p>  2.1.1 ASP.NET的介紹2</p><p&g

5、t;  2.1.2 ASP.NET技術(shù)的使用3</p><p>  2.2 SQL Server 2005的使用4</p><p>  2.3應(yīng)用MVC結(jié)構(gòu)6</p><p>  2.3.1 MVC設(shè)計(jì)思想6</p><p>  2.3.2 MVC設(shè)計(jì)模式的實(shí)現(xiàn)7</p><p>  2.4應(yīng)用C#編程語言

6、8</p><p>  2.5系統(tǒng)流程的實(shí)現(xiàn)11</p><p>  第3章 總體設(shè)計(jì)13</p><p>  3.1項(xiàng)目規(guī)劃13</p><p>  3.2使用操作描述13</p><p>  3.3數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p>  3.3.1數(shù)據(jù)庫(kù)字典13</p>

7、<p>  3.3.2數(shù)據(jù)庫(kù)實(shí)體分析16</p><p>  第4章 詳細(xì)設(shè)計(jì)18</p><p>  4.1后臺(tái)管理功能實(shí)現(xiàn)18</p><p>  4.2前臺(tái)功能的實(shí)現(xiàn)20</p><p>  第5章 編碼實(shí)現(xiàn)22</p><p>  5.1顯示信息的代碼22</p>&

8、lt;p>  5.2修改操作數(shù)據(jù)的代碼實(shí)現(xiàn)23</p><p>  第6章 軟件部署27</p><p>  6.1系統(tǒng)運(yùn)行環(huán)境需求27</p><p>  6.2程序工作環(huán)境需求27</p><p><b>  總 結(jié)28</b></p><p><b>  致

9、謝29</b></p><p><b>  參考文獻(xiàn)30</b></p><p><b>  第1章 緒 論</b></p><p>  Internet是目前世界上最大的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個(gè)整體。作為Internet上一種先進(jìn)的,易于被人們所接受的信息檢索手段

10、,World Wide Web(簡(jiǎn)稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息交流寶庫(kù)。據(jù)估計(jì),目前Internet上已有上百萬個(gè)Web站點(diǎn),其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂、體育等各個(gè)領(lǐng)域,其用戶群十分龐大,其中以交友為目地的交友聊天網(wǎng)站更是層次不群,因此在大海一樣的網(wǎng)絡(luò)中建設(shè)一個(gè)好的Web站點(diǎn)對(duì)于一個(gè)機(jī)構(gòu)的發(fā)展十分重要。近年來,隨著網(wǎng)絡(luò)用戶要求的不斷提高及計(jì)算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫(kù)技術(shù)在In

11、ternet中的廣泛應(yīng)用,Web站點(diǎn)向用戶提供的服務(wù)將越來越豐富,越來越人性化。</p><p>  我們發(fā)現(xiàn)這樣一個(gè)事實(shí),一個(gè)用戶在訪問一個(gè)網(wǎng)站時(shí)一般來講只對(duì)該網(wǎng)站的部分內(nèi)容感性趣,而且這種興趣會(huì)持續(xù)一段時(shí)間。這點(diǎn)啟發(fā)了我們,如果能根據(jù)用戶的喜好為不同的用戶進(jìn)行即時(shí)的溝通,將有十分美好的前景。要實(shí)現(xiàn)這樣的功能,離不開后臺(tái)數(shù)據(jù)庫(kù)的支持。用戶驗(yàn)證信息,收集到的用戶點(diǎn)擊信息,主題層次信息,分析得出的關(guān)聯(lián)規(guī)則表等大量的

12、數(shù)據(jù)都由數(shù)據(jù)庫(kù)管理系統(tǒng)管理。本文中數(shù)據(jù)庫(kù)服務(wù)器端采用了Microsoft SQLServer數(shù)據(jù)庫(kù)作為SQLConnection數(shù)據(jù)源,并以先進(jìn)的ADO(ActiveX Data Objects)技術(shù)進(jìn)行數(shù)據(jù)庫(kù)存取等操作,使Web與數(shù)據(jù)庫(kù)緊密聯(lián)系起來。</p><p>  第2章 開發(fā)技術(shù)及運(yùn)行環(huán)境</p><p>  2.1 ASP.NET技術(shù)的使用</p><p&

13、gt;  2.1.1 ASP.NET的介紹</p><p>  ASP.NET 不僅僅是下一版本的 Active Server Page (ASP);它是統(tǒng)一的 Web 開發(fā)平臺(tái),用來提供開發(fā)人員生成企業(yè)級(jí) Web 應(yīng)用程序所需的服務(wù)。ASP.NET 的語法在很大程度上與 ASP 兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序??梢酝ㄟ^在現(xiàn)有 ASP 應(yīng)用程序中逐漸添加 ASP.

14、NET 功能,隨時(shí)增強(qiáng)該 ASP 應(yīng)用程序的功能。 </p><p>  ASP.NET 是一個(gè)已編譯的、基于 .NET 的環(huán)境,可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和 JScript .NET.)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET 應(yīng)用程序都可以使用整個(gè) .NET 框架。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語言運(yùn)行庫(kù)環(huán)境、類型安全、繼承等

15、等。 </p><p>  ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他編程工具(包括 Microsoft Visual Studio .NET)一起工作。這不僅使得 Web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開發(fā)人員可以用來將服務(wù)器控件拖放到 Web 頁(yè)的 GUI 和完全集成的調(diào)試支持。</p><p>  在創(chuàng)建 ASP.NET 應(yīng)用程序

16、、Web 窗體和 Web 服務(wù)時(shí),我們可以選擇下列兩個(gè)功能,或者以他們認(rèn)為合適的任何方式將它們結(jié)合起來使用。每個(gè)功能都能得到同一結(jié)構(gòu)的支持,使我們可以使用身份驗(yàn)證方案,緩存經(jīng)常使用的數(shù)據(jù),或者對(duì)應(yīng)用程序的配置進(jìn)行自定義,這里只是列出幾種可能性而已。 “Web 窗體”用于生成功能強(qiáng)大的基于窗體的 Web 頁(yè)。生成這些頁(yè)時(shí),可以使用 ASP.NET 服務(wù)器控件來創(chuàng)建公共 UI 元素,以及對(duì)它們進(jìn)行編程以用于執(zhí)行常見的任務(wù)。這些控件使您能夠用

17、可重復(fù)使用的內(nèi)置或自定義組件生成 Web 窗體,從而簡(jiǎn)化頁(yè)面的代碼。</p><p>  ASP.NET是一種建立在通用語言上的程序構(gòu)架,能被用于一臺(tái)Web服務(wù)器來建立強(qiáng)大的Web應(yīng)用程序。ASP.NET提供許多比現(xiàn)在的Web開發(fā)模式強(qiáng)大的優(yōu)勢(shì)。</p><p>  ASP.NET是把基于通用語言的程序在服務(wù)器上運(yùn)行。不像以前的ASP即時(shí)解釋程序,而是將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,這

18、樣的執(zhí)行效果,當(dāng)然比一條一條的解釋強(qiáng)很多。</p><p>  因?yàn)锳SP.NET是基于通用語言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web應(yīng)用軟件開發(fā)者的幾乎全部的平臺(tái)上。通用語言的基本庫(kù),消息機(jī)制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.NET的Web應(yīng)用中。ASP.NET同時(shí)也是language-independent語言獨(dú)立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的

19、程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#(C++和Java的結(jié)合體),VB,Jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.NET。</p><p>  并且ASP.NET使運(yùn)行一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡(jiǎn)單。</p><p>  2.1.2 ASP.NET技術(shù)的使用</

20、p><p>  1)可管理性:使用基于文本的、分級(jí)的配置系統(tǒng),簡(jiǎn)化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和Web應(yīng)用程序的工作。因?yàn)榕渲眯畔⑹谴鎯?chǔ)為純文本的,因此可以在沒有本地管理工具的幫助下應(yīng)用新的設(shè)置。配置文件的任何變化都可以自動(dòng)檢測(cè)到并應(yīng)用于應(yīng)用程序。</p><p>  2)安全:為Web應(yīng)用程序提供了默認(rèn)的授權(quán)和身份驗(yàn)證方案。開發(fā)人員可以根據(jù)應(yīng)用程序的需要很容易地添加、刪除或替換這些方案。<

21、/p><p>  3)易于部署:通過簡(jiǎn)單地將必要的文件復(fù)制到服務(wù)器上,應(yīng)用程序即可以部署到該服務(wù)器上。不需要重新啟動(dòng)服務(wù)器,甚至在部署或替換運(yùn)行的已編譯代碼時(shí)也不需要重新啟動(dòng)。</p><p>  4)增強(qiáng)的性能:是運(yùn)行在服務(wù)器上的已編譯代碼。與傳統(tǒng)的ActiveServerPages(ASP)不同,能利用早期綁定、實(shí)時(shí)(JIT)編譯、本機(jī)和全新的緩存服務(wù)來提高性能。</p>&

22、lt;p>  5)靈活的輸出緩存:根據(jù)應(yīng)用程序的需要,可以緩存頁(yè)數(shù)據(jù)、頁(yè)的一部分或整個(gè)頁(yè)。緩存的項(xiàng)目可以依賴于緩存中的文件或其他項(xiàng)目,或者可以根據(jù)過期策略進(jìn)行刷新。</p><p>  6)國(guó)際化:在內(nèi)部使用Unicode以表示請(qǐng)求和響應(yīng)數(shù)據(jù)??梢詾槊颗_(tái)計(jì)算機(jī)、每個(gè)目錄和每頁(yè)配置國(guó)際化設(shè)置。</p><p>  7)移動(dòng)設(shè)備支持:支持任何設(shè)備上的任何瀏覽器。開發(fā)人員使用與用于傳統(tǒng)的桌

23、面瀏覽器相同的編程技術(shù)來處理新的移動(dòng)設(shè)備。</p><p>  8)擴(kuò)展性和可用性:被設(shè)計(jì)成可擴(kuò)展的、具有特別專有的功能來提高群集的、多處理器環(huán)境的性能。此外,Internet信息服務(wù)(IIS)和運(yùn)行時(shí)密切監(jiān)視和管理進(jìn)程,以便在一個(gè)進(jìn)程出現(xiàn)異常時(shí),可在該位置創(chuàng)建新的進(jìn)程使應(yīng)用程序繼續(xù)處理請(qǐng)求。</p><p>  9)跟蹤和調(diào)試:提供了跟蹤服務(wù),該服務(wù)可在應(yīng)用程序級(jí)別和頁(yè)面級(jí)別調(diào)試過程中啟

24、用。可以選擇查看頁(yè)面的信息,或者使用應(yīng)用程序級(jí)別的跟蹤查看工具查看信息。在開發(fā)和應(yīng)用程序處于生產(chǎn)狀態(tài)時(shí),支持使用.NETFramework調(diào)試工具進(jìn)行本地和遠(yuǎn)程調(diào)試。當(dāng)應(yīng)用程序處于生產(chǎn)狀態(tài)時(shí),跟蹤語句能夠留在產(chǎn)品代碼中而不會(huì)影響性能。</p><p>  10)與.NETFramework集成:因?yàn)槭?NETFramework的一部分,整個(gè)平臺(tái)的功能和靈活性對(duì)Web應(yīng)用程序都是可用的。也可從Web上流暢地訪問.N

25、ET類庫(kù)以及消息和數(shù)據(jù)訪問解決方案。是獨(dú)立于語言之外的,所以開發(fā)人員能選擇最適于應(yīng)用程序的語言。另外,公共語言運(yùn)行庫(kù)的互用性還保存了基于COM開發(fā)的現(xiàn)有投資。</p><p>  2.2 SQL Server 2005的使用</p><p>  SQL Server 2005 通過在可伸縮性、數(shù)據(jù)集成、開發(fā)工具和強(qiáng)大的分析等方面的革新更好的確立了微軟在BI領(lǐng)域的領(lǐng)導(dǎo)地位。SQL Serve

26、r 2005 能夠把關(guān)鍵的信息及時(shí)的傳遞到組織內(nèi)員工的手中,從而實(shí)現(xiàn)了可伸縮的商業(yè)智能。從CEO 到信息工作者,員工可以快速的、容易的處理數(shù)據(jù),以更快更好的做出決策。SQL Server 2005全面的集成、分析和報(bào)表功能使企業(yè)能夠提高他們已有應(yīng)用的價(jià)值,即便這些應(yīng)用是在不同的平臺(tái)上。商業(yè)智能增強(qiáng)體現(xiàn)在以下幾個(gè)方面:端到端的集成BI平臺(tái),集成服務(wù),分析服務(wù),報(bào)表服務(wù),Microsoft Office System的集成。(這里只介紹使用

27、前三種比較好技術(shù))</p><p>  1、端到端的集成BI平臺(tái)</p><p>  Microsoft SQL Server 2005 是一個(gè)完整的商務(wù)智能 (BI) 平臺(tái),其中為用戶提供了可用于構(gòu)建典型和創(chuàng)新的分析應(yīng)用程序所需的各種特性、工具和功能。本文簡(jiǎn)要介紹了您在構(gòu)建分析應(yīng)用程序時(shí)將要用到的一些工具,并著重介紹了一些新增功能,這些新增功能使復(fù)雜 BI 系統(tǒng)的構(gòu)建和管理比以往更加輕松

28、。</p><p>  2、Integration Services</p><p>  SQL Server 2005帶來了一個(gè)全新的企業(yè)級(jí)數(shù)據(jù)整合平臺(tái)。此平臺(tái)具有出色的ETL和整合能力,使得組織機(jī)構(gòu)能更加容易地管理來自于不同的關(guān)系型和非關(guān)系型數(shù)據(jù)源的數(shù)據(jù)。通過SQL Server Integration Services(SSIS),組織機(jī)構(gòu)能以整體的視角去考察它們的商業(yè)運(yùn)營(yíng)情況,從而

29、能具有競(jìng)爭(zhēng)優(yōu)勢(shì)</p><p>  企業(yè)級(jí)數(shù)據(jù)整合平臺(tái)SQL Server Integration Services取代了SQL Server 2000中一個(gè)非常受歡迎的功能模塊——數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)。但SSIS并不是DTS的簡(jiǎn)單升級(jí),它是SQL Server 2005中的一個(gè)全新的組件,它提供了構(gòu)建企業(yè)級(jí)ETL應(yīng)用程序所需的功能和性能。SSIS是可編程的、可嵌入的和可擴(kuò)展的,這些特性使其成為理想的ETL平臺(tái)

30、。</p><p>  傳統(tǒng) ETL 之外的SQL Server 2005 支持非傳統(tǒng)的數(shù)據(jù)(Web Service,XML):SSIS 可對(duì)不持續(xù)的數(shù)據(jù)進(jìn)行分析;在數(shù)據(jù)流中的數(shù)據(jù)挖掘和文本挖掘;數(shù)據(jù)流中的數(shù)據(jù)挖掘和分析可用于數(shù)據(jù)質(zhì)量和數(shù)據(jù)清洗。</p><p>  3、Analysis Services</p><p>  在SQL Server 2005中,分析

31、服務(wù)(Analysis Services)第一次提供了一個(gè)統(tǒng)一和集成的商業(yè)數(shù)據(jù)視圖,可被用做所有傳統(tǒng)報(bào)表、OLAP分析、關(guān)鍵績(jī)效指標(biāo)(KPI)記分卡和數(shù)據(jù)挖掘的基礎(chǔ)。</p><p>  統(tǒng)一空間模型Unified Dimensional Model通過結(jié)合傳統(tǒng)OLAP分析和關(guān)系型報(bào)表中的最佳點(diǎn),Analysis Services 2005提供了一個(gè)元數(shù)據(jù)模型用于滿足不同需求。Analysis Services

32、2005中的所有多維數(shù)據(jù)集和維度定義都可從統(tǒng)一空間模型UDM中查閱。UDM是一個(gè)中心元數(shù)據(jù)庫(kù),其中定義了業(yè)務(wù)實(shí)體、業(yè)務(wù)邏輯、計(jì)算和metrics,可被作為所有報(bào)表、電子表格、OLAP瀏覽器、KPI和分析應(yīng)用程序的源來使用。通過使用新的、功能強(qiáng)大的數(shù)據(jù)源視圖特性、UDM可被映射成后臺(tái)異構(gòu)數(shù)據(jù)源宿主,這樣便可無需考慮數(shù)據(jù)的位置。</p><p>  利用UDM中對(duì)業(yè)務(wù)實(shí)體的友好描述、等級(jí)導(dǎo)航、多視角、自動(dòng)平滑翻譯為本

33、機(jī)語言這些功能,最終用戶將會(huì)發(fā)現(xiàn)瀏覽公司業(yè)務(wù)數(shù)據(jù)是一件容易的事情。</p><p>  Microsoft SQL Server 2005 Data Mining(數(shù)據(jù)挖掘)屬于商務(wù)智能技術(shù),它可幫助您構(gòu)建復(fù)雜的分析模型,并使其與您的業(yè)務(wù)操作相集成。Microsoft SQL Server 2005分析服務(wù)中構(gòu)建了新的數(shù)據(jù)挖掘平臺(tái)——一個(gè)易于使用的、容易擴(kuò)展的、方便訪問的、非常靈活的平臺(tái)。對(duì)于以前從未考慮過采用數(shù)

34、據(jù)挖掘的組織機(jī)構(gòu),這無疑是個(gè)非常容易接受的解決方案。</p><p>  企業(yè)級(jí)產(chǎn)品的架構(gòu),與SQL Server產(chǎn)品家族商業(yè)智能功能的緊密集成,豐富的工具、API和算法,這一切使得我們能基于SQL Server創(chuàng)建新型的商業(yè)智能應(yīng)用程序。通過它所提供的針對(duì)各種商業(yè)問題的自定義的數(shù)據(jù)驅(qū)動(dòng)解決方案,能達(dá)到提高生產(chǎn)力、增加利潤(rùn)和減少支出的目的。</p><p>  2.3應(yīng)用MVC結(jié)構(gòu)<

35、/p><p>  2.3.1 MVC設(shè)計(jì)思想</p><p>  MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層</p><p>  視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,但有

36、可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。</p><p>  模型(Model):

37、就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。

38、MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來做比喻,MVC定義了一個(gè)頂級(jí)類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對(duì)編程的開發(fā)人員非常重要。</p><p>  控制(Control

39、ler)可以理解為從用戶接收請(qǐng)求, 將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求。控制層并不做任何的數(shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后, 并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型。</p&g

40、t;<p>  模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化傳播機(jī)制。</p><p>  2.3.2 MVC設(shè)計(jì)模式的實(shí)現(xiàn)</p><p>  本文通過MVC實(shí)

41、現(xiàn)了QQ聊天室的功能如下圖2-1所示的其中Admin放的是關(guān)于后臺(tái)管理頁(yè)面,根目錄下的幾個(gè)便是前臺(tái)的頁(yè)面顯示,我們的主要代碼則放在APP_Code這里面,放入實(shí)現(xiàn)類和它相應(yīng)的操作方法,用的時(shí)候,可以直接調(diào)用。</p><p><b>  圖2-1項(xiàng)目架構(gòu)圖</b></p><p>  2.4應(yīng)用C#編程語言</p><p><b> 

42、 1.C#的特點(diǎn)</b></p><p>  開發(fā)本系統(tǒng)采用的是C#編程語言。C#是一門簡(jiǎn)單、現(xiàn)代、面向?qū)ο?、類型安全、平臺(tái)獨(dú)立的組建編程語言,是.NET的關(guān)鍵性語言,也是整個(gè).NET平臺(tái)的基礎(chǔ),它使程序員能快速的為新一代Microsoft.NET平臺(tái)開發(fā)出應(yīng)用程序。它的特點(diǎn)主要是:</p><p><b>  (一)簡(jiǎn)潔的語法</b></p>

43、<p>  在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環(huán)境下運(yùn)行,不允許直接地內(nèi)存操作。它所帶來的最大的特色是沒有了指針。與此相關(guān)的是,那些在C++中被瘋狂使用的操作符(例如:“::”、“->”和“.,”)已經(jīng)不再出現(xiàn)。C#只支持一個(gè)“.”,對(duì)于我們來說,現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。</p><p>  C#用真正的關(guān)鍵字換掉了那些的活動(dòng)模板庫(kù)(Active Temp

44、late Library,ALT)和COM搞得亂糟糟的偽關(guān)鍵字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_X等等。每種C#操作符在.NET類庫(kù)中都有了新名字。</p><p>  語法中的冗余是C++中的常見的問題,比如"const"和"#define"、各種各樣的字符類型等等。C#對(duì)此進(jìn)行了簡(jiǎn)化,只保留了常見的形式,而別的冗余形式從它的語法結(jié)

45、構(gòu)中被清除了出去。</p><p>  (二)精心的面向?qū)ο笤O(shè)計(jì)</p><p>  在C#的類型系統(tǒng)中,每種類型都可以看作一個(gè)對(duì)象。C#提供了一個(gè)叫做裝箱(boxing)與拆箱(unboxing)的機(jī)制來完成這種操作,而不給使用者帶來麻煩。</p><p>  C#只允許單繼承,即一個(gè)類不會(huì)有多個(gè)基類,從而避免了類型定義的混亂。整個(gè)C#的類模型是建立在.NET虛擬

46、對(duì)象系統(tǒng)(Visual Object System,VOS)的基礎(chǔ)之上,其對(duì)象模型是.NET基礎(chǔ)架構(gòu)的一部分,而不再是其本身的組成部分。</p><p>  (三)與Web的緊密結(jié)合</p><p>  .NET中新的應(yīng)用程序開發(fā)模型意味著越來越多的解決方案需要與Web標(biāo)準(zhǔn)相統(tǒng)一,例如超文本標(biāo)記語言(Hypertext Markup Language,HTML)和XML。由于歷史的原因,現(xiàn)

47、存的一些開發(fā)工具不能與Web緊密地結(jié)合。SOAP的使用使得C#克服了這一缺陷,大規(guī)模深層次的分布式開發(fā)從此成為可能。</p><p>  由于有了Web服務(wù)框架的幫助,對(duì)程序員來說,網(wǎng)絡(luò)服務(wù)看起來就象是C#的本地對(duì)象。程序員們能夠利用他們已有的面向?qū)ο蟮闹R(shí)與技巧開發(fā)Web服務(wù)。僅需要使用簡(jiǎn)單的C#語言結(jié)構(gòu),C#組件將能夠方便地為Web服務(wù),并允許它們通過Internet被運(yùn)行在任何操作系統(tǒng)上的任何語言所調(diào)用。舉

48、個(gè)例子,XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳遞的標(biāo)準(zhǔn),為了提高效率,C#允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這樣就可以有效的處理各種數(shù)據(jù)。</p><p> ?。ㄋ模┩暾陌踩耘c錯(cuò)誤處理</p><p>  語言的安全性與錯(cuò)誤處理能力,是衡量一種語言是否優(yōu)秀的重要依據(jù)。任何人都會(huì)犯錯(cuò)誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對(duì)不屬于自己管理范圍的內(nèi)存空間進(jìn)行修改。這些錯(cuò)誤常常產(chǎn)生難以預(yù)

49、見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡(jiǎn)單錯(cuò)誤的代價(jià)將會(huì)是讓人無法承受的。C#的先進(jìn)設(shè)計(jì)思想可以消除軟件開發(fā)中的許多常見錯(cuò)誤,并提供了包括類型安全在內(nèi)的完整的安全性能。為了減少開發(fā)中的錯(cuò)誤,C#會(huì)幫助開發(fā)者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時(shí)更有效地避免了錯(cuò)誤的發(fā)生。</p><p><b> ?。ㄎ澹┌姹咎幚砑夹g(shù)</b></p><

50、;p>  C#提供內(nèi)置的版本支持來減少開發(fā)費(fèi)用,使用C#將會(huì)使開發(fā)人員更加輕易地開發(fā)和維護(hù)各種商業(yè)用戶。</p><p>  升級(jí)軟件系統(tǒng)中的組件(模塊)是一件容易產(chǎn)生錯(cuò)誤的工作。在代碼修改過程中可能對(duì)現(xiàn)存的軟件產(chǎn)生影響,很有可能導(dǎo)致程序的崩潰。為了幫助開發(fā)人員處理這些問題,C#在語言中內(nèi)置了版本控制功能。</p><p>  (六)靈活性和兼容性</p><p&

51、gt;  在簡(jiǎn)化語法的同時(shí),C#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發(fā)硬件驅(qū)動(dòng)程序,在默認(rèn)的狀態(tài)下沒有指針等等,但是,在學(xué)習(xí)過程中你將發(fā)現(xiàn),它仍然是那樣的靈巧。</p><p>  2.C#語言編程環(huán)境</p><p>  C#(讀作C sharp)是微軟開發(fā)的一種面向?qū)ο蟮木幊陶Z言,是微軟.NET開發(fā)環(huán)境的重要組成部分。而Microsoft Visual C#2

52、005是微軟開發(fā)的C#編程集成開發(fā)環(huán)境(同種產(chǎn)品還有Borland公司的C# Builder),它是為生成在.NET Framework上運(yùn)行的多種應(yīng)用程序而設(shè)計(jì)的。C#簡(jiǎn)單、功能強(qiáng)大、類型安全,而且是面向?qū)ο蟮摹#憑借它的許多創(chuàng)新,在保持C樣式語言的表示形式和優(yōu)美的同時(shí),實(shí)現(xiàn)了應(yīng)用程序的快速開發(fā)。</p><p>  Visual Studio.net包含Visual C#,這是通過功能齊全的代碼編輯器、項(xiàng)目

53、模板、設(shè)計(jì)器、代碼向?qū)А⒐δ軓?qiáng)大且易于使用的調(diào)試器以及其他工具實(shí)現(xiàn)的。通過.NET Framework 類庫(kù),可以訪問多種操作系統(tǒng)服務(wù)和其他有用的精心設(shè)計(jì)的類,這些類可顯著加快開發(fā)周期。</p><p>  2.5系統(tǒng)流程的實(shí)現(xiàn)</p><p><b>  1.后臺(tái)管理流程圖</b></p><p>  圖2-2 后臺(tái)管理流程圖</p&

54、gt;<p><b>  2.前臺(tái)實(shí)現(xiàn)流程圖</b></p><p>  圖2-3 前臺(tái)實(shí)現(xiàn)流程圖</p><p><b>  第3章 總體設(shè)計(jì)</b></p><p><b>  3.1項(xiàng)目規(guī)劃</b></p><p>  QQ聊天室是前臺(tái)和后臺(tái)共用一個(gè)小網(wǎng)

55、站,主要是為了在一些網(wǎng)站做補(bǔ)充,為了使我網(wǎng)站更有吸引力,增加網(wǎng)站的內(nèi)容主要內(nèi)容如下所示:</p><p> ?。?)“會(huì)員的管理”用于維護(hù)(刪除、查詢)會(huì)員的基本信息。主要是根據(jù)會(huì)員編號(hào)和名稱進(jìn)行管理。</p><p>  (2)“管理員的管理”用于維護(hù)管理員的基本信息。其內(nèi)容包括管理員的(增加,刪除,修改密碼)及權(quán)限的設(shè)置。</p><p> ?。?)“公告信息”

56、用于公告的(增加,刪除,修改,查詢)情況,便于更快的實(shí)行信息的公告,從而對(duì)聊天室的管理。其內(nèi)容主要是公告的內(nèi)容詳細(xì)設(shè)置。</p><p>  (4)“聊天內(nèi)容管理”用于管理聊天內(nèi)容的信息。主要是為了健康的上網(wǎng),對(duì)一些內(nèi)容的刪除。</p><p><b>  3.2使用操作描述</b></p><p><b>  方便性:</b&

57、gt;</p><p>  只要有個(gè)IE瀏覽器就可以使用,避免繁瑣的安裝。</p><p><b>  快捷性:</b></p><p>  管理方便,網(wǎng)站只要加入本功能,就能使用,占用系統(tǒng)少。</p><p><b>  3.3數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  3.3

58、.1數(shù)據(jù)庫(kù)字典</p><p>  數(shù)據(jù)庫(kù)是系統(tǒng)的最底層,它存儲(chǔ)系統(tǒng)的所有數(shù)據(jù)。根據(jù)對(duì)系統(tǒng)的分析,得出數(shù)據(jù)庫(kù)表如下:</p><p>  1.聊天信息表(Chat)</p><p>  聊天信息表用于保存管理相應(yīng)會(huì)員的聊天內(nèi)空,時(shí)間,其中包括格式、密碼、性別以及年齡。管理人員信息表的字段說明如表3-1所示。</p><p>  表3-1 表

59、Chat的結(jié)構(gòu)</p><p>  2.會(huì)員信息表(Users)</p><p>  會(huì)員信息表存儲(chǔ)會(huì)員的信息。會(huì)員信息表的字段說明如表3-2所示。</p><p>  表3-2 表Users的結(jié)構(gòu)</p><p>  3.管理員信息表(adminLogin)</p><p>  管理員信息表用于存儲(chǔ)每個(gè)管理員的詳細(xì)

60、信息。管理員信息表的字段說明如表3-3所示。</p><p>  表3-3 表AdminLogin的結(jié)構(gòu)</p><p>  4.請(qǐng)求類型表(NewAsk)</p><p>  請(qǐng)求表用于提供請(qǐng)求信息。請(qǐng)求表的字段說明如表3-4所示。</p><p>  表3-4 表NewAsk的結(jié)構(gòu)</p><p>  3.3.

61、2數(shù)據(jù)庫(kù)實(shí)體分析</p><p><b>  1.聊天實(shí)體結(jié)構(gòu)圖</b></p><p>  圖3-1 聊天實(shí)體結(jié)構(gòu)圖</p><p><b>  2.會(huì)員實(shí)體結(jié)構(gòu)圖</b></p><p>  圖3-2 會(huì)員實(shí)體結(jié)構(gòu)圖</p><p>  3.管理員實(shí)體結(jié)構(gòu)圖<

62、/p><p>  圖3-3 管理員實(shí)體結(jié)構(gòu)圖</p><p>  4.好友請(qǐng)求實(shí)體結(jié)構(gòu)圖</p><p>  圖3-4 請(qǐng)求實(shí)體結(jié)構(gòu)圖</p><p><b>  第4章 詳細(xì)設(shè)計(jì)</b></p><p>  4.1后臺(tái)管理功能實(shí)現(xiàn)</p><p>  管理員登錄模塊為本

63、系統(tǒng)的后臺(tái)頁(yè)面,此頁(yè)面必須是特定的操作人員有相關(guān)的賬號(hào)和密碼才能登陸管理的主要頁(yè)面。管理員登錄頁(yè)面必須通過驗(yàn)證用戶名、密碼正確與否,只有合法的用戶才可以進(jìn)入系統(tǒng)的核心。當(dāng)用戶名沒有輸入用戶名、密碼時(shí),系統(tǒng)會(huì)通過非空驗(yàn)證再用戶名和密碼的后面顯示“不允許為空”的字樣。當(dāng)輸入信息正確點(diǎn)擊“確定” 按鈕時(shí),就會(huì)彈出“登陸成功”的消息提示框,進(jìn)入系統(tǒng)的主界面進(jìn)行操作;如輸入錯(cuò)誤信息將彈出“用戶名或密碼錯(cuò)誤,請(qǐng)檢查!”的消息提示框,無法進(jìn)入界面。單

64、擊“退出” 按鈕可關(guān)閉當(dāng)前頁(yè)面,如圖4-1所示。</p><p>  在管理員登錄頁(yè)面中的“管理員名稱”處輸入管理員用戶名“admin”,在密碼處輸入“admin”,單擊“確定”按鈕,進(jìn)入如圖4-2所示。</p><p>  系統(tǒng)主要包括:會(huì)員的信息管理、公告信息的管理、聊天內(nèi)容顯示的管理、以及管理員系統(tǒng)密碼的修改。期中增加、刪除、修改、查詢的操作方法相似,下面以管理員維護(hù)為例,講解其操作

65、方法。</p><p>  公告的管理主要有:公告信息的添加、刪除和修改等操作,由于這些信息的執(zhí)行操作大致是相同的,所以我們?cè)谶@里主要介紹管理員修改的各種操作。</p><p>  會(huì)員信息設(shè)置模塊包括會(huì)員信息列表、添加會(huì)員、修改會(huì)員信息和刪除會(huì)員4部分功能。</p><p>  在功能區(qū)中單擊“管理員信息”按鈕,進(jìn)入管理員頁(yè)面。此頁(yè)面主要實(shí)現(xiàn)添加管理員信息的操作功

66、能。單擊“增加”按鈕,進(jìn)入編輯管理員信息的頁(yè)面。此頁(yè)面主要實(shí)現(xiàn)的是顯示管理員的信息、修改、刪除、會(huì)員信息等功能。</p><p>  對(duì)管理員頁(yè)面的操作方法如下:</p><p>  添加管理員密碼。單擊“新建管理員”按鈕,進(jìn)入如圖4-3所示的頁(yè)面,輸入本次管理員密碼,在管理員用戶名、密碼、確認(rèn)密碼,驗(yàn)證碼處添加相關(guān)內(nèi)容,然后單擊“確定”按鈕,完成添加操作。</p><

67、p><b>  窗體設(shè)計(jì)界面</b></p><p>  圖4-1 管理員登錄圖</p><p>  圖4-2 后臺(tái)管理頁(yè)面圖</p><p>  圖4-3 管理員修改信息圖</p><p>  4.2前臺(tái)功能的實(shí)現(xiàn)</p><p>  登錄聊天:在前臺(tái)直接登錄,進(jìn)入如圖4-5所示的頁(yè)

68、面,可以直接輸入名稱進(jìn)入,也可注冊(cè)會(huì)員登錄,登錄以后會(huì)保存用戶的聊天記錄。</p><p>  聊天內(nèi)容窗體:顯示現(xiàn)在會(huì)員的聊天內(nèi)容,這個(gè)窗口也可按一定的時(shí)間自動(dòng)更新的。 </p><p>  發(fā)聊天信息:這個(gè)窗體可以發(fā)聊天信息,對(duì)所有人選擇可以聊天,也可以私聊,要發(fā)的信息只能對(duì)相應(yīng)選擇的人觀看,其它人看不到,其中右邊還有選擇自己在上面顯示窗體上的字體大小或是顏色。如圖4-6所示。<

69、;/p><p><b>  窗體設(shè)計(jì)界面</b></p><p>  圖4-4 前臺(tái)會(huì)員或是游客進(jìn)入聊天圖</p><p>  圖4-5 顯示聊天信息圖</p><p>  圖4-6 發(fā)聊天信息圖</p><p><b>  第5章 編碼實(shí)現(xiàn)</b></p>

70、<p>  5.1顯示信息的代碼</p><p>  此聊天頁(yè)面的信息主要就是在頁(yè)面上顯示來客的聊天信息,我們可以很容易的顯示我們的發(fā)言,讓其它人看到,其中的顏色和大小可以區(qū)分不同的說話者。在這里我們主要用到的是把數(shù)據(jù)庫(kù)中的數(shù)據(jù)讀出來顯示在一個(gè)頁(yè)面,然后在當(dāng)前頁(yè)面對(duì)其調(diào)用,另一個(gè)頁(yè)面是自動(dòng)刷新的。</p><p><b>  實(shí)現(xiàn)代碼如下:</b></

71、p><p>  /// <summary></p><p>  /// 顯示聊天信息</p><p>  /// </summary></p><p>  /// <returns></returns></p><p>  public DataSet ShowTopChat

72、()</p><p><b>  {</b></p><p>  DataSet dst =new DataSet () ;</p><p><b>  try</b></p><p><b>  {</b></p><p>  cmd = new Sq

73、lCommand("SELECT TOP 10 * FROM Chat order by CreateTime desc ", con.ConOpen());</p><p>  sda = new SqlDataAdapter(cmd );</p><p>  sda.Fill(dst);</p><p><b>  }</b

74、></p><p>  catch (Exception)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b&g

75、t;</p><p>  con.ConClose();</p><p><b>  }</b></p><p>  return dst ;</p><p><b>  }</b></p><p>  /// <summary></p><p

76、>  /// 綁定聊天信息</p><p>  /// </summary></p><p>  public void InitData()</p><p><b>  {</b></p><p>  ChatOper chatOper=new ChatOper ();</p><

77、p>  DataSet ds = chatOper.ShowTopChat();</p><p>  // DataSet ds = Application["Chat"].ToString();</p><p>  if (ds != null)</p><p><b>  {</b></p><

78、p>  foreach( DataRow dr in ds.Tables[0].Rows )</p><p><b>  {</b></p><p>  Response.Write("<font color=" + dr["Color"].ToString() + ">");//顏色&

79、lt;/p><p>  Response.Write(dr["CreateTime"].ToString());//發(fā)言時(shí)間</p><p>  Response.Write("【" + dr["UserName"].ToString() + "】");//發(fā)言用戶</p><p&

80、gt;  Response.Write(dr["Emotion"].ToString());//表情</p><p>  Response.Write("說道:");</p><p>  Response.Write(dr["Context"].ToString());//發(fā)言內(nèi)容</p><

81、;p>  Response.Write("</font><br>");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  5.2修改操作數(shù)

82、據(jù)的代碼實(shí)現(xiàn)</p><p>  在修信息時(shí),點(diǎn)擊要修改的內(nèi)容,根據(jù)編號(hào)從而進(jìn)入相關(guān)修改的信息頁(yè),顯示出這信息,這樣就可以修改它的內(nèi)容了。</p><p>  修改信息時(shí)要提取修改內(nèi)容的Id信息,這就用到了數(shù)據(jù)回填的內(nèi)容。下面以我們常用到的注冊(cè)用戶實(shí)現(xiàn)代碼如下:</p><p>  /// <summary></p><p>&l

83、t;b>  /// 用戶注冊(cè)</b></p><p>  /// </summary></p><p>  /// <param name="userEntity">用戶實(shí)體信息</param></p><p>  /// <returns>結(jié)果信息</returns>

84、</p><p>  public string InsertUsers(UserEntity userEntity)</p><p><b>  {</b></p><p>  string str = "";</p><p><b>  try</b></p>

85、<p><b>  {</b></p><p>  cmd = new SqlCommand(" insert into Users (UserID,userPwd,userName,Sex,Tel,Area,brithday,myInfo,mail) values('" + userEntity.UserID + "','&q

86、uot; + userEntity.UserPwd + "','" + userEntity.UserName + "','" + userEntity.Sex + "','" + userEntity.Tel + "','" + userEntity.Area + "',&#

87、39;" + userEntity.Birthday + "','" + userEntity.MyInfo + "','"+userEntity.Mail +"')", con.ConOpen());</p><p>  int i = cmd.ExecuteNonQuery();</p>

88、<p>  if (i == 1)</p><p><b>  {</b></p><p>  str = "OK";</p><p><b>  }</b></p><p><b>  else</b></p><p>

89、<b>  {</b></p><p>  str = "失敗,請(qǐng)檢查!";</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (SqlException ex)</p><p

90、><b>  {</b></p><p>  if (ex.Number == 2627)</p><p><b>  {</b></p><p>  str = "已存在此用戶!";</p><p><b>  }</b></p>&l

91、t;p><b>  else</b></p><p><b>  {</b></p><p>  str = "系統(tǒng)錯(cuò)誤!";</p><p><b>  }</b></p><p><b>  }</b></p>

92、<p><b>  finally</b></p><p><b>  {</b></p><p>  con.ConClose();</p><p><b>  }</b></p><p>  return str;</p><p><

93、b>  }</b></p><p>  /// <summary></p><p>  /// 根據(jù)相關(guān)的ID要?jiǎng)h除用戶</p><p>  /// </summary></p><p>  /// <param name="UserIDs">用戶組</param

94、></p><p>  /// <returns></returns></p><p>  public string DelUsers(string UserIDs)</p><p><b>  {</b></p><p>  string str = "";</

95、p><p><b>  try</b></p><p><b>  {</b></p><p>  cmd = new SqlCommand(" DELETE FROM Users WHERE UserID='" + UserIDs + "' ", con.ConOp

96、en());</p><p>  int i = cmd.ExecuteNonQuery();</p><p>  if (i > 0)</p><p><b>  {</b></p><p>  str = "OK";</p><p><b>  }</

97、b></p><p><b>  else</b></p><p><b>  {</b></p><p>  str = "失敗,請(qǐng)檢查!";</p><p><b>  }</b></p><p><b>  }&

98、lt;/b></p><p>  catch (SqlException ex)</p><p><b>  {</b></p><p>  str = "系統(tǒng)錯(cuò)誤!";</p><p><b>  }</b></p><p><b>  

99、finally</b></p><p><b>  {</b></p><p>  con.ConClose();</p><p><b>  }</b></p><p>  return str;</p><p><b>  }</b>&l

100、t;/p><p>  /// <summary></p><p>  /// 用戶自己對(duì)信息的修改</p><p>  /// </summary></p><p>  /// <param name="userEntity">信息實(shí)體</param></p>&l

101、t;p>  /// <returns>結(jié)果信息</returns></p><p>  public string UpdateUsers(UserEntity userEntity)</p><p><b>  {</b></p><p>  string str = "";</p>

102、;<p><b>  try</b></p><p><b>  {</b></p><p>  cmd = new SqlCommand(" UPDATE Users SET UserPwd='" + userEntity.UserPwd + "',userName='&qu

103、ot; + userEntity.UserName + "',Sex='" + userEntity.Sex + "',Tel='" + userEntity.Tel + "',Area='" + userEntity.Area + " ',brithday='" + userEntity.Bi

104、rthday + "',myInfo='" + userEntity.MyInfo + "' where UserID='" + userEntity.UserID + "' ", con.ConOpen());</p><p>  int i = cmd.ExecuteNonQuery();</p>

105、<p>  if (i == 1)</p><p><b>  {</b></p><p>  str = "OK";</p><p><b>  }</b></p><p><b>  else</b></p><p>

106、<b>  {</b></p><p>  str = "失敗,請(qǐng)檢查!";</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (SqlException ex)</p><p

107、><b>  {</b></p><p>  str = "系統(tǒng)錯(cuò)誤!";</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p>

108、<p>  con.ConClose();</p><p><b>  }</b></p><p>  return str;</p><p><b>  }</b></p><p>  /// <summary></p><p>  /// 得到用戶數(shù)

109、據(jù)表</p><p>  /// </summary></p><p>  /// <returns>用戶數(shù)據(jù)表</returns></p><p>  public DataTable GetUserList()</p><p><b>  {</b></p><

110、p>  SqlDataAdapter sda = null;</p><p>  DataTable dt = null;</p><p><b>  try</b></p><p><b>  {</b></p><p>  cmd = new SqlCommand("select

111、 * from Users ", con.ConOpen());</p><p>  sda = new SqlDataAdapter(cmd);</p><p>  sda.Fill(dt);</p><p>  if (dt.Rows.Count == 0)</p><p><b>  {</b></

112、p><p>  foreach (DataRow dtr in dt.Rows)</p><p><b>  {</b></p><p>  dtr[2] = "沒有用戶信息!";</p><p>  dt.Rows.Add(dtr);</p><p><b>  }&l

113、t;/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (SqlException)</p><p><b>  {</b></p><p><b>  }</b&

114、gt;</p><p><b>  finally</b></p><p><b>  {</b></p><p>  con.ConClose();</p><p><b>  }</b></p><p>  return dt;</p>

115、<p><b>  }</b></p><p><b>  第6章 軟件部署</b></p><p>  6.1系統(tǒng)運(yùn)行環(huán)境需求</p><p>  客戶端:帶有IE的瀏覽器都可以使用。</p><p>  服務(wù)器:win2003 server,XP, CPU:2.8GHZ以上;內(nèi)存2

116、56建議1G,硬盤:80G,必要的網(wǎng)絡(luò)設(shè)備。</p><p>  6.2程序工作環(huán)境需求</p><p><b> ?。?)硬件平臺(tái):</b></p><p>  CPU:Pentium Ⅲ及其兼容處理器,建議主頻600MHz或更高;</p><p>  內(nèi)存:512MB以上;</p><p>&

117、lt;b>  (2)軟件平臺(tái):</b></p><p>  操作系統(tǒng):Windows XP;</p><p>  數(shù)據(jù)庫(kù):SQL Server 2005數(shù)據(jù)庫(kù);</p><p>  開發(fā)工具:Microsoft Visual Studio 2005;</p><p>  開發(fā)語言:C#語言;</p><p

118、>  服務(wù)器:IIS 6.0;</p><p>  瀏覽器:IE 6.0 。</p><p><b>  總 結(jié)</b></p><p>  完成這個(gè)QQ聊天室對(duì)我的收獲很大。從做的那一天起我就開始慢慢的明白做一個(gè)程序是很不容易的,我要不停的做下去,只有這樣才能好好發(fā)展我自己,所以一直到現(xiàn)在。在這個(gè)過程,我想過粗心地做一下就行了,但是還

119、是用心的去做了,這樣才能提高自我,慢慢的明白了一個(gè)好的東西是多么的不容易呀,這樣的慢慢的把這個(gè)做完了。</p><p>  做完自己的東西才明白,別人做出來是多少的難,也開始愛惜別人做的程序了,讓我很有成就感,同時(shí)發(fā)現(xiàn)軟件這東西不是我們一個(gè)人就能很好的完成的,它要很多人的心血,一個(gè)好的軟件是經(jīng)過N次的調(diào)試,調(diào)出來的,真的很不容易,讓我感到一個(gè)作品的勞動(dòng)要多少心苦的。</p><p>  我

120、明確知道我做的這個(gè)程序只是很大的一個(gè)系統(tǒng)中的一小部分,而且它的內(nèi)容不一定能適合到很大的項(xiàng)目中,要和其它的軟件合為一體,還是要做很多工作的,所以我下去以還會(huì)認(rèn)真的愛惜我的程序的。</p><p><b>  致 謝</b></p><p>  一個(gè)好的軟件經(jīng)過一個(gè)人的開發(fā)是不夠的,所以我要感謝所有幫助過我完成此功能的老師與同學(xué)們。如果沒有他們的幫助,可能我的項(xiàng)目也不會(huì)

121、完成的那么好。</p><p>  在完成我的項(xiàng)目期間,老師們認(rèn)真的負(fù)責(zé),每個(gè)細(xì)節(jié)都詳細(xì)的和我講解,從不嫌我麻煩。老師們這樣的工作態(tài)度使我非常的感動(dòng),這樣的認(rèn)真態(tài)度是我們要學(xué)習(xí)的。</p><p>  我要特別感謝我的設(shè)計(jì)輔導(dǎo)老師,她不斷地為我改進(jìn)系統(tǒng)的不足之處,細(xì)心地和我講解每個(gè)步驟與方法,使我受益匪淺。謝謝老師對(duì)我的指導(dǎo)與支持。</p><p>  感謝在背后默

122、默支持我的父母,他們每天辛勤的勞動(dòng)工作,就是為了讓我今后有出頭之日。沒有你們的支持,我也不會(huì)走到大學(xué)這一步,謝謝我最愛的父母。</p><p>  最后,感謝我身邊每一個(gè)幫助和支持我的人,謝謝你們了。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 肖桂東,SQL Server 疑難解析,電子工業(yè)出版社,2006,86

123、-162</p><p>  [2] 劉瑞新,程序設(shè)計(jì)教程,機(jī)械工業(yè)出版社,2003,20-36</p><p>  [3] 張慶華,ASP.NET 2.0完全自學(xué)手冊(cè),機(jī)械工業(yè)出版社,2007,73-112</p><p>  [4] 邱錦倫,Visual C#.NET 程序設(shè)計(jì),清華大學(xué)出版社,2006,147-406</p><p> 

124、 [5] 賽奎春,C#程序設(shè)計(jì)范例寶典,北京人民郵電出版社,2006</p><p>  [6] 張學(xué)志,C#+SQL Server項(xiàng)目開發(fā)實(shí)踐, 中國(guó)鐵道出版社,2005,1-398</p><p>  [7] 張樹亮、李超,ASP.NET 2.0+SQL Server網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)案例精解,清華大學(xué)出版社,2006,36-50</p><p>  [8] 宋昆

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論