畢業(yè)設計(論文)基于ASP.NET的聊天室設計與實現_第1頁
畢業(yè)設計(論文)基于ASP.NET的聊天室設計與實現_第2頁
畢業(yè)設計(論文)基于ASP.NET的聊天室設計與實現_第3頁
畢業(yè)設計(論文)基于ASP.NET的聊天室設計與實現_第4頁
畢業(yè)設計(論文)基于ASP.NET的聊天室設計與實現_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘 要為了方便網絡信息的交流,在結合動態(tài)服務網頁(asp.net)技術和sql數據庫技術以及常用的c#語言網頁制作工具visual studio .net等之下開發(fā)了這個快截、界面友好的網絡交流系統(tǒng)。本設計使用動態(tài)服務網頁(asp.net)技術建設,使用sql制作系統(tǒng)的數據庫,實現了一個功能相對齊全的聊天設計系統(tǒng),網友可以自由地申請和登陸以及與他人溝通,或者交流經驗。該聊天室功能較齊全,在這里可以自由地發(fā)表自己的語言和各種表情的表達,我們還可以用管理員登陸來在線管理聊天室內的用戶。聊天室還有一些特殊的功能,如在線人員顯示、互相悄悄話等。整個個性化頁面生成系統(tǒng)主要由使用visual studio

2、 .net開發(fā)的關聯規(guī)則采掘系統(tǒng)和利用iis+asp.net技術實現的個性化web頁面生成器兩部分組成。關聯規(guī)則采掘系統(tǒng)對數據庫中的歷史記錄進行分析,產生用戶關聯規(guī)則表;頁面生成器則負責記錄用戶行為和根據關聯規(guī)則表動態(tài)生成用戶個性化web頁面。二者通過數據庫服務器和web服務器連接。本文作者主要完成web客戶端及后臺管理中的用戶管理、言論管理、版面管理、數據庫管理、瀏覽和查找、短消息功能等設計、實現與完善以及整個實驗網站的組織建立和測試工作。關鍵詞:動態(tài)服務網頁,聊天室目 錄第1章 緒 論1第2章 開發(fā)技術及運行環(huán)境22.1 asp.net技術的使用22.1.1 asp.net的介紹22.1.

3、2 asp.net技術的使用32.2 sql server 2005的使用42.3應用mvc結構62.3.1 mvc設計思想62.3.2 mvc設計模式的實現72.4應用c#編程語言82.5系統(tǒng)流程的實現11第3章 總體設計133.1項目規(guī)劃133.2使用操作描述133.3數據庫設計133.3.1數據庫字典133.3.2數據庫實體分析16第4章 詳細設計184.1后臺管理功能實現184.2前臺功能的實現20第5章 編碼實現225.1顯示信息的代碼225.2修改操作數據的代碼實現23第6章 軟件部署276.1系統(tǒng)運行環(huán)境需求276.2程序工作環(huán)境需求27總 結28致 謝29參考文獻30第1章 緒

4、 論internet是目前世界上最大的計算機互聯網絡,它遍布全球,將世界各地各種規(guī)模的網絡連接成一個整體。作為internet上一種先進的,易于被人們所接受的信息檢索手段,world wide web(簡稱www)發(fā)展十分迅速,成為目前世界上最大的信息交流寶庫。據估計,目前internet上已有上百萬個web站點,其內容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂、體育等各個領域,其用戶群十分龐大,其中以交友為目地的交友聊天網站更是層次不群,因此在大海一樣的網絡中建設一個好的web站點對于一個機構的發(fā)展十分重要。近年來,隨著網絡用戶要求的不斷提高及計算機科學的迅速發(fā)展,特別是數據庫

5、技術在internet中的廣泛應用,web站點向用戶提供的服務將越來越豐富,越來越人性化。我們發(fā)現這樣一個事實,一個用戶在訪問一個網站時一般來講只對該網站的部分內容感性趣,而且這種興趣會持續(xù)一段時間。這點啟發(fā)了我們,如果能根據用戶的喜好為不同的用戶進行即時的溝通,將有十分美好的前景。要實現這樣的功能,離不開后臺數據庫的支持。用戶驗證信息,收集到的用戶點擊信息,主題層次信息,分析得出的關聯規(guī)則表等大量的數據都由數據庫管理系統(tǒng)管理。本文中數據庫服務器端采用了microsoft sqlserver數據庫作為sqlconnection數據源,并以先進的ado(activex data objects)

6、技術進行數據庫存取等操作,使web與數據庫緊密聯系起來。第2章 開發(fā)技術及運行環(huán)境2.1 asp.net技術的使用2.1.1 asp.net的介紹asp.net 不僅僅是下一版本的 active server page (asp);它是統(tǒng)一的 web 開發(fā)平臺,用來提供開發(fā)人員生成企業(yè)級 web 應用程序所需的服務。asp.net 的語法在很大程度上與 asp 兼容,同時它還提供一種新的編程模型和結構,用于生成更安全、可伸縮和穩(wěn)定的應用程序??梢酝ㄟ^在現有 asp 應用程序中逐漸添加 asp.net 功能,隨時增強該 asp 應用程序的功能。 asp.net 是一個已編譯的、基于 .net 的

7、環(huán)境,可以用任何與 .net 兼容的語言(包括 visual basic .net、c# 和 jscript .net.)創(chuàng)作應用程序。另外,任何 asp.net 應用程序都可以使用整個 .net 框架。開發(fā)人員可以方便地獲得這些技術的優(yōu)點,其中包括托管的公共語言運行庫環(huán)境、類型安全、繼承等等。 asp.net 可以無縫地與 wysiwyg html 編輯器和其他編程工具(包括 microsoft visual studio .net)一起工作。這不僅使得 web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點,包括開發(fā)人員可以用來將服務器控件拖放到 web 頁的 gui 和完全集成的調

8、試支持。在創(chuàng)建 asp.net 應用程序、web 窗體和 web 服務時,我們可以選擇下列兩個功能,或者以他們認為合適的任何方式將它們結合起來使用。每個功能都能得到同一結構的支持,使我們可以使用身份驗證方案,緩存經常使用的數據,或者對應用程序的配置進行自定義,這里只是列出幾種可能性而已。 “web 窗體”用于生成功能強大的基于窗體的 web 頁。生成這些頁時,可以使用 asp.net 服務器控件來創(chuàng)建公共 ui 元素,以及對它們進行編程以用于執(zhí)行常見的任務。這些控件使您能夠用可重復使用的內置或自定義組件生成 web 窗體,從而簡化頁面的代碼。asp.net是一種建立在通用語言上的程序構架,能被

9、用于一臺web服務器來建立強大的web應用程序。asp.net提供許多比現在的web開發(fā)模式強大的優(yōu)勢。asp.net是把基于通用語言的程序在服務器上運行。不像以前的asp即時解釋程序,而是將程序在服務器端首次運行時進行編譯,這樣的執(zhí)行效果,當然比一條一條的解釋強很多。因為asp.net是基于通用語言的編譯運行的程序,所以它的強大性和適應性,可以使它運行在web應用軟件開發(fā)者的幾乎全部的平臺上。通用語言的基本庫,消息機制,數據接口的處理都能無縫的整合到asp.net的web應用中。asp.net同時也是language-independent語言獨立化的,所以,你可以選擇一種最適合你的語言來編

10、寫你的程序,或者把你的程序用很多種語言來寫,現在已經支持的有c#(c+和java的結合體),vb,jscript。將來,這樣的多種程序語言協(xié)同工作的能力保護您現在的基于com+開發(fā)的程序,能夠完整的移植向asp.net。并且asp.net使運行一些很平常的任務如表單的提交客戶端的身份驗證、分布系統(tǒng)和網站配置變得非常簡單。2.1.2 asp.net技術的使用1)可管理性:使用基于文本的、分級的配置系統(tǒng),簡化了將設置應用于服務器環(huán)境和web應用程序的工作。因為配置信息是存儲為純文本的,因此可以在沒有本地管理工具的幫助下應用新的設置。配置文件的任何變化都可以自動檢測到并應用于應用程序。2)安全:為w

11、eb應用程序提供了默認的授權和身份驗證方案。開發(fā)人員可以根據應用程序的需要很容易地添加、刪除或替換這些方案。3)易于部署:通過簡單地將必要的文件復制到服務器上,應用程序即可以部署到該服務器上。不需要重新啟動服務器,甚至在部署或替換運行的已編譯代碼時也不需要重新啟動。4)增強的性能:是運行在服務器上的已編譯代碼。與傳統(tǒng)的activeserverpages(asp)不同,能利用早期綁定、實時(jit)編譯、本機和全新的緩存服務來提高性能。5)靈活的輸出緩存:根據應用程序的需要,可以緩存頁數據、頁的一部分或整個頁。緩存的項目可以依賴于緩存中的文件或其他項目,或者可以根據過期策略進行刷新。6)國際化:

12、在內部使用unicode以表示請求和響應數據??梢詾槊颗_計算機、每個目錄和每頁配置國際化設置。7)移動設備支持:支持任何設備上的任何瀏覽器。開發(fā)人員使用與用于傳統(tǒng)的桌面瀏覽器相同的編程技術來處理新的移動設備。8)擴展性和可用性:被設計成可擴展的、具有特別專有的功能來提高群集的、多處理器環(huán)境的性能。此外,internet信息服務(iis)和運行時密切監(jiān)視和管理進程,以便在一個進程出現異常時,可在該位置創(chuàng)建新的進程使應用程序繼續(xù)處理請求。9)跟蹤和調試:提供了跟蹤服務,該服務可在應用程序級別和頁面級別調試過程中啟用??梢赃x擇查看頁面的信息,或者使用應用程序級別的跟蹤查看工具查看信息。在開發(fā)和應用程

13、序處于生產狀態(tài)時,支持使用.netframework調試工具進行本地和遠程調試。當應用程序處于生產狀態(tài)時,跟蹤語句能夠留在產品代碼中而不會影響性能。10)與.netframework集成:因為是.netframework的一部分,整個平臺的功能和靈活性對web應用程序都是可用的。也可從web上流暢地訪問.net類庫以及消息和數據訪問解決方案。是獨立于語言之外的,所以開發(fā)人員能選擇最適于應用程序的語言。另外,公共語言運行庫的互用性還保存了基于com開發(fā)的現有投資。2.2 sql server 2005的使用sql server 2005 通過在可伸縮性、數據集成、開發(fā)工具和強大的分析等方面的革新

14、更好的確立了微軟在bi領域的領導地位。sql server 2005 能夠把關鍵的信息及時的傳遞到組織內員工的手中,從而實現了可伸縮的商業(yè)智能。從ceo 到信息工作者,員工可以快速的、容易的處理數據,以更快更好的做出決策。sql server 2005全面的集成、分析和報表功能使企業(yè)能夠提高他們已有應用的價值,即便這些應用是在不同的平臺上。商業(yè)智能增強體現在以下幾個方面:端到端的集成bi平臺,集成服務,分析服務,報表服務,microsoft office system的集成。(這里只介紹使用前三種比較好技術)1、端到端的集成bi平臺microsoft sql server 2005 是一個完整

15、的商務智能 (bi) 平臺,其中為用戶提供了可用于構建典型和創(chuàng)新的分析應用程序所需的各種特性、工具和功能。本文簡要介紹了您在構建分析應用程序時將要用到的一些工具,并著重介紹了一些新增功能,這些新增功能使復雜 bi 系統(tǒng)的構建和管理比以往更加輕松。2、integration servicessql server 2005帶來了一個全新的企業(yè)級數據整合平臺。此平臺具有出色的etl和整合能力,使得組織機構能更加容易地管理來自于不同的關系型和非關系型數據源的數據。通過sql server integration services(ssis),組織機構能以整體的視角去考察它們的商業(yè)運營情況,從而能具有競

16、爭優(yōu)勢企業(yè)級數據整合平臺sql server integration services取代了sql server 2000中一個非常受歡迎的功能模塊數據轉換服務(dts)。但ssis并不是dts的簡單升級,它是sql server 2005中的一個全新的組件,它提供了構建企業(yè)級etl應用程序所需的功能和性能。ssis是可編程的、可嵌入的和可擴展的,這些特性使其成為理想的etl平臺。傳統(tǒng) etl 之外的sql server 2005 支持非傳統(tǒng)的數據(web service,xml):ssis 可對不持續(xù)的數據進行分析;在數據流中的數據挖掘和文本挖掘;數據流中的數據挖掘和分析可用于數據質量和數據

17、清洗。3、analysis services在sql server 2005中,分析服務(analysis services)第一次提供了一個統(tǒng)一和集成的商業(yè)數據視圖,可被用做所有傳統(tǒng)報表、olap分析、關鍵績效指標(kpi)記分卡和數據挖掘的基礎。統(tǒng)一空間模型unified dimensional model通過結合傳統(tǒng)olap分析和關系型報表中的最佳點,analysis services 2005提供了一個元數據模型用于滿足不同需求。analysis services 2005中的所有多維數據集和維度定義都可從統(tǒng)一空間模型udm中查閱。udm是一個中心元數據庫,其中定義了業(yè)務實體、業(yè)務邏輯

18、、計算和metrics,可被作為所有報表、電子表格、olap瀏覽器、kpi和分析應用程序的源來使用。通過使用新的、功能強大的數據源視圖特性、udm可被映射成后臺異構數據源宿主,這樣便可無需考慮數據的位置。利用udm中對業(yè)務實體的友好描述、等級導航、多視角、自動平滑翻譯為本機語言這些功能,最終用戶將會發(fā)現瀏覽公司業(yè)務數據是一件容易的事情。microsoft sql server 2005 data mining(數據挖掘)屬于商務智能技術,它可幫助您構建復雜的分析模型,并使其與您的業(yè)務操作相集成。microsoft sql server 2005分析服務中構建了新的數據挖掘平臺一個易于使用的、容

19、易擴展的、方便訪問的、非常靈活的平臺。對于以前從未考慮過采用數據挖掘的組織機構,這無疑是個非常容易接受的解決方案。企業(yè)級產品的架構,與sql server產品家族商業(yè)智能功能的緊密集成,豐富的工具、api和算法,這一切使得我們能基于sql server創(chuàng)建新型的商業(yè)智能應用程序。通過它所提供的針對各種商業(yè)問題的自定義的數據驅動解決方案,能達到提高生產力、增加利潤和減少支出的目的。2.3應用mvc結構2.3.1 mvc設計思想mvc英文即model-view-controller,即把一個應用的輸入、處理、輸出流程按照model、view、controller的方式進行分離,這樣一個應用被分成三

20、個層模型層、視圖層、控制層視圖(view)代表用戶交互界面,對于web應用來說,可以概括為html界面,但有可能為xhtml、xml和applet。隨著應用的復雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個應用可能有很多不同的視圖,mvc設計模式對于視圖的處理僅限于視圖上數據的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務流程的處理。業(yè)務流程的處理交予模型(model)處理。比如一個訂單的視圖只接受來自模型的數據并顯示給用戶,以及將用戶界面的輸入數據和請求傳遞給控制和模型。模型(model):就是業(yè)務流程/狀態(tài)的處理以及業(yè)務規(guī)則的制定。業(yè)務流程的處理過程對其它層來說是黑箱操作,模型接受視圖

21、請求的數據,并返回最終的處理結果。業(yè)務模型的設計可以說是mvc最主要的核心。目前流行的ejb模型就是一個典型的應用例子,它從應用技術實現的角度對模型做了進一步的劃分,以便充分利用現有的組件,但它不能作為應用設計模型的框架。它僅僅告訴你按這種模型設計就可以利用某些技術組件,從而減少了技術上的困難。對一個開發(fā)者來說,就可以專注于業(yè)務模型的設計。mvc設計模式告訴我們,把應用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設計依據。抽象與具體不能隔得太遠,也不能太近。mvc并沒有提供模型的設計方法,而只告訴你應該組織管理這些模型,以便于模型的重構和提高重用性。我們可以用對象

22、編程來做比喻,mvc定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點對編程的開發(fā)人員非常重要??刂?controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄祿幚?。例如,用戶點擊一個連接,控制層接受請求后, 并不處理業(yè)務信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。模型、視圖與控制器的分離,使得一個模型可

23、以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數據,所有其它依賴于這些數據的視圖都應反映到這些變化。因此,無論何時發(fā)生了何種數據變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化傳播機制。2.3.2 mvc設計模式的實現本文通過mvc實現了qq聊天室的功能如下圖2-1所示的其中admin放的是關于后臺管理頁面,根目錄下的幾個便是前臺的頁面顯示,我們的主要代碼則放在app_code這里面,放入實現類和它相應的操作方法,用的時候,可以直接調用。圖2-1項目架構圖2.4應用c#編程語言1c#的特點開發(fā)本系統(tǒng)采用的是c#編程語言。c#是一門簡單、現代、面向對象

24、、類型安全、平臺獨立的組建編程語言,是.net的關鍵性語言,也是整個.net平臺的基礎,它使程序員能快速的為新一代microsoft.net平臺開發(fā)出應用程序。它的特點主要是:(一)簡潔的語法在缺省的情況下,c#的代碼在.net框架提供的“可操縱”環(huán)境下運行,不允許直接地內存操作。它所帶來的最大的特色是沒有了指針。與此相關的是,那些在c+中被瘋狂使用的操作符(例如:“:”、“-”和“.,”)已經不再出現。c#只支持一個“.”,對于我們來說,現在需要理解的一切僅僅是名字的嵌套而已。c#用真正的關鍵字換掉了那些的活動模板庫(active template library,alt)和com搞得亂糟糟

25、的偽關鍵字,如ole_color、bool、variant_bool、dispid_x等等。每種c#操作符在.net類庫中都有了新名字。語法中的冗余是c+中的常見的問題,比如const和#define、各種各樣的字符類型等等。c#對此進行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結構中被清除了出去。(二)精心的面向對象設計在c#的類型系統(tǒng)中,每種類型都可以看作一個對象。c#提供了一個叫做裝箱(boxing)與拆箱(unboxing)的機制來完成這種操作,而不給使用者帶來麻煩。c#只允許單繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。整個c#的類模型是建立在.net虛擬對象系

26、統(tǒng)(visual object system,vos)的基礎之上,其對象模型是.net基礎架構的一部分,而不再是其本身的組成部分。(三)與web的緊密結合.net中新的應用程序開發(fā)模型意味著越來越多的解決方案需要與web標準相統(tǒng)一,例如超文本標記語言(hypertext markup language,html)和xml。由于歷史的原因,現存的一些開發(fā)工具不能與web緊密地結合。soap的使用使得c#克服了這一缺陷,大規(guī)模深層次的分布式開發(fā)從此成為可能。由于有了web服務框架的幫助,對程序員來說,網絡服務看起來就象是c#的本地對象。程序員們能夠利用他們已有的面向對象的知識與技巧開發(fā)web服務。

27、僅需要使用簡單的c#語言結構,c#組件將能夠方便地為web服務,并允許它們通過internet被運行在任何操作系統(tǒng)上的任何語言所調用。舉個例子,xml已經成為網絡中數據結構傳遞的標準,為了提高效率,c#允許直接將xml數據映射成為結構。這樣就可以有效的處理各種數據。(四)完整的安全性與錯誤處理語言的安全性與錯誤處理能力,是衡量一種語言是否優(yōu)秀的重要依據。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內存空間進行修改。這些錯誤常常產生難以預見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。c#的先進設計思想可以消除軟件

28、開發(fā)中的許多常見錯誤,并提供了包括類型安全在內的完整的安全性能。為了減少開發(fā)中的錯誤,c#會幫助開發(fā)者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發(fā)生。(五)版本處理技術c#提供內置的版本支持來減少開發(fā)費用,使用c#將會使開發(fā)人員更加輕易地開發(fā)和維護各種商業(yè)用戶。升級軟件系統(tǒng)中的組件(模塊)是一件容易產生錯誤的工作。在代碼修改過程中可能對現存的軟件產生影響,很有可能導致程序的崩潰。為了幫助開發(fā)人員處理這些問題,c#在語言中內置了版本控制功能。(六)靈活性和兼容性在簡化語法的同時,c#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發(fā)硬件驅動

29、程序,在默認的狀態(tài)下沒有指針等等,但是,在學習過程中你將發(fā)現,它仍然是那樣的靈巧。2c#語言編程環(huán)境c#(讀作c sharp)是微軟開發(fā)的一種面向對象的編程語言,是微軟.net開發(fā)環(huán)境的重要組成部分。而microsoft visual c#2005是微軟開發(fā)的c#編程集成開發(fā)環(huán)境(同種產品還有borland公司的c# builder),它是為生成在.net framework上運行的多種應用程序而設計的。c#簡單、功能強大、類型安全,而且是面向對象的。c#憑借它的許多創(chuàng)新,在保持c樣式語言的表示形式和優(yōu)美的同時,實現了應用程序的快速開發(fā)。visual s包含visual c#,這是通過功能齊全

30、的代碼編輯器、項目模板、設計器、代碼向導、功能強大且易于使用的調試器以及其他工具實現的。通過.net framework 類庫,可以訪問多種操作系統(tǒng)服務和其他有用的精心設計的類,這些類可顯著加快開發(fā)周期。2.5系統(tǒng)流程的實現1后臺管理流程圖錯誤信息頁面管理員登錄頁面管理員管理員登錄頁面公告管理頁面用戶管理頁面聊天管理頁面修改管理員密碼頁面公告查詢信息頁面編輯公告信息頁面會員查找刪除頁面對聊天的頁面設置聊天內容過濾退出管理員頁面圖2-2 后臺管理流程圖2前臺實現流程圖來客注冊自己的信息成功名稱進入聊天限制圖2-3 前臺實現流程圖第3章 總體設計3.1項目規(guī)劃qq聊天室是前臺和后臺共用一個小網站,

31、主要是為了在一些網站做補充,為了使我網站更有吸引力,增加網站的內容主要內容如下所示:(1)“會員的管理”用于維護(刪除、查詢)會員的基本信息。主要是根據會員編號和名稱進行管理。(2)“管理員的管理”用于維護管理員的基本信息。其內容包括管理員的(增加,刪除,修改密碼)及權限的設置。(3)“公告信息”用于公告的(增加,刪除,修改,查詢)情況,便于更快的實行信息的公告,從而對聊天室的管理。其內容主要是公告的內容詳細設置。(4)“聊天內容管理”用于管理聊天內容的信息。主要是為了健康的上網,對一些內容的刪除。3.2使用操作描述方便性:只要有個ie瀏覽器就可以使用,避免繁瑣的安裝。快捷性:管理方便,網站只

32、要加入本功能,就能使用,占用系統(tǒng)少。3.3數據庫設計3.3.1數據庫字典數據庫是系統(tǒng)的最底層,它存儲系統(tǒng)的所有數據。根據對系統(tǒng)的分析,得出數據庫表如下:1聊天信息表(chat)聊天信息表用于保存管理相應會員的聊天內空,時間,其中包括格式、密碼、性別以及年齡。管理人員信息表的字段說明如表3-1所示。作用聊天信息表序號英文字段名稱中文字段名稱字段類型大小備注1userid管理員idnvarchar50主鍵 非空2username管理員名稱nvarchar50not null3createtime時間nvarchar50datatime 4context內容text2not null 5color顏

33、色nvarchar506emotime表情nvarchar 50not null表3-1 表chat的結構2會員信息表(users)會員信息表存儲會員的信息。會員信息表的字段說明如表3-2所示。表3-2 表users的結構作用會員信息表序號英文字段名稱中文字段名稱字段類型大小備注1userid員工編號int主鍵(自增)2userpwd密碼nvarchar50unique非空3username真實姓名nvarchar50not null 4sex性別char2default(男)5tel電話nvarchar206area地區(qū)nvarchar207brithday生日datatime8chatid

34、所屬chat編號nvarhcar 20not null3管理員信息表(adminlogin)管理員信息表用于存儲每個管理員的詳細信息。管理員信息表的字段說明如表3-3所示。表3-3 表adminlogin的結構作用管理員信息表序號英文字段名稱中文字段名稱字段類型大小備注1admin_id管理員編號nvarchar10主鍵 非空2admin_pwd密碼nvarchar203power權限int 1最或0普通4請求類型表(newask)請求表用于提供請求信息。請求表的字段說明如表3-4所示。表3-4 表newask的結構作用請求類型表序號英文字段名稱字段漢名稱字段類型大小備注1newaskid請求

35、類型編號int主鍵(自增)2askuserid請求者int 非空3asktime時間datetime 4askcontext內容text 505result結果int default 13.3.2數據庫實體分析1聊天實體結構圖顏色聊天實體 時間聊天者表情 內容圖3-1 聊天實體結構圖2會員實體結構圖注冊者用戶idid密碼姓名性別圖片id自我介紹朋友圖3-2 會員實體結構圖3管理員實體結構圖 管理員用戶名密碼權限圖3-3 管理員實體結構圖4好友請求實體結構圖好友請求請求者請求編號內容接受者圖3-4 請求實體結構圖第4章 詳細設計4.1后臺管理功能實現管理員登錄模塊為本系統(tǒng)的后臺頁面,此頁面必須是

36、特定的操作人員有相關的賬號和密碼才能登陸管理的主要頁面。管理員登錄頁面必須通過驗證用戶名、密碼正確與否,只有合法的用戶才可以進入系統(tǒng)的核心。當用戶名沒有輸入用戶名、密碼時,系統(tǒng)會通過非空驗證再用戶名和密碼的后面顯示“不允許為空”的字樣。當輸入信息正確點擊“確定” 按鈕時,就會彈出“登陸成功”的消息提示框,進入系統(tǒng)的主界面進行操作;如輸入錯誤信息將彈出“用戶名或密碼錯誤,請檢查!”的消息提示框,無法進入界面。單擊“退出” 按鈕可關閉當前頁面,如圖4-1所示。在管理員登錄頁面中的“管理員名稱”處輸入管理員用戶名“admin”,在密碼處輸入“admin”,單擊“確定”按鈕,進入如圖4-2所示。系統(tǒng)主

37、要包括:會員的信息管理、公告信息的管理、聊天內容顯示的管理、以及管理員系統(tǒng)密碼的修改。期中增加、刪除、修改、查詢的操作方法相似,下面以管理員維護為例,講解其操作方法。公告的管理主要有:公告信息的添加、刪除和修改等操作,由于這些信息的執(zhí)行操作大致是相同的,所以我們在這里主要介紹管理員修改的各種操作。會員信息設置模塊包括會員信息列表、添加會員、修改會員信息和刪除會員4部分功能。在功能區(qū)中單擊“管理員信息”按鈕,進入管理員頁面。此頁面主要實現添加管理員信息的操作功能。單擊“增加”按鈕,進入編輯管理員信息的頁面。此頁面主要實現的是顯示管理員的信息、修改、刪除、會員信息等功能。對管理員頁面的操作方法如下

38、:添加管理員密碼。單擊“新建管理員”按鈕,進入如圖4-3所示的頁面,輸入本次管理員密碼,在管理員用戶名、密碼、確認密碼,驗證碼處添加相關內容,然后單擊“確定”按鈕,完成添加操作。窗體設計界面圖4-1 管理員登錄圖圖4-2 后臺管理頁面圖圖4-3 管理員修改信息圖4.2前臺功能的實現登錄聊天:在前臺直接登錄,進入如圖4-5所示的頁面,可以直接輸入名稱進入,也可注冊會員登錄,登錄以后會保存用戶的聊天記錄。聊天內容窗體:顯示現在會員的聊天內容,這個窗口也可按一定的時間自動更新的。 發(fā)聊天信息:這個窗體可以發(fā)聊天信息,對所有人選擇可以聊天,也可以私聊,要發(fā)的信息只能對相應選擇的人觀看,其它人看不到,其

39、中右邊還有選擇自己在上面顯示窗體上的字體大小或是顏色。如圖4-6所示。窗體設計界面圖4-4 前臺會員或是游客進入聊天圖圖4-5 顯示聊天信息圖圖4-6 發(fā)聊天信息圖第5章 編碼實現5.1顯示信息的代碼此聊天頁面的信息主要就是在頁面上顯示來客的聊天信息,我們可以很容易的顯示我們的發(fā)言,讓其它人看到,其中的顏色和大小可以區(qū)分不同的說話者。在這里我們主要用到的是把數據庫中的數據讀出來顯示在一個頁面,然后在當前頁面對其調用,另一個頁面是自動刷新的。實現代碼如下:/ / 顯示聊天信息 / / public dataset showtopchat() dataset dst =new dataset ()

40、 ; try cmd = new sqlcommand(select top 10 * from chat order by createtime desc , con.conopen(); sda = new sqldataadapter(cmd ); sda.fill(dst); catch (exception) finally con.conclose(); return dst ; / / 綁定聊天信息 / public void initdata() chatoper chatoper=new chatoper (); dataset ds = chatoper.showtopch

41、at(); / dataset ds = applicationchat.tostring(); if (ds != null) foreach( datarow dr in ds.tables0.rows ) response.write();/顏色 response.write(drcreatetime.tostring();/發(fā)言時間 response.write(【 + drusername.tostring() + 】);/發(fā)言用戶 response.write(dremotion.tostring();/表情 response.write(說道:); response.write(

42、drcontext.tostring();/發(fā)言內容 response.write(); 5.2修改操作數據的代碼實現在修信息時,點擊要修改的內容,根據編號從而進入相關修改的信息頁,顯示出這信息,這樣就可以修改它的內容了。修改信息時要提取修改內容的id信息,這就用到了數據回填的內容。下面以我們常用到的注冊用戶實現代碼如下: / / 用戶注冊 / / 用戶實體信息 / 結果信息 public string insertusers(userentity userentity) string str = ; try cmd = new sqlcommand( insert into users (u

43、serid,userpwd,username,sex,tel,area,brithday,myinfo,mail) values( + userentity.userid + , + userentity.userpwd + , + userentity.username + , + userentity.sex + , + userentity.tel + , + userentity.area + , + userentity.birthday + , + userentity.myinfo + ,+userentity.mail +), con.conopen(); int i = cm

44、d.executenonquery(); if (i = 1) str = ok; else str = 失敗,請檢查!; catch (sqlexception ex) if (ex.number = 2627) str = 已存在此用戶!; else str = 系統(tǒng)錯誤!; finally con.conclose(); return str; / / 根據相關的id要刪除用戶 / / 用戶組 / public string delusers(string userids) string str = ; try cmd = new sqlcommand( delete from user

45、s where userid= + userids + , con.conopen(); int i = cmd.executenonquery(); if (i 0) str = ok; else str = 失敗,請檢查!; catch (sqlexception ex) str = 系統(tǒng)錯誤!; finally con.conclose(); return str; / / 用戶自己對信息的修改 / / 信息實體 / 結果信息 public string updateusers(userentity userentity) string str = ; try cmd = new sql

46、command( update users set userpwd= + userentity.userpwd + ,username= + userentity.username + ,sex= + userentity.sex + ,tel= + userentity.tel + ,area= + userentity.area + ,brithday= + userentity.birthday + ,myinfo= + userentity.myinfo + where userid= + userentity.userid + , con.conopen(); int i = cmd

47、.executenonquery(); if (i = 1) str = ok; else str = 失敗,請檢查!; catch (sqlexception ex) str = 系統(tǒng)錯誤!; finally con.conclose(); return str; / / 得到用戶數據表 / / 用戶數據表 public datatable getuserlist() sqldataadapter sda = null; datatable dt = null; try cmd = new sqlcommand(select * from users , con.conopen(); sda = new sqldataadapter(cmd); sda.fill(d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論