2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  基于C#實(shí)現(xiàn)的郵件管理系統(tǒng)</p><p><b>  摘 要</b></p><p>  電子郵件(E-mail)是Internet上使用最廣泛的服務(wù)之一,在當(dāng)今社會(huì)中扮演了一個(gè)很重要的角色。雖然,現(xiàn)在已經(jīng)有很多郵件收發(fā)管理系統(tǒng),但是對于大多數(shù)的非專業(yè)的人來說它還是有點(diǎn)難度稍顯微復(fù)雜。因此,我使用ASP.NET開發(fā)技術(shù)結(jié)合SQL Server

2、數(shù)據(jù)庫技術(shù)開發(fā)一個(gè)頁面簡單,操作方便的Web郵件管理系統(tǒng)。開發(fā)的過程中主要使用Web頁面設(shè)計(jì)和數(shù)據(jù)訪問技術(shù)來實(shí)現(xiàn)該郵件管理系統(tǒng)的主要功能,包括管理員的功能和普通用戶的功能兩大部分。管理員功能主要包括管理用戶信息、刪除用戶、管理后臺(tái)系統(tǒng)等;普通用戶功能主要包括用戶個(gè)人信息的管理、個(gè)人郵箱的管理等。該系統(tǒng)可以根據(jù)需求對功能進(jìn)行擴(kuò)展和完善。</p><p>  關(guān)鍵詞:郵件管理系統(tǒng);ASP.NET;SQL Server

3、;Web頁面</p><p>  Mail management system based on C# </p><p><b>  Abstract</b></p><p>  E-mail (E-mail) is one of the most widely used service Internet, plays a very impor

4、tant role in today's society. Although, now there are many mail management system, but for most of the non-professional people it is a bit difficult to slightly microscopic complex. Therefore, I use the ASP.NET devel

5、opment technology to develop a simple page with SQL Server database technology, convenient operation of the Web mail management system. The main use of Web page design and data access technology to rea</p><p&g

6、t;  Key words: Mail management system;ASP.NET;SQL Server;Web page</p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p><p><b>  1.1引言1</b></p>

7、;<p>  1.2開發(fā)背景和環(huán)境2</p><p>  1.2.1開發(fā)背景2</p><p>  1.2.2開發(fā)環(huán)境2</p><p>  第2章 相關(guān)技術(shù)4</p><p>  2.1ASP.NET技術(shù)介紹4</p><p>  2.2數(shù)據(jù)庫技術(shù)的介紹6</p>&

8、lt;p>  2.3ADO.NET 簡介7</p><p>  第3章 系統(tǒng)可行性分析11</p><p>  3.1技術(shù)可行性分析11</p><p>  3.2經(jīng)濟(jì)可行性分析11</p><p>  3.3操作可行性分析11</p><p>  第4章 系統(tǒng)需求分析12</p>

9、<p>  4.1圖例分析12</p><p>  4.2系統(tǒng)管理員功能15</p><p>  4.3用戶功能15</p><p>  第5章 系統(tǒng)概要設(shè)計(jì)16</p><p>  5.1系統(tǒng)流程圖16</p><p>  5.1.1管理員系統(tǒng)功能流程圖16</p>

10、<p>  5.1.2普通用戶的系統(tǒng)功能流程圖16</p><p>  5.2系統(tǒng)模塊功能圖17</p><p>  5.3數(shù)據(jù)庫需求分析18</p><p>  5.4數(shù)據(jù)庫數(shù)據(jù)模型設(shè)計(jì)19</p><p>  5.4.1創(chuàng)建數(shù)據(jù)庫20</p><p>  5.4.2創(chuàng)建數(shù)據(jù)表20&

11、lt;/p><p>  第6章 程序設(shè)計(jì)與實(shí)現(xiàn)23</p><p>  6.1系統(tǒng)設(shè)計(jì)概括23</p><p>  6.2功能模塊設(shè)計(jì)與實(shí)現(xiàn)23</p><p>  6.2.1管理員模塊的設(shè)計(jì)與實(shí)現(xiàn)23</p><p>  6.2.2用戶模塊設(shè)計(jì)與實(shí)現(xiàn)28</p><p><

12、b>  結(jié) 論37</b></p><p><b>  致 謝38</b></p><p>  參 考 文 獻(xiàn)39</p><p>  附錄A 譯文40</p><p>  ASP.NET 技術(shù)40</p><p>  附錄B 外文原文49</p>

13、<p><b>  緒論</b></p><p><b>  引言</b></p><p>  電子郵件(簡稱E-mai1)又稱電子信箱、電子郵政,它是—種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普遍的一項(xiàng)服務(wù)。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是—個(gè)簡易、快速的方法。通過連接全世界的Interne

14、t,實(shí)現(xiàn)各類信號(hào)的傳送、接收、存貯等處理,將郵件送到世界的各個(gè)角落。到目前為止,可以說電子郵件是Internet資源使用最多的一種服務(wù),E-mai1不只局限于信件的傳遞,還可用來傳遞文件、聲音及圖形、圖像等不同類型的信息。 </p><p>  電子郵件不是一種“終端到終端”的服務(wù),是被稱為“存貯轉(zhuǎn)發(fā)式”服務(wù)。這正是電子信箱系統(tǒng)的核心,利用存貯轉(zhuǎn)發(fā)可進(jìn)行非實(shí)時(shí)通信,屬異步通信方式。即信件發(fā)送者可隨時(shí)隨地

15、發(fā)送郵件,不要求接收者同時(shí)在場,即使對方現(xiàn)在不在,仍可將郵件立刻送到對方的信箱內(nèi),且存儲(chǔ)在對方的電子郵箱中。接收者可在他認(rèn)為方便的時(shí)候讀取信件,不受時(shí)空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而“接收”郵件則意味著從自己的信箱中讀取信件,信箱實(shí)際上是由文件管理系統(tǒng)支持的—個(gè)實(shí)體。因?yàn)殡娮余]件是通過郵件服務(wù)器(mai1 server)來傳遞的。通常mail server是執(zhí)行多任務(wù)操作系統(tǒng)UNIX的計(jì)

16、算機(jī),它提供24小時(shí)的電子郵件服務(wù),用戶只要向 mail server管理人員申請—個(gè)信箱賬號(hào),就可使用這項(xiàng)快速的郵件服務(wù)。 </p><p>  電子郵件的工作原理: </p><p>  (1)  電子郵件系統(tǒng)是一種新型的信息系統(tǒng),是通信技術(shù)和計(jì)算機(jī)技術(shù)結(jié)合的產(chǎn)物。  </p><p>  電

17、子郵件的傳輸是通過電子郵件簡單傳輸協(xié)議(Simple Mail Transfer Protocol,簡稱SMTP)這一系統(tǒng)軟件來完成的,它是Internet下的一種電子郵件通信協(xié)議。  </p><p>  (2)  電子郵件的基本原理,是在通信網(wǎng)上設(shè)立“電子信箱系統(tǒng)”,它實(shí)際上是一個(gè)計(jì)算機(jī)系統(tǒng)。系統(tǒng)的硬件是一個(gè)高性能、大容量的計(jì)算機(jī)。硬盤作為信箱的存儲(chǔ)

18、介質(zhì),在硬盤上為用戶分一定的存儲(chǔ)空間作為用戶的“信箱”,每位用戶都有屬于自己的—個(gè)電子信箱。存儲(chǔ)空間包含存放所收信件、編輯信件以及信件存盤三部分空間,用戶使用口令開啟自己的信箱,并進(jìn)行發(fā)信、讀信、編輯、轉(zhuǎn)發(fā)、存檔等各種操作。系統(tǒng)功能主要由軟件或者網(wǎng)頁實(shí)現(xiàn)。 </p><p>  (3) 電子郵件的通信是在信箱之間進(jìn)行的。用戶首先開啟自己的信箱,然后通過鍵入命令的方式將需要發(fā)送的郵件發(fā)到對方的信箱中。郵件

19、在信箱之間進(jìn)行傳遞和交換,也可以與另—個(gè)郵件系統(tǒng)進(jìn)行傳遞和交換。收方在取信時(shí),使用特定賬號(hào)從信箱提取[1]。</p><p><b>  開發(fā)背景和環(huán)境 </b></p><p><b>  開發(fā)背景</b></p><p>  當(dāng)前流行的各大郵件客戶端軟件除了最主要的收發(fā)信件之外,功能越來越復(fù)雜,但是人們平常真正用到的功

20、能很少,很多功能尤其對于那些計(jì)算機(jī)知識(shí)相對缺乏的人來說,更加顯得太過于華麗而不太實(shí)用。有鑒于此,我開發(fā)了這個(gè)各種功能相對簡單實(shí)用的郵件客戶端Web頁面程序,簡化了很多不必要的功能。</p><p>  隨著互聯(lián)網(wǎng)的普及,國內(nèi)外的互聯(lián)網(wǎng)用戶數(shù)呈指數(shù)增長。為滿足不斷增長的信息交流需要,作為因特網(wǎng)第一應(yīng)用的電子郵件系統(tǒng)變得越來越重要。隨著網(wǎng)絡(luò)環(huán)境的建設(shè)與完善,許多用戶已經(jīng)提出這樣的要求:擁有自己的Web郵件系統(tǒng)。國外的

21、電子郵件系統(tǒng)可真叫四通八達(dá),這種手段已經(jīng)成為他們通信最流行的幾種方式之一了。相比較國內(nèi),電子郵件系統(tǒng)還不算太完善,電子郵件通信的方式還不算太流行,如何才能把這種方式大眾化、流行化呢?這還需要我們?nèi)フJ(rèn)識(shí)它、了解它、使用它。</p><p>  國外已經(jīng)有了許許多多的電子郵件系統(tǒng),國內(nèi)也有一些這樣的系統(tǒng),我覺得這些還不夠充實(shí)這個(gè)龐大的流行團(tuán)體,所以我要開發(fā)一個(gè)簡單電子郵件系統(tǒng),來滿足相應(yīng)的用戶的需要。</p&g

22、t;<p><b>  開發(fā)環(huán)境</b></p><p><b>  硬件環(huán)境</b></p><p>  CPU:Intel 酷睿2雙核 P7350</p><p><b>  內(nèi)存:2GB</b></p><p>  系統(tǒng)類型:32位操作系統(tǒng)</p>

23、;<p>  具備Internet上網(wǎng)條件</p><p><b>  軟件環(huán)境</b></p><p>  操作系統(tǒng):Windows7旗艦版</p><p>  Microsoft SQL Server 2008</p><p>  Microsoft Visual Studio 2010</p&g

24、t;<p>  Microsoft SQL Server 2008簡介</p><p>  SQL Server 2008提供了可依靠的技術(shù)和能力來接受不斷發(fā)展的對于管理數(shù)據(jù)和給用戶發(fā)送全面的洞察的挑戰(zhàn)。具有在關(guān)鍵領(lǐng)域方面的顯著的優(yōu)勢,SQL Server 2008是一個(gè)可信任的、高效的、智能的數(shù)據(jù)平臺(tái)。它推出了許多新的特性和關(guān)鍵的改進(jìn),使得它成為至今為止的最強(qiáng)大和最全面的SQL Server版本[

25、2]。</p><p>  Microsoft Visual Studio 2010簡介</p><p>  Visual Studio是微軟公司推出的開發(fā)環(huán)境。是目前最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境。Visual Studio 2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設(shè)計(jì)和組織,變得更加簡單明了。Visual Studio 2010同時(shí)帶來了

26、 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持開發(fā)面向Windows 7的應(yīng)用程序。除了Microsoft SQL Server,它還支持 IBM DB2和Oracle數(shù)據(jù)庫[4]。</p><p><b>  相關(guān)技術(shù)<

27、/b></p><p>  ASP.NET技術(shù)介紹</p><p>  ASP.NET不僅僅是下一版本的 Active Server Page (ASP),而且還是一種建立在通用語言上的程序構(gòu)架,能被用于一臺(tái)Web服務(wù)器來建立強(qiáng)大的Web應(yīng)用程序。ASP.net提供許多比現(xiàn)在的Web開發(fā)模式強(qiáng)大的優(yōu)勢。它是統(tǒng)一的Web開發(fā)平臺(tái),用來提供開發(fā)人員快速生成企業(yè)級(jí) Web 應(yīng)用程序所需的服

28、務(wù)[5]。</p><p>  ASP.NET的語法在很大程度上與 ASP 兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),用于生成更安全、可伸縮和穩(wěn)定的應(yīng)用程序??梢酝ㄟ^在現(xiàn)有ASP應(yīng)用程序中逐漸添加,與以前的 Web 開發(fā)模型相比,ASP.NET 提供了數(shù)個(gè)重要的優(yōu)點(diǎn):</p><p><b>  (1) 增強(qiáng)的性能</b></p><p>  

29、ASP.NET 是在服務(wù)器上運(yùn)行的編譯好的公共語言運(yùn)行庫代碼。ASP.NET 可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。</p><p>  (2) 世界級(jí)的工具支持</p><p>  ASP.NET 框架補(bǔ)充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計(jì)器。WYSIWYG 編輯、拖放服務(wù)器控件和自動(dòng)部署只是這個(gè)強(qiáng)大的工

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

31、或者把你的程序用很多種語言來寫,現(xiàn)在已經(jīng)支持的有C#(C++和Java的結(jié)合體),VB,Jscript。這樣的多種程序語言協(xié)同工作的能力會(huì)保護(hù)您現(xiàn)在的基于COM+開發(fā)的程序,能夠完整的移植向ASP.NET。</p><p>  (4) 威力和靈活性</p><p>  由于 ASP.NET 基于公共語言,因此,Web 應(yīng)用程序開發(fā)人員可以利用整個(gè)平臺(tái)的威力和靈活性。.NET 框架類庫、消息

32、處理和數(shù)據(jù)訪問解決方案都可從 Web訪問。ASP.NET 也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運(yùn)行的交互性可保證在遷移到 ASP.NET 時(shí)保留基于 COM 的開發(fā)中的現(xiàn)有投資。</p><p><b>  (5) 簡易性</b></p><p>  ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身

33、份驗(yàn)證到部署和站點(diǎn)配置都非常簡單。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,類似在 Visual Basic 的簡單窗體處理模型中處理事件。允許你建立你自己的用戶分界面,使其又不同于常見的VB-Like界面。另外,公共語言運(yùn)行庫利用托管代碼服務(wù)(如自動(dòng)引用計(jì)數(shù)和垃圾回收)簡化了開發(fā),使把代碼結(jié)合成軟件簡單的就像裝配電腦。</p><p><b>  (6) 可管

34、理性 </b></p><p>  ASP.NET使用一種字符基礎(chǔ)的、分級(jí)的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單。因?yàn)榕渲眯畔⒍急4嬖诤唵挝谋局?,新的設(shè)置有可能都不需要啟動(dòng)本地的管理員工具就可以實(shí)現(xiàn)。這種被稱為"Zero Local Administration"的哲學(xué)觀念使ASP.NET的基于應(yīng)用的開發(fā)更加具體、快捷。一個(gè)ASP.NET的應(yīng)用程序在一臺(tái)服務(wù)器系統(tǒng)的安裝

35、只需要簡單的拷貝一些必須文件,不需要系統(tǒng)的重新啟動(dòng),一切就是這么簡單。</p><p>  (7) 可縮放性和可用性</p><p>  ASP.NET 在設(shè)計(jì)時(shí)考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進(jìn)程受到 ASP.NET 運(yùn)行庫的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏、死鎖)時(shí),可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請求。<

36、/p><p>  (8) 自定義性和擴(kuò)展性</p><p>  ASP.NET 隨附了一個(gè)設(shè)計(jì)周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募?jí)別“插入”代碼。實(shí)際上,可以用自己編寫的自定義組件擴(kuò)展或替換 ASP.NET 運(yùn)行庫的任何子組件。</p><p><b>  (9) 安全性</b></p><p>  借助內(nèi)置的 Windo

37、ws 身份驗(yàn)證和基于每個(gè)應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。</p><p>  總之,ASP.NET 是一個(gè)已編譯的、基于 .NET 的環(huán)境,把基于通用語言的程序在服務(wù)器上運(yùn)行。程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,比ASP即時(shí)解釋程序速度上要快很多,而且是可以用任何與 .NET 兼容的語言(包括 Visual Basic .NET、C# 和 JScript .NET)創(chuàng)作應(yīng)用程序。另外,任何 ASP.NET

38、 應(yīng)用程序都可以使用整個(gè) .NET Framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語言運(yùn)行庫環(huán)境、類型安全、繼承等等[3]。</p><p><b>  數(shù)據(jù)庫技術(shù)的介紹</b></p><p>  數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學(xué)與技術(shù)的重要組成部分,是計(jì)算機(jī)數(shù)據(jù)處理與信息管理系統(tǒng)的核心。數(shù)據(jù)庫技術(shù)研究和解決了計(jì)算機(jī)信息處理過程中大量數(shù)據(jù)有效地

39、組織和存儲(chǔ)的問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲(chǔ)冗余、實(shí)現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效地檢索數(shù)據(jù)和處理數(shù)據(jù)。</p><p>  隨著計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)通信技術(shù)的發(fā)展,數(shù)據(jù)庫技術(shù)已成為信息社會(huì)中對大量數(shù)據(jù)進(jìn)行組織與管理的重要技術(shù)手段及軟件技術(shù),是網(wǎng)絡(luò)信息化管理系統(tǒng)的基礎(chǔ)。</p><p>  從20世紀(jì)60年代末期開始到現(xiàn)在,數(shù)據(jù)庫技術(shù)已經(jīng)發(fā)展了30多年。在這30多年的歷程中,人們在數(shù)據(jù)庫技術(shù)

40、的理論研究和系統(tǒng)開發(fā)上都取得了輝煌的成就,而且已經(jīng)開始新一代數(shù)據(jù)庫系統(tǒng)的深入研究。數(shù)據(jù)庫已經(jīng)成為現(xiàn)代計(jì)算機(jī)系統(tǒng)的重要組成部分。</p><p>  數(shù)據(jù)模型是數(shù)據(jù)庫技術(shù)的核心和基礎(chǔ),因此,對數(shù)據(jù)庫系統(tǒng)開發(fā)階段的劃分應(yīng)該以數(shù)據(jù)模型的發(fā)展演變作為主要依據(jù)和標(biāo)志。按照數(shù)據(jù)模型的發(fā)展演變過程,數(shù)據(jù)庫技術(shù)從開始到現(xiàn)在,在短短的30年中,主要經(jīng)歷了三個(gè)發(fā)展階段:第一代是網(wǎng)狀和層次數(shù)據(jù)庫系統(tǒng),第二代是關(guān)系數(shù)據(jù)庫系統(tǒng),第三代是以

41、面向?qū)ο髷?shù)據(jù)模型為主要特征的數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)通信技術(shù)、人工智能技術(shù)、面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)、并行計(jì)算機(jī)技術(shù)等相互滲透、有機(jī)結(jié)合,成為當(dāng)代數(shù)據(jù)庫技術(shù)發(fā)展的重要特征。</p><p>  SQL Server 2008由一組數(shù)量眾多的數(shù)據(jù)庫組件組成。這些組件在功能上互相補(bǔ)充,在使用方式上彼此協(xié)調(diào),以滿足用戶在數(shù)據(jù)存儲(chǔ)和管理、大型Web站點(diǎn)支持和企業(yè)數(shù)據(jù)分析處理上的需求[6]。</p><

42、p>  SQL Server 2008是微軟公司的大型數(shù)據(jù)庫管理系統(tǒng),它的主要特點(diǎn)有:</p><p>  (1) 強(qiáng)大的查詢與管理功能;</p><p>  (2) 強(qiáng)大的數(shù)據(jù)庫開發(fā)功能;</p><p>  (3) 擴(kuò)大了對SQL語言的支持;</p><p>  (4) 大量使用可視化的界面操作工具;</p><

43、p>  (5) 支持面向?qū)ο蟮某绦蛟O(shè)計(jì);</p><p>  (6) 多平臺(tái)支持;</p><p>  (7) 支持網(wǎng)絡(luò)應(yīng)用。</p><p>  ADO.NET 簡介</p><p>  ADO.NET是對Microsoft ActiveX Data Objects (ADO)一個(gè)跨時(shí)代的改進(jìn),它提供了平臺(tái)互用性和可伸縮的數(shù)據(jù)訪問。由

44、于傳送的數(shù)據(jù)都是XML格式的,因此任何能夠讀取XML格式的應(yīng)用程序都可以進(jìn)行數(shù)據(jù)處理。事實(shí)上,接受數(shù)據(jù)的組件不一定要是ADO .NET組件,它可以是基于一個(gè)Microsoft Visual Studio的解決方案,也可以是任何運(yùn)行在其它平臺(tái)上的任何應(yīng)用程序。</p><p>  以前做數(shù)據(jù)庫訪問的時(shí)候,需要一直與數(shù)據(jù)庫保持連接,直到獲取完所有滿足需要的數(shù)據(jù)之后才會(huì)斷開數(shù)據(jù)庫連接,這種數(shù)據(jù)庫訪問方式稱之為連接式數(shù)據(jù)

45、訪問技術(shù)。相比于以前的連接式數(shù)據(jù)訪問技術(shù),ADO.NET除了提供連接式數(shù)據(jù)訪問技術(shù)之外,還提供了另一種斷開式解決方案,那就是在內(nèi)存中模擬一個(gè)數(shù)據(jù)庫,也就是內(nèi)存中的數(shù)據(jù)庫。</p><p>  在ADO.NET中對上面提到的對象都在內(nèi)存中進(jìn)行了模擬,在內(nèi)存中的數(shù)據(jù)庫對象稱之為DataSet,一個(gè)內(nèi)存中的數(shù)據(jù)庫(DataSet)可以包含多個(gè)在內(nèi)存中的表(DataTable)和內(nèi)存中的視圖(DataView),并且也允

46、許在表存在一些關(guān)系(DataRelation)。同時(shí)在一個(gè)內(nèi)存中的表(DataTable)或者內(nèi)存中的視圖(DataView)中也允許存在行(DataRow)和列(DataColumn)。 物理數(shù)據(jù)庫與內(nèi)存數(shù)據(jù)庫之間的各對象的對應(yīng)關(guān)系如下(圖中顏色相同的表示二者基本上是一種對應(yīng)關(guān)系):</p><p>  圖2.1物理數(shù)據(jù)庫與內(nèi)存數(shù)據(jù)庫之間的各對象的對應(yīng)關(guān)系</p><p>  ADO.N

47、ET中的6個(gè)常用對象: Connection對象 ,Command對象 ,DataReader對象,DataAdapter對象,DataSet對象,DataTable對象。 </p><p>  嚴(yán)格地說,在.NET類庫中并沒有Connection、Command、DataAdapter和DataReader對象的,這是對相關(guān)的對象做了一個(gè)抽象。在實(shí)際的開發(fā)中,我們經(jīng)常用到的數(shù)據(jù)庫有Access、SQL

48、 Server、Oracle、MySQL等,盡管大部分都遵循SQL國際化標(biāo)準(zhǔn),但是它們在遵循標(biāo)準(zhǔn)的前提下又做了一些擴(kuò)充,并且即使遵循了相同的標(biāo)準(zhǔn),但是實(shí)現(xiàn)方法并不相同,所以在某些情況下實(shí)現(xiàn)相同的功能可能在不同的數(shù)據(jù)庫中SQL語句并不相同。 于是,在ADO.NET也定義了一套用于訪問數(shù)據(jù)庫的標(biāo)準(zhǔn),當(dāng)然這個(gè)標(biāo)準(zhǔn)是以接口(interface)的形式提供的,各數(shù)據(jù)庫廠商只要實(shí)現(xiàn)了這個(gè)接口就能在ADO.NET下正常工作(這也是接口的作用,接口就是

49、用于指定規(guī)范,自己本身并不實(shí)現(xiàn),在Java中針對數(shù)據(jù)庫訪問也有一套接口留待各數(shù)據(jù)庫來實(shí)現(xiàn))。當(dāng)然在.NET類庫中微軟已經(jīng)提供對Access、SQL Server和Oracle數(shù)據(jù)庫對上面提到的接口的實(shí)現(xiàn)。 在ADO.NET中定義的這一套接口是IDbConnection、IDbCommand、IDbDataAdapter和IDataReader,并且</p><p>  圖2.2數(shù)據(jù)庫訪問接口和抽象類</p&

50、gt;<p>  圖2.2最上面的是數(shù)據(jù)庫訪問接口,緊接著的是數(shù)據(jù)庫訪問抽象類,下面是針對不同數(shù)據(jù)庫中實(shí)現(xiàn)這些接口的類,并且在括號(hào)中注明了其所在的命名空間,比如針對MySQL數(shù)據(jù)的數(shù)據(jù)庫訪問類就位于MySql.Data.MySqlClient命名空間下,關(guān)于MySql的數(shù)據(jù)庫訪問類需要到MySql數(shù)據(jù)庫的官方網(wǎng)站去下載,它的官方網(wǎng)站是:www.mysql.com。其它的數(shù)據(jù)庫訪問類都在.net類庫中自帶了。需要注意的是訪問

51、SQL Server 7.0以下版本的SQL Server數(shù)據(jù)庫時(shí)需要System.Data.OleD命名空間下一套數(shù)據(jù)庫訪問類,雖然這一套數(shù)據(jù)庫訪問類同樣也能訪問SQLServer2000以上版本,但是沒有辦法利用SQL Server數(shù)據(jù)庫的一些新特性,所以不建議使用System.Data.OleDb命名空間下的類訪問SQL Server2000以上的版本。針對SQL Server數(shù)據(jù)庫講述Connection、Command、Dat

52、aAdapter和DataReader對象的用法,它們在其它數(shù)據(jù)庫中也有對應(yīng)的類,除了有些SQL語句語法不一樣之外,用法是基本一樣的[2]。</p><p><b>  系統(tǒng)可行性分析 </b></p><p>  可行性研究是以相對短的時(shí)間和相對低的成本來確定給定的問題是否有解。這里相對短和相對低是指和實(shí)現(xiàn)建議系統(tǒng)所需時(shí)間和成本相比較而言??尚行匝芯恐饕獜南率?個(gè)方

53、面進(jìn)行分析:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性。</p><p><b>  技術(shù)可行性分析</b></p><p>  技術(shù)可行性的考慮集中在現(xiàn)存的計(jì)算機(jī)硬件能否支持被研究的系統(tǒng),首先關(guān)心的是該組織是否有相應(yīng)的軟件和硬件能夠支持處理建議的應(yīng)用程序。其次考慮在規(guī)定平臺(tái)之上,利用現(xiàn)有的成熟技術(shù)是否能夠?qū)崿F(xiàn)這個(gè)應(yīng)用[8]。現(xiàn)代計(jì)算機(jī)硬、軟件技術(shù)的飛速發(fā)展,為系統(tǒng)建設(shè)提供了

54、技術(shù)條件。計(jì)算機(jī)等基礎(chǔ)設(shè)施的更新?lián)Q代也緊跟潮流的發(fā)展,這就為開發(fā)系統(tǒng)提供了堅(jiān)實(shí)基礎(chǔ)。本系統(tǒng)的開發(fā)是建立在聯(lián)想G450的2G內(nèi)存和32位操作系統(tǒng)的硬件基礎(chǔ)之上,并且軟件基礎(chǔ)為Microsoft SQL Server 2008和Microsoft Visual Studio 2010,利用ASP.NET技術(shù)進(jìn)行開發(fā),因此在技術(shù)上該系統(tǒng)的開發(fā)是可行的。</p><p><b>  經(jīng)濟(jì)可行性分析</b&

55、gt;</p><p>  這是經(jīng)典的并且是最常使用的評價(jià)計(jì)算機(jī)系統(tǒng)的方法。這個(gè)評價(jià)的結(jié)果稱為成本/效益分析。簡單地說,經(jīng)濟(jì)可行性研究是確定得自新系統(tǒng)的節(jié)省和利益,將這些利益和系統(tǒng)的實(shí)現(xiàn)成本相比較,如果利益超過成本,則開發(fā)新系統(tǒng)的決策是肯定的;否則的話,除非有其他特殊原因,這個(gè)決策將是否定的[9]。本軟件的實(shí)現(xiàn)是作為考核學(xué)生學(xué)習(xí)情況的手段,不存在經(jīng)濟(jì)可行性的問題。</p><p><

56、b>  操作可行性分析</b></p><p>  是指人員的手工操作而不是指計(jì)算機(jī)系統(tǒng)操作是否可行,也就是說在實(shí)現(xiàn)了建議的計(jì)算機(jī)系統(tǒng)后,所需要的配合的手工操作是否可行。在對本系統(tǒng)的開發(fā)時(shí)對界面的做了更加又好的設(shè)計(jì),加上現(xiàn)在社會(huì)的工作學(xué)習(xí)中大多書都需要用到電腦操作,因此對本系統(tǒng)的人工手動(dòng)操作會(huì)更加直觀簡單。</p><p><b>  系統(tǒng)需求分析</b&

57、gt;</p><p>  在問題定義階段對建議的功能、規(guī)模和約束條件等已經(jīng)作了規(guī)定。在可行性研究階段通過和使用者的交流,對用戶的需求有了初步的了解。因此在這個(gè)階段中,設(shè)計(jì)者應(yīng)該進(jìn)一步澄清問題定義中的模糊部分,更正錯(cuò)誤部分。通過這個(gè)活動(dòng),清楚地描述系統(tǒng)的主要功能。</p><p><b>  圖例分析</b></p><p>  (1) 用例的

58、目的:</p><p>  用例圖使我們對系統(tǒng)的功能有了一個(gè)整體的認(rèn)知,我們可以知道有哪些參與者會(huì)與系統(tǒng)發(fā)生交互,每一個(gè)參與者需要系統(tǒng)為它提供什么樣的服務(wù)。</p><p>  (2) 用例的優(yōu)點(diǎn):</p><p>  用例方法完全是站在用戶的角度上(從系統(tǒng)的外部)來描述系統(tǒng)的功能的。在用例方法中,我們把被定義系統(tǒng)看作是一個(gè)黑箱,我們并不關(guān)心系統(tǒng)內(nèi)部是如何完成它所提

59、供的功能的。用例方法首先描述了被定義系統(tǒng)有哪些外部使用者(抽象成為Actor),這些使用者與被定義系統(tǒng)發(fā)生交互;針對每一參與者,用例方法又描述了系統(tǒng)為這些參與者提供了什么樣的服務(wù)(抽象成為Use Case),或者說系統(tǒng)是如何被這些參與者使用的。所以從用例圖中,我們可以得到對于被定義系統(tǒng)的一個(gè)總體印象[7]。 </p><p>  與傳統(tǒng)的功能分解方式相比,用例方法完全是從外部來定義系統(tǒng)的功能,它把需求與設(shè)計(jì)完全分

60、離開來。在面向?qū)ο蟮姆治鲈O(shè)計(jì)方法中,用例模型主要用于表述系統(tǒng)的功能性需求,系統(tǒng)的設(shè)計(jì)主要由對象模型來記錄表述。另外,用例定義了系統(tǒng)功能的使用環(huán)境與上下文,每一個(gè)用例描述的是一個(gè)完整的系統(tǒng)服務(wù)</p><p>  (3) 確定本系統(tǒng)功能的用戶用例圖,如圖4.1。</p><p>  a. 用戶登陸本系統(tǒng);</p><p>  b. 已經(jīng)注冊的用戶:直接輸入用戶名和密碼

61、登陸系統(tǒng);</p><p>  c. 未注冊用戶:進(jìn)入注冊頁面,進(jìn)行新用戶注冊;</p><p>  d. 登陸成功:進(jìn)入郵箱,其中具有收發(fā)郵件、寫郵件、刪除郵件等功能;</p><p>  e. 操作系統(tǒng)完成:可以退出本系統(tǒng)。</p><p>  圖4.1 系統(tǒng)用戶的用例圖</p><p>  (4) 確定本系統(tǒng)功能

62、的管理員用例圖,如圖4.2。</p><p>  a. 返回管理員登陸界面;</p><p>  b. 管理用戶信息;</p><p>  c. 退出管理員系統(tǒng)。</p><p>  圖4.2 系統(tǒng)管理員的用例圖</p><p><b>  系統(tǒng)管理員功能</b></p><p

63、>  (1) 管理員登錄:系統(tǒng)初始化好系統(tǒng)管理員,管理員能夠通過該入口進(jìn)入后臺(tái)進(jìn)行管理操作。</p><p>  (2) 管理員管理注冊用戶:管理員可以對系統(tǒng)的注冊用戶進(jìn)行管理,查詢系統(tǒng)中的注冊用戶,直接添加用戶,對于違規(guī)用戶可以刪除,以及查看某注冊用戶的詳細(xì)注冊信息和修改用戶資料。</p><p>  (3) 管理員修改密碼:管理員可以修改管理員密碼。</p><

64、;p>  (4) 用戶注冊:新用戶可以注冊。注冊的用戶信息包括注冊用戶名名、密碼、真實(shí)姓名、手機(jī)號(hào)碼、生日、電子郵件等。所有的信息都是必填項(xiàng)。</p><p><b>  用戶功能</b></p><p>  (1) 用戶登錄:系統(tǒng)注冊用戶使用自己注冊的用戶名登錄系統(tǒng),進(jìn)行郵件的收發(fā)和管理。其中郵件的管理又包括收件箱、垃圾箱、發(fā)件箱、我的好友等的管理。</

65、p><p>  (2) 撰寫發(fā)送郵件:填寫收件人、標(biāo)題和收件內(nèi)容后,可以給發(fā)件人發(fā)送郵件。</p><p>  (3) 收件箱管理:顯示用戶所有收到的郵件列表,可以查看郵件的詳細(xì)內(nèi)容,可以選中所要?jiǎng)h除的郵件進(jìn)行刪除或者刪除收件箱中所有郵件,也可以將郵件移動(dòng)到垃圾箱中。</p><p>  (4) 發(fā)件箱管理:顯示用戶發(fā)送的所有郵件列表,可以查看郵件的詳細(xì)內(nèi)容,可以選中所

66、要?jiǎng)h除的郵件進(jìn)行刪除或者刪除所有已發(fā)郵件。</p><p>  (5) 垃圾箱管理:顯示用戶從收件箱或者發(fā)件箱移到垃圾箱中的郵件,可以查看郵件的詳細(xì)內(nèi)容,可以選中所要?jiǎng)h除的郵件進(jìn)行刪除或者刪除垃圾箱中所有郵件,所刪除的郵件則被徹底地刪除。</p><p>  (6) 我的好友管理:顯示所有好友列表,可以添加好友,可以選中所要?jiǎng)h除記錄進(jìn)行刪除或者刪除所有好友,可以查看個(gè)人詳細(xì)信息。</

67、p><p><b>  系統(tǒng)概要設(shè)計(jì)</b></p><p><b>  系統(tǒng)流程圖</b></p><p>  系統(tǒng)流程圖又叫事務(wù)流程圖,是在計(jì)算機(jī)事務(wù)處理應(yīng)用進(jìn)行系統(tǒng)分析時(shí)常用的一種描述方法(另一個(gè)是數(shù)據(jù)流圖),它描述了計(jì)算機(jī)事務(wù)處理中從數(shù)據(jù)輸入開始到獲得輸出為止,各個(gè)處理工序的邏輯過程[10]。</p>&

68、lt;p>  管理員系統(tǒng)功能流程圖</p><p>  首先管理員要系統(tǒng)參數(shù)設(shè)置和管理,當(dāng)用戶注冊成為系統(tǒng)用戶之后,管理員在進(jìn)行對用戶的管理工作,流程如下圖5.1所示。</p><p>  圖5.1 系統(tǒng)流程圖-管理員</p><p>  普通用戶的系統(tǒng)功能流程圖 </p><p>  沒有身份的用戶需要先注冊,登錄系統(tǒng)后可以新建郵件、

69、發(fā)送郵件新建文件夾、移動(dòng)郵件等郵件管理操作。如下圖5.2所示。</p><p>  圖5.2 系統(tǒng)功能圖-普通用戶</p><p><b>  系統(tǒng)模塊功能圖 </b></p><p>  通過系統(tǒng)模塊的功能圖描述,可以很直觀的看到系統(tǒng)的各個(gè)功能組件,功能圖如下圖5.3所示。</p><p>  此模塊的功能圖是從整個(gè)系

70、統(tǒng)出發(fā),描繪出來的。其中介紹了管理員各個(gè)功能和基本用戶的功能等等。用模塊的功能圖描繪整個(gè)系統(tǒng),使系統(tǒng)各個(gè)功能清晰可見,層次分明,是一種比較好的方法。</p><p>  圖5.3 模塊的功能圖</p><p><b>  數(shù)據(jù)庫需求分析</b></p><p>  本系統(tǒng)根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體包括用戶信息實(shí)體(Users)、郵件實(shí)體(Mai

71、ls)、好友實(shí)體(Friends)、文件夾實(shí)體(Floders)等。通過對實(shí)體聯(lián)系的分析,一個(gè)用戶管理多個(gè)郵件和文件夾,一個(gè)文件夾中有多個(gè)郵件,一個(gè)用戶有多個(gè)好友,一個(gè)好友發(fā)送多個(gè)郵件。使用Microsoft visio2007設(shè)計(jì)E-R模型。將現(xiàn)實(shí)的信息簡化為實(shí)體與實(shí)體之間的聯(lián)系。實(shí)體關(guān)系圖的分析結(jié)果也非常復(fù)雜,一般情況下使用自底向上的方法,首先對局部視圖進(jìn)行分析設(shè)計(jì),然后再實(shí)現(xiàn)視圖集成。這里不再對局部視圖進(jìn)行設(shè)計(jì),直接給出視圖集成后

72、的E-R圖,如圖5.5所示。</p><p>  圖5.4郵件管理系統(tǒng)數(shù)據(jù)庫E-R圖</p><p>  在設(shè)計(jì)時(shí),充分考慮了用戶使用郵件系統(tǒng)收發(fā)郵件的便捷性。其實(shí),以上E-R圖只是簡易郵件系統(tǒng)最基本元素的實(shí)體關(guān)系圖,讀者可以在此基礎(chǔ)上根據(jù)用戶的不同需要進(jìn)行擴(kuò)展。</p><p><b>  數(shù)據(jù)庫數(shù)據(jù)模型設(shè)計(jì)</b></p>&

73、lt;p>  在郵件服務(wù)器系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,首先要?jiǎng)?chuàng)建系統(tǒng)數(shù)據(jù)庫,然后在數(shù)據(jù)庫中創(chuàng)建需要的表和字段。</p><p>  數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中非常重要的一個(gè)環(huán)節(jié),因?yàn)閿?shù)據(jù)庫設(shè)計(jì)就像在建設(shè)高樓大廈的根基一樣,如果設(shè)計(jì)不好,在后來的系統(tǒng)維護(hù)、變更和功能擴(kuò)充時(shí),甚至于在系統(tǒng)開發(fā)過程中,都將會(huì)引起比較大的問題,有時(shí)大量的工作將會(huì)重新進(jìn)行。</p><p>  考慮到將來功能上的擴(kuò)展,設(shè)計(jì)

74、如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p>  用戶信息:包括數(shù)據(jù)項(xiàng),有用戶名、密碼等。</p><p>  郵件信息:包括數(shù)據(jù)項(xiàng),有發(fā)件人、收件人、主題、內(nèi)容、發(fā)送時(shí)間等。</p><p>  文件夾信息:包括數(shù)據(jù)項(xiàng),有文件夾名稱、郵件總數(shù)、未讀郵件數(shù)、創(chuàng)建時(shí)間等。</p><p>  基于上面的設(shè)計(jì),在設(shè)計(jì)系統(tǒng)中的各表,表與表之間相互關(guān)

75、聯(lián),共同存儲(chǔ)著系統(tǒng)所需要的數(shù)據(jù)。在設(shè)計(jì)數(shù)據(jù)庫表的過程中,一般要遵循幾條原則,用數(shù)據(jù)庫設(shè)計(jì)一個(gè)表最好只存儲(chǔ)一個(gè)實(shí)體或?qū)ο蟮南嚓P(guān)信息,不同的實(shí)體最好存儲(chǔ)在不同的數(shù)據(jù)表中,如果實(shí)體還可以再劃分,實(shí)體的劃分原則是最好能夠比當(dāng)前系統(tǒng)要開發(fā)的實(shí)體的復(fù)雜度?。粩?shù)據(jù)表的信息結(jié)構(gòu)一定要合適,標(biāo)的字段的數(shù)量一般不要過多;擴(kuò)充信息和動(dòng)態(tài)變化的信息一定要分開在不同的表里;多對多這樣的表關(guān)系盡量不要出現(xiàn)等。</p><p><b&g

76、t;  創(chuàng)建數(shù)據(jù)庫</b></p><p>  在創(chuàng)建表與視圖之前,首先要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫,步驟如下:</p><p>  (1) 啟動(dòng)SQLServer服務(wù)管理器,啟動(dòng)服務(wù)。</p><p>  (2) 進(jìn)入企業(yè)管理器,建立數(shù)據(jù)庫WebMail。</p><p>  本系統(tǒng)表的設(shè)計(jì)結(jié)果如表5.1所示。</p><

77、;p><b>  表5.1數(shù)據(jù)庫表</b></p><p><b>  創(chuàng)建數(shù)據(jù)表</b></p><p><b>  (1) 用戶表</b></p><p>  表5.2是用戶表,該表包含了用戶的基本且必要的信息,其中UserID是“用戶編號(hào)”,是主鍵,系統(tǒng)為用戶分配的唯一標(biāo)識(shí)符,它在整個(gè)用戶

78、表存儲(chǔ)的數(shù)據(jù)里是互不相同的,而且在系統(tǒng)的許多其它表里也要用到它;用戶名和密碼也是必需的,作為用戶登錄的入口;用戶類型用來區(qū)別是管理員還是普通用戶。</p><p>  表5.2Users 用戶表</p><p>  (2) 郵件信息記錄表</p><p>  表5.3是郵件信息記錄表,記錄系統(tǒng)用戶所發(fā)送的所有郵件。其中MailID是“郵件編號(hào)”,是主鍵,系統(tǒng)為郵件

79、分配的唯一標(biāo)識(shí)符,它在整個(gè)郵件信息記錄表存儲(chǔ)的數(shù)據(jù)里是互不相同的,而且在系統(tǒng)的許多其它表里也要用到它;UserID是外鍵,對應(yīng)到用戶表中相應(yīng)的用戶;FolderID 也是外鍵對應(yīng)到文件夾表中響應(yīng)的文件夾;IsRead用來標(biāo)記是否已讀;Trash用來標(biāo)記是否為垃圾郵件。</p><p>  表5.3 Mails郵件信息記錄表</p><p><b>  (3) 文件夾表</b

80、></p><p>  表5.4是用戶表,該表包含了文件夾的基本且必要的信息,其中FolderID是“文件夾編號(hào)”,是主鍵,系統(tǒng)為文件夾分配的唯一標(biāo)識(shí)符,它在整個(gè)文件夾表存儲(chǔ)的數(shù)據(jù)里是互不相同的,而且在系統(tǒng)的許多其它表里也要用到它;AddUser是外鍵,對應(yīng)到用戶表中的相應(yīng)的用戶。</p><p>  表5.4 Folders文件夾表</p><p><

81、b>  (4) 好友表</b></p><p>  表5.5是friend好友表,該表用于記錄用戶加入到好友列表的用戶,ID是主鍵;FriendName是好友的用戶名;UserName是添加改好友的用戶的用戶名;AddDate是添加好友的時(shí)間。</p><p>  表5.5 Friends好友表</p><p>  至此,個(gè)個(gè)數(shù)據(jù)表的結(jié)構(gòu)全部設(shè)計(jì)完

82、成,即定義好郵件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)郵件系統(tǒng)中的各項(xiàng)數(shù)據(jù)。</p><p><b>  程序設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b>  系統(tǒng)設(shè)計(jì)概括</b></p><p>  有系統(tǒng)設(shè)計(jì)可知本系統(tǒng)的設(shè)計(jì)共分為如下兩大部分:</p><p>  (1) 管理模塊用于管理員對注冊用戶管理,它包

83、括:</p><p><b>  管理員登錄界面;</b></p><p>  用戶管理:列表、查看、增加、刪除;</p><p><b>  管理員修改密碼。</b></p><p>  (2) 用戶模塊:用于用戶進(jìn)行郵件管理,它包括:</p><p><b> 

84、 注冊:注冊;</b></p><p><b>  登錄:登錄;</b></p><p>  撰寫發(fā)送郵件:發(fā)送郵件;</p><p>  收件箱管理:列表、查看、刪除、移動(dòng);</p><p>  垃圾箱管理:列表、查看、刪除、移動(dòng);</p><p>  發(fā)件箱管理:列表、查看、刪除、

85、移動(dòng);</p><p>  好友管理:列表、添加、查看、刪除。</p><p>  根據(jù)這些整體關(guān)系的設(shè)計(jì)下面對每一個(gè)部分給出主界面的設(shè)計(jì)及其設(shè)計(jì)思路。</p><p><b>  功能模塊設(shè)計(jì)與實(shí)現(xiàn)</b></p><p>  管理員模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  在管理員用戶登錄的界面中

86、,包括用戶名和密碼得輸入文本框和登錄身份選擇的下拉框,管理員在登錄時(shí)選擇管理員身份進(jìn)行登錄,以及提交登錄按鈕和注冊按鈕。管理員登錄界面如圖6.1所示。</p><p>  圖6.1管理員登錄界面</p><p>  string xiaoUserName = txtUserName.Text.ToString().Trim();</p><p>  string x

87、iaoUserPwd = txtPwd.Text.ToString().Trim(); </p><p>  Users userLogin = new Users();</p><p>  bool isLogin = userLogin.IsExists(xiaoUserName, xiaoUserPwd);</p><p>  if (isLogin == t

88、rue)</p><p>  {string strUserType = userLogin.GetUserType(xiaoUserName);</p><p>  if (ddlUserType.SelectedValue.Equals("User") && strUserType.Equals("1"))</p>

89、<p>  {Session["userName"] = xiaoUserName; FormsAuthentication.RedirectFromLoginPage(txtUserName.Text.Trim(), false);</p><p><b>  }</b></p><p>  else if (ddlUserType.S

90、electedValue.Equals("Admin")&&strUserType.Equals("2"))</p><p>  {Session["adminName"] = xiaoUserName;</p><p>  Response.Redirect("~/Admin/Default.aspx&

91、quot;);</p><p><b>  }</b></p><p><b>  else</b></p><p>  this.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "alert('用戶

92、類型選擇錯(cuò)誤,請重新選擇!);", true); return;</p><p><b>  }</b></p><p><b>  else</b></p><p>  { Response.Write("<script language=javascript>alert('用戶名

93、或密碼錯(cuò)誤,請重新輸入');</script>");</p><p><b>  }</b></p><p>  該段代碼主要通過將管理員輸入的用戶名和密碼和數(shù)據(jù)庫中的用戶名和密碼進(jìn)行比較,來進(jìn)行判斷,只有管理員輸入的用戶名和密碼與數(shù)據(jù)庫中的相同時(shí)才可以登錄到管理員界面。</p><p>  管理員登錄后,首要的功

94、能是對系統(tǒng)用戶的管理。管理員的管理界面上具有進(jìn)入用戶管理、添加用戶和修改密碼的入口。當(dāng)管理員進(jìn)行管理操作之后,要退出管理界面,則要退出管理的出口。</p><p>  圖6.2所示即為管理員登錄后的用戶管理界面,可以查看用戶的詳細(xì)信息,編輯用戶的信息,刪除用戶。</p><p>  用戶的信息需要由系統(tǒng)管理員來進(jìn)行管理和維護(hù)。為此,設(shè)計(jì)了用戶列表的界面,該界面中需要包括如下的信息:用戶名、

95、真實(shí)姓名、密碼、手機(jī)號(hào)碼、生日、Email等,還提供用戶管理的入口,包括產(chǎn)看用戶的詳細(xì)信息、修改用戶信息、刪除等。</p><p>  圖6.2管理員登錄用戶管理</p><p>  private void LoadgvAllUser()</p><p><b>  { </b></p><p>  this

96、.gvAllUser.DataSource = user.GetAllUsers_DS();</p><p>  this.gvAllUser.DataBind();</p><p><b>  }</b></p><p>  這段代碼使所有的用戶信息顯示在GridView控件gvAllUser中。</p><p>  

97、protected void gvAllUser_RowCommand(object sender, GridViewCommandEventArgs e)</p><p>  { if (e.CommandName == "View")</p><p>  {this.Response.Redirect("~/Admin/UserDetail.aspx?Us

98、erID="+e.CommandArgument.ToString());}</p><p>  else if (e.CommandName == "Edit")</p><p>  {this.Response.Redirect("~/Admin/UserEdit.aspx?UserID="+e.CommandArgument.ToSt

99、ring()); }</p><p><b>  }</b></p><p>  該段代碼實(shí)現(xiàn)查看用戶的詳細(xì)信息,用戶點(diǎn)擊gvAllUser中的“詳細(xì)”按鈕,會(huì)跳轉(zhuǎn)到用戶詳細(xì)信息現(xiàn)實(shí)的頁面上。圖6.3所示為管理員查看用戶詳細(xì)信息的界面,管理員可以通過此界面查看用戶的詳細(xì)信息。</p><p>  圖6.3管理員用戶管理界面</p>

100、<p>  實(shí)現(xiàn)管理員查看用戶詳細(xì)信息的代碼如下:</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p>  { if (!IsPostBack)</p><p>  { LoadUserInfo();}</p><p><b> 

101、 }</b></p><p>  private void LoadUserInfo()</p><p>  { if (Request["UserID"] == null) { this.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "a

102、lert('輸入?yún)?shù)錯(cuò)誤!');", true);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  DataSet ds_User = new Users().GetUserDetail(Request["UserID&qu

103、ot;].ToString());</p><p>  if (ds_User.Tables[0].Rows.Count < 1) {this.ClientScript.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "alert('錯(cuò)誤!');", true);</p><

104、;p><b>  return;</b></p><p><b>  }</b></p><p>  lblUserName.Text = ds_User.Tables[0].Rows[0]["UserName"].ToString();</p><p>  lblPwd.Text = ds_Us

105、er.Tables[0].Rows[0]["UserPwd"].ToString();</p><p>  lblRealName.Text = ds_User.Tables[0].Rows[0]["RealName"].ToString();</p><p>  lblPhone.Text = ds_User.Tables[0].Rows[0][&

106、quot;Phone"].ToString();</p><p>  lblBirthday.Text = ds_User.Tables[0].Rows[0]["Birthday"].ToString();</p><p>  lblEmail.Text = ds_User.Tables[0].Rows[0]["Email"].ToStri

107、ng();</p><p><b>  }</b></p><p>  管理員用過點(diǎn)擊用戶列表中的詳細(xì)按鈕查看想要查看的用戶的詳細(xì)信息,通過點(diǎn)擊用戶列表中的刪除按鈕,刪除用戶,刪除成功后提示“刪除成功!”,刪除不成功提示“刪除失?。 ?,實(shí)現(xiàn)代碼如下:</p><p>  protected void gvAllUser_RowDeleting(

108、object sender, GridViewDeleteEventArgs e)</p><p><b>  {</b></p><p>  if (user.DeleteUser(this.gvAllUser.DataKeys[e.RowIndex].Value.ToString()))</p><p>  this.ClientScrip

109、t.RegisterStartupScript(this.GetType(),Guid.NewGuid().ToString(), "alert('刪除成功!');", true);</p><p><b>  else</b></p><p>  this.ClientScript.RegisterStartupScript(th

110、is.GetType(),Guid.NewGuid().ToString(), "alert('刪除失?。?#39;);", true);</p><p>  LoadgvAllUser();</p><p><b>  }</b></p><p>  管理員可以通過點(diǎn)擊左邊功能列表中的“添加用戶”來實(shí)現(xiàn)用戶添加,如

111、圖圖6.4所示為管理員添加用戶的界面,管理員輸入要添加的用戶的信息,點(diǎn)擊“創(chuàng)建用戶”按鈕就可以實(shí)現(xiàn)用戶的添加,系統(tǒng)會(huì)將用戶的信息寫入數(shù)據(jù)庫中,創(chuàng)建的用戶可以使用該賬戶登錄郵箱管理系統(tǒng)。</p><p>  圖6.4管理員添加用戶管理界面</p><p>  protected void imgBtnRegister_Click(object sender, ImageClickEventA

112、rgs e)</p><p>  { string sUserName = txtUserName.Text.ToString();</p><p>  string sRealName = txtRealName.Text.ToString();</p><p>  string sUserPwd = txtPwd.Text.ToString(); </

113、p><p>  string sPhone = txtPhone.Text.ToString();</p><p>  string sBirthday = txtBirthday.Text.ToString();</p><p>  string sEmail = txtEmail.Text.ToString();</p><p>  User

114、s user = new Users();</p><p>  bool isOk = user.InsertUser(sUserName, sRealName, sUserPwd, sPhone, sBirthday, sEmail, "1");</p><p>  if (isOk == true)</p><p>  {Response.W

115、rite("<script language=javascript>alert('創(chuàng)建用戶成功');window.location='Default.aspx'</script>");}</p><p><b>  else</b></p><p>  { Response.Write(&qu

116、ot;<script language=javascript>alert('創(chuàng)建用戶失敗!');</script>");}</p><p>  管理員可以和像用戶注冊一樣,創(chuàng)建用戶,創(chuàng)建用戶成功后會(huì)提示“創(chuàng)建用戶成功”,創(chuàng)建用戶不成功會(huì)提示“創(chuàng)建用戶失?。 ?。</p><p>  管理員還有一個(gè)功能就是可以修改管理員密碼,圖6.5所示為管理

溫馨提示

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

最新文檔

評論

0/150

提交評論