aspnet網(wǎng)絡(luò)工程系網(wǎng)絡(luò)技術(shù)專業(yè)-畢業(yè)設(shè)計(jì)_第1頁
aspnet網(wǎng)絡(luò)工程系網(wǎng)絡(luò)技術(shù)專業(yè)-畢業(yè)設(shè)計(jì)_第2頁
aspnet網(wǎng)絡(luò)工程系網(wǎng)絡(luò)技術(shù)專業(yè)-畢業(yè)設(shè)計(jì)_第3頁
aspnet網(wǎng)絡(luò)工程系網(wǎng)絡(luò)技術(shù)專業(yè)-畢業(yè)設(shè)計(jì)_第4頁
aspnet網(wǎng)絡(luò)工程系網(wǎng)絡(luò)技術(shù)專業(yè)-畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、石家莊信息工程職業(yè)學(xué)院 畢業(yè)生畢業(yè)設(shè)計(jì)(論文) 學(xué)生姓名 黃昕華 學(xué)生學(xué)號(hào) 4 專 業(yè) 網(wǎng)絡(luò)技術(shù) 系 別 網(wǎng)絡(luò)工程系 指導(dǎo)教師 馬曉麗 指導(dǎo)系部 網(wǎng)絡(luò)工程系 2009 年 4 月 20 日 畢業(yè)設(shè)計(jì)說明畢業(yè)設(shè)計(jì)說明 新聞發(fā)布系統(tǒng)新聞發(fā)布系統(tǒng) 專業(yè):網(wǎng)絡(luò)工程系網(wǎng)絡(luò)技術(shù)專業(yè) 班級(jí):3 班 姓名:黃昕華 指導(dǎo)教師:馬曉麗 本系統(tǒng)采用 2.0(c#)+sql2005 開發(fā)。 本系統(tǒng)需要成為管理員后才能發(fā)布新聞,用戶需要先注冊(cè)才能進(jìn)行對(duì)新聞 的評(píng)論。 本系統(tǒng)實(shí)現(xiàn)能實(shí)現(xiàn)用戶瀏覽新聞、評(píng)論新聞、對(duì)喜愛的新聞進(jìn)行添加到收 藏里面,對(duì)新聞進(jìn)行分類,各個(gè)分類中含有小子類,對(duì)新聞瀏覽的次數(shù)進(jìn)行記 錄,對(duì)熱點(diǎn)新聞進(jìn)行

2、讀者調(diào)查,添加超鏈接等主要功能。 其中,管理員的權(quán)限有: 能對(duì)新聞進(jìn)行添加、刪除、管理。添加新聞可以直接添加鏈接,可以添加 圖片,添加表格等功能。實(shí)現(xiàn)效果是采用的第三方控件。 能對(duì)用戶進(jìn)行管理:添加用戶,修改用戶信息,將普通用戶上升為管理員, 刪除用戶的功能。 對(duì)于評(píng)論消息的管理:管理員對(duì)于涉及法律糾紛、低俗語言、惡意中傷他 人、辱罵政治官員、詆毀國家榮譽(yù)的言論給與刪除,但是不能對(duì)用戶的言論進(jìn) 行修改。 具體的功能模塊如下圖所示。 新聞發(fā) 布系統(tǒng) 前臺(tái)模 塊 后臺(tái)模 塊 瀏覽新 聞 發(fā)表評(píng) 論 檢索新 聞 新聞管 理 評(píng)論管 理 類型管 理 用戶管 理 超鏈接 管理 新聞發(fā)布系統(tǒng)新聞發(fā)布系統(tǒng)后

3、臺(tái)管理后臺(tái)管理 專業(yè):網(wǎng)絡(luò)技術(shù) 班級(jí):3 班 學(xué)號(hào):4 姓名:黃昕華 指導(dǎo)教師:馬曉麗 摘要:摘要: 從建立網(wǎng)站的實(shí)際情況出發(fā),經(jīng)過對(duì)有關(guān)網(wǎng)站新聞發(fā)布事項(xiàng)的一番考察和分析,確立 了新聞發(fā)布系統(tǒng)的具體實(shí)現(xiàn)功能。本系統(tǒng)采用 ASP.NET 技術(shù)制作的一個(gè)動(dòng)態(tài)網(wǎng)站,主要實(shí) 現(xiàn)對(duì)新聞的分類、發(fā)布,模擬了一般新聞媒介的發(fā)布的過程。本系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)和功能設(shè) 計(jì):能實(shí)現(xiàn)新聞的分類顯示,最近新聞的提示功能等。經(jīng)過授權(quán)的用戶可以通過 Web 瀏覽 器,以人機(jī)交互式的客戶端程序?qū)崿F(xiàn)對(duì)學(xué)校新聞的發(fā)布、管理、實(shí)時(shí)的進(jìn)行行為統(tǒng)計(jì)和記 錄。 Abstract: Creating a site from the actua

4、l situation, through press releases on matters relating to site visits and analysis of some of the established system of press releases to achieve a specific function . The system uses ASP.NET technology produced a dynamic website, the main categories of news, publishing, media simulation of a gener

5、al release process. The structural design of the system design and function: to achieve the classification of news shows, the latest features such as news tips. Authorized users can browser through the Web to human-computer interactive client program to achieve the release of information on schools,

6、 administration, real- time statistics and records to carry out acts. 關(guān)鍵字:關(guān)鍵字:新聞發(fā)布、A、Sql2005 Keywords: News issues 、A、Sql2005 目目 錄錄 1. 引言 .1 1.1 開發(fā)工具的選用.1 1.2 ADO.NET 技術(shù)簡介 .1 2. 系統(tǒng)分析 .4 2.1 系統(tǒng)調(diào)查.4 2.2 系統(tǒng)功能需求分析.4 3. 系統(tǒng)設(shè)計(jì) .5 3.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì).5 3.2 數(shù)據(jù)庫設(shè)計(jì).7 4. 系統(tǒng)編碼與實(shí)現(xiàn) .9 4.1 開發(fā)工具的選擇.9 4.2 系統(tǒng)編程與測試.9 4.2.1 系統(tǒng)

7、主界面.9 4.2.2 后臺(tái)管理登陸窗口與代碼.10 4.2.3 各項(xiàng)內(nèi)容管理與實(shí)現(xiàn)(詳細(xì)) .11 5. 代碼調(diào)試與測試 .16 畢業(yè)設(shè)計(jì)總結(jié) .19 參考文獻(xiàn) .19 1.1. 引言引言 隨著 Internet 的普及,網(wǎng)頁逐漸融入人們的生活,快速及時(shí)地瀏覽新聞, 獲取五彩繽紛的網(wǎng)上信息,已成為人們?nèi)粘I畹囊徊糠郑c此同時(shí)越來越多 的企業(yè)建立了自己的 WWW 網(wǎng)站,企業(yè)通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動(dòng)態(tài), 與用戶進(jìn)行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務(wù)等。其中新 聞管理系統(tǒng)是構(gòu)成企業(yè)網(wǎng)站的一個(gè)重要組成部分,它擔(dān)負(fù)著雙層作用,一方面 可以用來動(dòng)態(tài)發(fā)布有關(guān)新產(chǎn)品或新開發(fā)項(xiàng)目,另一

8、方面又可以及時(shí)向顧客公告 企業(yè)經(jīng)營業(yè)績、技術(shù)與研發(fā)進(jìn)展、特別推薦或優(yōu)惠的工程項(xiàng)目、產(chǎn)品和服務(wù), 從而吸引顧客,擴(kuò)大顧客群。傳統(tǒng)的網(wǎng)站新聞管理方式有兩種,一是靜態(tài) HTML 頁面,更新信息時(shí)需要重新制作頁面然后上傳頁面并修改相應(yīng)鏈接,然 而隨著 Internet 的進(jìn)一步發(fā)展,這種靜態(tài) Web 站點(diǎn)的開發(fā)與維護(hù)變得越來越困難, 而且不能與瀏覽者進(jìn)行有效交互,從而使得這種方法已不多用。二是基于 ASP、PHP 或者 JSP 和腳本語言,將動(dòng)態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應(yīng)用程序來 處理信息,這是目前較為流行的做法。本文論述的就是采用 2.0(c#) + sql2005 開發(fā)環(huán)境開發(fā)動(dòng)態(tài)的 Web 新聞發(fā)

9、布系統(tǒng)。 1.11.1 開發(fā)工具的選用開發(fā)工具的選用 ASP.NET 是 Active Server Page.NET Framework 的縮寫,意為“基于動(dòng)態(tài) WEB 應(yīng)用程序的技術(shù)服務(wù)器網(wǎng)頁” 。ASP. NET 是微軟公司開發(fā)的代替 asp 的一 種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進(jìn)行交互,是一種簡單、方便功能強(qiáng)大的 編程工具。ASP. NET 的網(wǎng)頁文件的格式是.aspx,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。 ASP.net 是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁或 web 應(yīng)用程序。ASP.net 網(wǎng)頁可以包含 HTML 標(biāo)記、普通文本、腳本命令、.css、以 及 COM 組件

10、等。利用 ASP.NET 可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單) , 也可以創(chuàng)建使用 HTML 網(wǎng)頁作為用戶界面的 web 應(yīng)用程序。 與 HTML 相比, ASP.NET 網(wǎng)頁具有以下特點(diǎn): (1)利用 ASP.NET 可以實(shí)現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁 技術(shù); (2)ASP 文件是包含在 HTML 代碼所組成的文件中的,易于修改和測試; (3)服務(wù)器上的 ASP.NET 解釋程序會(huì)在服務(wù)器端制定 ASP 程序,并將結(jié)果 以 HTML 格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽 ASP 所產(chǎn)生的網(wǎng)頁; (4)ASP.NET 提供了一些內(nèi)置對(duì)象,使用這些對(duì)象可以

11、使服務(wù)器端腳本功 能更強(qiáng)。例如可以從 web 瀏覽器中獲取用戶通過 HTML 表單提交的信息,并在 腳本中對(duì)這些信息進(jìn)行處理,然后向 web 瀏覽器發(fā)送信息; (5)ASP 可以使用服務(wù)器端 ActiveX 組建來執(zhí)行各種各樣的任務(wù),例如存 取數(shù)據(jù)庫、發(fā)現(xiàn)那個(gè) Email 或訪問文件系統(tǒng)等。 (6)由于服務(wù)器是將 ASP.NET 程序執(zhí)行的結(jié)果以 HTML 格式傳回客戶端瀏 覽器,因此使用者不會(huì)看到 ASP.NET 所編寫的原始程序代碼,可防止 ASP.NET 程序代碼被竊取。 ASP,活動(dòng)服務(wù)器頁面,就是一個(gè)編程環(huán)境,在其中可以混合使用 HTML、腳 本語言以及組件來創(chuàng)建服務(wù)器端功能強(qiáng)大的

12、Internet 應(yīng)用程序。 如果你以前 創(chuàng)建過一個(gè)站點(diǎn),其中混合了 HTML、腳本語言以及組件,你就可以在其中加入 ASP.NET 程序代碼。通過在 HTML 頁面中加入腳本命令,你可以創(chuàng)建一個(gè) HTML 用戶界面,并且,還可以通過使用組件包含一些商業(yè)邏輯規(guī)則。組件可以被腳 本程序調(diào)用,也可以由其他的組件調(diào)用。 1.21.2 ADO.NETADO.NET 技術(shù)簡介技術(shù)簡介 ADO.NET 的名稱起源于 ADO(ActiveX Data Objects),這是一個(gè)廣泛的 類組,用于在以往的 Microsoft 技術(shù)中訪問數(shù)據(jù) .之所以使用 ADO.NET 名稱,是 因?yàn)?Microsoft,希

13、望表明,這是在.NET 編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接 口。 它提供了平臺(tái)互用性和可 以伸縮的數(shù)據(jù)訪問。 ADO.NET 增強(qiáng)了對(duì)非連 接編程模式是支持 ,并支持 RICH XML.由于傳送的數(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)用程 序。 ADO.NET 是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?。通常情況下, 數(shù)據(jù)源是數(shù)據(jù)庫,但它同樣也能夠是文本文件、 Excel 表格或

14、者 XML 文件。 ADO.NET 允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進(jìn)行交互。然而并沒有與 此相關(guān)的一系列類來完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議, 所以對(duì)于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC 協(xié)議,許多新的數(shù)據(jù)源使用 OleDb 協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù) 源,這些數(shù)據(jù)源都可以通過 .NET 的 ADO.NET 類庫來進(jìn)行連接。 ADO.NET 提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù) 據(jù)源采用一組不同的類庫。這些類庫稱為Data Providers,并且通常是以 與之交互的協(xié)議和數(shù)據(jù)源的類型來命名的。表1 列處了一些常見的 data

15、 providers,以及它們所使用的 API 前綴,和允許進(jìn)行交互的數(shù)據(jù)源類型。 SqlConnection 對(duì)象:和數(shù)據(jù)庫交互,你必須連接它。連接幫助指明數(shù) 據(jù)庫服務(wù)器、數(shù)據(jù)庫名字、用戶名、密碼,和連接數(shù)據(jù)庫所需要的其它參數(shù)。 connection 對(duì)象會(huì)被 command 對(duì)象使用,這樣就能夠知道是在哪個(gè)數(shù)據(jù)庫 上面執(zhí)行命令。 與數(shù)據(jù)庫交互的過程意味著你必須指明想要發(fā)生的操作。這是依靠 command 對(duì)象執(zhí)行的。你使用 command 對(duì)象來發(fā)送 SQL 語句給數(shù)據(jù)庫。 command 對(duì)象使用 connection 對(duì)象來指出與哪個(gè)數(shù)據(jù)庫進(jìn)行連接。你能夠 單獨(dú)使用 command 對(duì)

16、象來直接執(zhí)行命令,或者將一個(gè)command 對(duì)象的引用 傳遞給 SqlDataAdapter,它保存了一組能夠操作下面描述的一組數(shù)據(jù)的命 令。 sqlDataReader 對(duì)象:許多數(shù)據(jù)操作要求你只是讀取一串?dāng)?shù)據(jù)。 data reader 對(duì)象允許你獲得從 command 對(duì)象的 SELECT 語句得到的結(jié)果??紤] 性能的因素,從 data reader 返回的數(shù)據(jù)都是快速的且只是 “向前”的數(shù) 據(jù)流。這意味著你只能按照一定的順序從數(shù)據(jù)流中取出數(shù)據(jù)。這對(duì)于速度來 說是有好處的,但是如果你需要操作數(shù)據(jù),更好的辦法是使用DataSet。 DataSet 對(duì)象: DataSet 對(duì)象是數(shù)據(jù)在內(nèi)存中的

17、表示形式。它包括多個(gè) DataTable 對(duì)象,而 DataTable 包含列和行, 就像一個(gè)普通的數(shù)據(jù)庫中的 表。你甚至能夠定義表之間的關(guān)系來創(chuàng)建主從關(guān)系(parent-child relationships)。DataSet 是在特定的場景下使用 幫助管理內(nèi)存中的 數(shù)據(jù)并支持對(duì)數(shù)據(jù)的斷開操作的。 DataSet 是被所有 Data Providers 使用 的對(duì)象,因此它并不像 Data Provider 一樣需要特別的前綴。 sqlDataAapter 對(duì)象:某些時(shí)候你使用的數(shù)據(jù)主要是只讀的,并且你很 少需要將其改變至底層的數(shù)據(jù)源。同樣一些情況要求在內(nèi)存中緩存數(shù)據(jù),以 此來減少并不改變的

18、數(shù)據(jù)被數(shù)據(jù)庫調(diào)用的次數(shù)。 Data adapter 通過斷開模 型來幫助你方便的完成對(duì)以上情況的處理。當(dāng)在 單批次的對(duì)數(shù)據(jù)庫的讀寫 操作的持續(xù)的改變返回至數(shù)據(jù)庫的時(shí)候, Data adapter 填充(fill) dataset 對(duì)象。data adapter 包含對(duì)連接對(duì)象以及當(dāng)對(duì)數(shù)據(jù)庫進(jìn)行讀取或 者寫入的時(shí)候自動(dòng)的打開或者關(guān)閉連接的引用。另外,data adapter 包含 對(duì)數(shù)據(jù)的 SELECT,INSERT,UPDATE 和 DELETE 操作的 command 對(duì)象引用。你 將為 dataset 中的每一個(gè) table 都定義 data adapter,它將為你照顧所有 與數(shù)據(jù)庫的連

19、接。所有你將做的工作是告訴data adapter 什么時(shí)候裝載或 者寫入到數(shù)據(jù)庫。 2.2. 系統(tǒng)分析系統(tǒng)分析 2.12.1 系統(tǒng)調(diào)查系統(tǒng)調(diào)查 摘要 在 Internet 飛速發(fā)展的今天,互聯(lián)網(wǎng)已成為人們快速獲取、發(fā)布和 傳遞信息的重要渠道,它在人們的政治、經(jīng)濟(jì)、生活、娛樂等各個(gè)方面發(fā)揮著 重要的作用,因此網(wǎng)站建設(shè)在 Internet 應(yīng)用上的地位越來越重要。 2.22.2 系統(tǒng)功能需求分析系統(tǒng)功能需求分析 本系統(tǒng)功能模塊包括:系統(tǒng)管理模塊,新聞瀏覽,新聞管理,讀者評(píng)論、 收藏,新聞管理,新聞?lì)愋凸芾怼?shù)據(jù)的操作主要是:數(shù)據(jù)添加、數(shù)據(jù)修改、 數(shù)據(jù)查詢。 我所負(fù)責(zé)的“后臺(tái)管理”窗體實(shí)現(xiàn)的功能如

20、下: 一、 “新聞管理”窗體是對(duì)新聞添加、修改、刪除,通過數(shù)據(jù)庫綁定控件 實(shí)現(xiàn)對(duì)息直接的增、刪、改。 二、 “評(píng)論管理”窗體實(shí)現(xiàn)的功能是對(duì)涉及法律糾紛、低俗語言、詆毀國 家榮譽(yù)的言論給與刪除。 三 “用戶管理”是對(duì)實(shí)現(xiàn)普通用戶的升級(jí),用戶信息的修改、添加、刪 除。 四 “新聞?lì)愋凸芾怼?。 3.3. 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 3.13.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 新聞發(fā)布系統(tǒng)由前臺(tái)與后臺(tái)構(gòu)成。功能模塊如圖 1 如下: 新聞發(fā) 布系統(tǒng) 前臺(tái)模 塊 后臺(tái)模 塊 瀏覽新 聞 發(fā)表評(píng) 論 檢索新 聞 新聞管 理 評(píng)論管 理 類型管 理 用戶管 理 超鏈接 管理 圖圖 3-13-1 系統(tǒng)功能模塊圖系統(tǒng)

21、功能模塊圖 各模塊介紹如下: 1用戶模塊 用戶管理模塊主要包括用戶注冊(cè)、登錄、瀏覽新聞信息、發(fā)表評(píng)論以及 新聞檢索等。 (1) 用戶注冊(cè)。首先需要輸入注冊(cè)的用戶名,系統(tǒng)會(huì)檢查注冊(cè)的用戶名,系 統(tǒng)會(huì)檢查用戶名是否已經(jīng)存在。如果存在則不允許注冊(cè);如果不存在則 要求繼續(xù)輸入個(gè)人的詳細(xì)資料,最后向服務(wù)器提交所有的注冊(cè)信息。該 模塊的流程圖,如圖 3-1。 (2) 用戶登錄。首先判斷輸入的用戶名、密碼以及判斷驗(yàn)證碼是否正確,根 據(jù)用戶權(quán)限來判斷是否管理員,若不是管理員則登陸不了,如圖 3-2。 (3) 瀏覽新聞。瀏覽者單擊某新聞的主題可以瀏覽新聞的詳細(xì)信息。單擊某 新聞的類型可以瀏覽該類型中的所有信息,

22、如圖 3-3。 (4) 評(píng)論新聞。發(fā)表評(píng)論之前,用戶必須登錄,只有登錄之后的用戶才能享 有發(fā)表評(píng)論的權(quán)限。評(píng)論發(fā)表之后,即會(huì)自動(dòng)跳轉(zhuǎn)到發(fā)表評(píng)論信息的頁 面,如圖 3-4。 2管理員模塊 管理員模塊主要包括新聞管理、新聞?lì)愋偷墓芾?、評(píng)論管理、用戶管理等。 (1) 新聞管理。包括發(fā)布新聞信息、編輯新聞信息、對(duì)過期信息刪除等。 (2) 新聞?lì)愋凸芾?。包括添加新聞?lì)愋?、編輯新聞?lì)愋鸵约皠h除新聞?lì)愋汀?(3) 評(píng)論管理。包括刪除或編輯評(píng)論的操作。 (4) 用戶管理。包括設(shè)置某用戶具有管理員的權(quán)限、更改用戶的密碼以及刪 除用戶的所有信息。 用戶注冊(cè) 存在 判斷是否存在 不存在 注冊(cè)用戶信息 判斷是否合法

23、填寫詳細(xì)信息 不合法 圖 3-1 否是 當(dāng)用戶名和密碼驗(yàn)證正確 之后,還要驗(yàn)證驗(yàn)證碼是 否正確 判斷密碼、用戶名 是否與數(shù)據(jù)庫相同 重新 登陸 戶 是否具有 管理員權(quán)限 管理 員 用戶登錄 不相同 相同 圖 3-2 單擊新聞某個(gè)類型,來瀏覽新 聞所有主題,然后直接瀏覽。 分類 瀏覽 直接 瀏覽 瀏覽者 圖 3-3 用戶失敗 用戶登錄 判斷用戶是否登錄 發(fā)表評(píng)論信息 用戶成功 圖 3-4 3.23.2 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì) 表表 3-13-1 數(shù)據(jù)表數(shù)據(jù)表 表名表名說明說明 City 注冊(cè)用戶所在的城市 comment 儲(chǔ)存用戶評(píng)論信息 news 儲(chǔ)存新聞信息 Newstype 儲(chǔ)存新聞?lì)愋?u

24、sers 儲(chǔ)存用戶信息 votes 對(duì)新聞?wù){(diào)查新聞儲(chǔ)存 favorite 對(duì)注冊(cè)用戶喜愛的新聞加入刀收藏 表表 3-23-2 用戶表用戶表 字段名稱字段名稱說明說明字段類型字段類型備注備注 idInt 主關(guān)鍵字 username 用戶名 varchar(50) 可為空 Realname 真名 varchar(50) 可為空 pwd 密碼 varchar(50) 可為空 sex 性別 varchar(50) 可為空 localaddress 目前居住地 text 可為空 qq Qq 號(hào) varchar(50) 可為空 idcard 身份證號(hào) varchar(50) 可為空 email 電子郵件

25、varchar(50) 可為空 phone 電話 varchar(50) 可為空 postcode 郵編 varchar(50) 可為空 address 地址 varchar(50) 可為空 question 提示密碼的問 varchar(50) 可為空 題 answer 答案 varchar(50) 可為空 admin 是否為管理員 int 為 1 或者 0 表表 3-33-3 newsnews 字段名稱字段名稱 說明說明字段類型字段類型備注備注 IdInt 主關(guān)鍵字 title 新聞標(biāo)題 varchar(50) 不能為空 content 內(nèi)容 Text 可為空 newstype 新聞?lì)愋?

26、varchar(50) 可為空 appeardate 發(fā)布時(shí)間 varchar(50) 可為空 newssource 新聞來源 varchar(50) 可為空 newskey 新聞關(guān)鍵字 varchar(50) 可為空 edit 作者 varchar(50) 可為空 click 點(diǎn)擊率 Int 不可為空 ifhot 是否熱門 varchar(50) 不可為空 表表 3-43-4 commentcomment 字段名稱字段名稱說明說明字段類型字段類型備注備注 idInt 主關(guān)鍵字 parentid 繼承的 id varchar(50) 可為空 username 評(píng)論人 varchar(50) 可

27、為空 contents 評(píng)論內(nèi)容 Text 可為空 appeardate 評(píng)論時(shí)間 varchar(50) 可為空 ipIpvarchar(50 可為空 title 評(píng)論話題 varchar(50) 可為空 4.4. 系統(tǒng)編碼與實(shí)現(xiàn)系統(tǒng)編碼與實(shí)現(xiàn) 4.14.1 開發(fā)工具的選擇開發(fā)工具的選擇 采用 (c#)開發(fā),后臺(tái)數(shù)據(jù)庫采用 sql2005。 4.2.2 系統(tǒng)編程與測試系統(tǒng)編程與測試 首頁實(shí)現(xiàn)效果如下: 在前臺(tái)和后臺(tái)的連接過程中,我們系統(tǒng)主要通過 datalist 和 DataGrid 控件 來實(shí)現(xiàn)數(shù)據(jù)庫的連接和數(shù)據(jù)的綁定。 4.2.1 系統(tǒng)主界面系統(tǒng)主界面 系統(tǒng)主界面的布局如圖 4-1 所示

28、。 圖圖 4-1 系統(tǒng)主界面系統(tǒng)主界面 首頁實(shí)現(xiàn)最新新聞列表,熱點(diǎn)用紅字特別標(biāo)注,有導(dǎo)航條,當(dāng)前時(shí)間顯示, 普通用戶登陸,忘記密碼找回,用戶注冊(cè) .2 后臺(tái)管理登陸窗口與代碼后臺(tái)管理登陸窗口與代碼 后臺(tái)登陸界面,如圖 4-2 所示。 圖圖 4-2 管理員后臺(tái)登陸界面管理員后臺(tái)登陸界面 (1) 代碼功能簡介 通過密碼和用戶名、驗(yàn)證碼進(jìn)行登陸。其名字為:后臺(tái)_admin_login 當(dāng) users 表里有這個(gè)用戶名 并且密碼正確和 admin 為 1 時(shí)可以登陸。但是驗(yàn)證碼 要正確。當(dāng)全部正確時(shí)用 java 腳本顯示成功警告,跳入 admin_mange.aspx。 當(dāng)驗(yàn)證碼錯(cuò)時(shí),

29、用 java 腳本顯示驗(yàn)證碼錯(cuò)誤警告。完成之后關(guān)閉數(shù)據(jù)庫連接。 (2)代碼設(shè)計(jì) 具體代碼如下: protected void Button1_Click(object sender, EventArgs e) string Password = FormsAuthentication.HashPasswordForStoringInConfigFile(Pwd.Text.ToString(), MD5); SqlConnection mycon = new SqlConnection(); mycon.ConnectionString = ConfigurationManager.AppSet

30、tingsmyconstr; string sql=select * from users where username= + Uid.Text + and pwd = + Password + and admin=1 ; SqlCommand Cmd = new SqlCommand(sql, mycon); mycon.Open(); SqlDataReader Dr = Cmd.ExecuteReader(); if (Uid.Text != if (Chkcode.Text = SessionCheckCode.ToString() Response.Write(alert(登陸成功!

31、);); Response.Redirect(admin_mange.aspx); else Response.Write(alert(驗(yàn)證碼錯(cuò)誤!);); Chkcode.Focus(); else Response.Write(alert(用戶名或密碼錯(cuò)誤!);); else Response.Write(alert(請(qǐng)輸入用戶名和密碼!);); mycon.Close(); .3 管理頁面管理頁面 管理界面: 圖圖 4-34-3 管理頁面管理頁面 (1)各項(xiàng)功能簡介 通過 treeview 實(shí)現(xiàn)鏈接各個(gè)頁面,在將鏈接的頁面目標(biāo)值傳到名為 manage 的 iframe 框

32、架上 (2)各個(gè)頁面設(shè)計(jì) 用戶管理頁面界面(圖 4-3)和代碼如下: 圖圖4-44-4 用戶管理頁面用戶管理頁面 代碼如下: public partial class 后臺(tái)_usermange : System.Web.UI.Page public static int TotalPage;/定義變量來保存總頁數(shù) public int CurPage;/定義變量來保存當(dāng)前頁索引 public int Tnum;/總條數(shù); public int EachPage;/每頁總條數(shù) protected void Page_Load(object sender, EventArgs e) if (!Pa

33、ge.IsPostBack) pageapart(); protected void btnPage_Click(object sender, EventArgs e) int PageNum = 0; if (!Request.FormtxtPage.Equals() PageNum = Convert.ToInt32(Request.FormtxtPage); if (PageNum TotalPage) Response.Redirect(Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(1); Else Respo

34、nse.Redirect(Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(PageNum); private void InitializeComponent() this.datagrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.datagrid1_EditC ommand); this.datagrid1.DeleteCommand += new System.Web.UI.WebControls.D

35、ataGridCommandEventHandler(this.datagrid1_Delet eCommand); protected void datagrid1_DeleteCommand(object source, DataGridCommandEventArgs e) string id = e.Item.Cells0.Text; string sql = delete from users where username= + id + ; SqlConnection mycon = new SqlConnection(ConfigurationManager.AppSetting

36、smyconstr); SqlCommand mycmd = new SqlCommand(sql, mycon); mycon.Open(); mycmd.ExecuteNonQuery(); mycon.Close(); pageapart();/實(shí)現(xiàn)刪除后跳轉(zhuǎn)停留在該頁面 protected void Button1_Click(object sender, EventArgs e) string username = ; username = TextBox1.Text; if (username.Equals() Response.Write(); Response.Write(al

37、ert(請(qǐng)輸入關(guān)鍵字); Response.Write(); else SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettingsmyconstr); string sql = Select * From users Where username Like % + username + % ; SqlCommand command = new SqlCommand(sql, connection); connection.Open(); SqlDataReader dr = command.Exec

38、uteReader(); if (!dr.Read() Response.Write(); Response.Write(alert(!該記錄不存在!); Response.Write(); return; dr.Close(); sql = Select * From users Where username Like % + username + % ; command = new SqlCommand(sql, connection); dr = command.ExecuteReader(); datagrid1.DataSource = dr; datagrid1.DataBind(

39、); dr.Close(); connection.Close(); private void pageapart() SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettingsmyconstr); string sql = select * from users; SqlDataAdapter da = new SqlDataAdapter(sql, connection); DataSet ds = new DataSet(); da.Fill(ds, Table); PagedDataSour

40、ce objPage = new PagedDataSource();/創(chuàng)建分頁類 objPage.DataSource = ds.TablesTable.DefaultView;/設(shè)置數(shù)據(jù)源 objPage.AllowPaging = true; objPage.PageSize = 12; if (Request.QueryStringPage != null) CurPage = Convert.ToInt32(Request.QueryStringPage); CurPage = Math.Min(CurPage, objPage.PageCount); CurPage = Math.

41、Max(CurPage, 1); else CurPage = 1; objPage.CurrentPageIndex = CurPage - 1; TotalPage = objPage.PageCount; Tnum = objPage.DataSourceCount; EachPage = objPage.Count; lblCurPage.Text = 第 + CurPage.ToString() + / + TotalPage.ToString() + 頁; lblTnum.Text = 共: + Tnum + 條記錄; lblEachPage.Text = 每頁有: + EachP

42、age.ToString() + 條記錄; if (objPage.CurrentPageIndex != 0) lnkFirst.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(1); if (objPage.CurrentPageIndex != TotalPage - 1) lnkLast.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(TotalPage); if (!objPage.

43、IsFirstPage) lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(CurPage - 1); if (!objPage.IsLastPage) lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + ?Page= + Convert.ToString(CurPage + 1); datagrid1.DataSource = objPage; datagrid1.DataBind(); 用戶修改頁面如下: 圖圖 4

44、-54-5 用戶信息修改用戶信息修改 主要代碼如下: SqlDataReader mydr = mycmd.ExecuteReader(); mydr.Read(); tbhomepage.Text = mydrhomepage.ToString(); 類似方法讀?。亨]箱,電話,身份證,qq,郵編,等等資料 將信息更新一次: string mycmd1 = update users set username=+tbusername.Text+, postcode=+tbpostcode.Text+, realname=+tbrealname.Text+,email= + tbemail.Tex

45、t + ,pwd= + strpwd + ,idcard= + tbidcard.Text + ,phone= + tbphone.Text + ,address= + tbaddress.Text + ,qq= + tbqq.Text + ,question= + tbquestion.Text + ,answer= + tbanswer.Text + ,career= + DropDownList2.SelectedItem.Text + where id= + Requestid + ; SqlCommand mycmd= new SqlCommand(mycmd1, mycon); m

46、ycmd.ExecuteNonQuery(); mycon.Close(); Response.Write(alert(修改成功,謝謝!); 添加新聞第一步:添加新聞?lì)悇e 圖圖4-64-6 新聞?lì)悇e選擇新聞?lì)悇e選擇 添加新聞第二步:添加新聞內(nèi)容 頁面如下 圖圖 4-74-7 添加新聞頁面添加新聞頁面 主要代碼如下: SqlConnection mycon = new SqlConnection(ConfigurationManager.AppSettingsmyconstr); string sql = insert into news (title,content,newstype,appe

47、ardate,newssource,newskey,edit,ifhot,click) values( + TextBox1.Text + , +we1.Text + , + newstype + , + time + , + TextBox2.Text + , + TextBox3.Text + , + TextBox5.Text + , + color1 + ,0); SqlCommand mycmd = new SqlCommand(sql, mycon); mycon.Open(); mycmd.ExecuteNonQuery(); mycon.Close(); 其他管理頁面與上面大同

48、小異,不詳細(xì)說明,具體的有如下: Comment_modify.aspx;/用戶評(píng)論修改 Comment_manage.aspx;/評(píng)論管理 Hyperlink_manage.aspx;/超鏈接管理 Addhyerlink.aspx;/添加超鏈接 Newsmange.aspx;/新聞管理 Newsmodify.aspx;/新聞修改 上面的頁面代碼都差不多。 由于本人只負(fù)責(zé)后臺(tái)管理其他頁面設(shè)計(jì)由我組的其他成員負(fù)責(zé)。 5.5. 代碼調(diào)試與測試代碼調(diào)試與測試 程序調(diào)試運(yùn)行在軟件設(shè)計(jì)中是關(guān)鍵的一步。 首先解壓新聞發(fā)布系統(tǒng)到某一文件夾下,在此我們存放于 D:news 。 圖圖 5-15-1 解壓目錄解壓

49、目錄 第二步:配置 IISInternet 信息服務(wù)(IIS)管理器。 圖圖 5-25-2 建立虛擬目錄圖建立虛擬目錄圖 圖圖 5-35-3 創(chuàng)建向?qū)D創(chuàng)建向?qū)D 圖圖 5-45-4 選擇路徑圖選擇路徑圖 圖圖 5-55-5 設(shè)置訪問權(quán)限圖設(shè)置訪問權(quán)限圖 第三步:設(shè)置 IIS 管理器屬性。 圖圖 5-65-6 IPIP 地址設(shè)置圖地址設(shè)置圖 圖圖 5-75-7 主目錄設(shè)置圖主目錄設(shè)置圖 第四步通過以上步驟,基本上配置完成新聞發(fā)布系統(tǒng)的運(yùn)行環(huán)境。右擊站 點(diǎn)名稱,選擇“瀏覽(B)” ,我們將看到下圖效果。 圖圖 5-85-8 網(wǎng)站運(yùn)行效果網(wǎng)站運(yùn)行效果 畢業(yè)設(shè)計(jì)總結(jié)畢業(yè)設(shè)計(jì)總結(jié): 本課程設(shè)計(jì)實(shí)現(xiàn)了新聞發(fā)布系統(tǒng)的用戶管理模塊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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)論