基于NET的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文_第1頁
基于NET的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文_第2頁
基于NET的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文_第3頁
基于NET的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文_第4頁
基于NET的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 畢畢業(yè)業(yè)設(shè)設(shè)計(jì)計(jì)(論論文文)中中文文題題目目:網(wǎng)上圖書銷售系統(tǒng)網(wǎng)上圖書銷售系統(tǒng) 學(xué)學(xué) 院:院:北京交通大學(xué)遠(yuǎn)程與繼續(xù)教育學(xué)院北京交通大學(xué)遠(yuǎn)程與繼續(xù)教育學(xué)院 專專 業(yè):業(yè):計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) 姓姓 名:名:于倩于倩 學(xué)學(xué) 號(hào):號(hào):0864857308648573 指導(dǎo)教師:指導(dǎo)教師: 張麗張麗 20102010 年年 1010 月月 2525 日日更多經(jīng)典畢業(yè)論文:更多經(jīng)典畢業(yè)論文:http:/ 秋層次專升本專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)姓名于倩題目網(wǎng)上圖書銷售系統(tǒng)指導(dǎo)教師評(píng)閱意見成績(jī)?cè)u(píng)定: 指導(dǎo)教師:年 月 日評(píng)閱教師意見 評(píng)閱教師:年 月 日答辯小組意見答辯小組負(fù)責(zé)人: 年 月 日北京

2、交通大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書本任務(wù)書下達(dá)給: 設(shè)計(jì)(論文)題目:web 方向一、設(shè)計(jì)(論述)內(nèi)容:本次設(shè)計(jì)課題是“基于.Net 平臺(tái)的 WEB 應(yīng)用程序開發(fā)設(shè)計(jì)” ,即使用微軟.NET 技術(shù)開發(fā)應(yīng)用程序?;诖舜笄疤嵯?,具體設(shè)計(jì)任務(wù)可在如下課題中選擇或自行選擇適當(dāng)課題(需經(jīng)指導(dǎo)教師批準(zhǔn)). Web 新聞系統(tǒng)(多級(jí)新聞管理)目標(biāo):實(shí)現(xiàn)多級(jí)新聞管理,后臺(tái)添加、編輯、刪除新聞,前臺(tái)新聞分類顯示;用戶管理、用戶權(quán)限等功能.企業(yè)網(wǎng)站管理系統(tǒng)目標(biāo):實(shí)現(xiàn)企業(yè)新聞信息、產(chǎn)品信息的發(fā)布和站內(nèi)搜索系統(tǒng)等功能.在線留言系統(tǒng)目標(biāo):實(shí)現(xiàn)發(fā)表留言、填好詳細(xì)信息和內(nèi)容即可留言管理留言; 必須管理員登陸,查看帖,對(duì)帖可以進(jìn)

3、行回復(fù)和刪除功能。等。.博客管理系統(tǒng)目標(biāo):實(shí)現(xiàn)基本博客功能.在線圖書銷售目標(biāo):圖書在線銷售,實(shí)現(xiàn)圖書查詢、添加、刪除、客戶訂單操作等基本電子商務(wù)網(wǎng)站功能。.在線音樂網(wǎng)站目標(biāo):提供網(wǎng)絡(luò)音樂在線收聽、下載、查詢、發(fā)布等服務(wù)。以上課題可以分組(每組 2 人)開發(fā),亦可獨(dú)立開發(fā);二、基本要求:.所有課題盡量采用多層開發(fā)模型,即需體現(xiàn)界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)庫(kù)層;.對(duì)于基于網(wǎng)絡(luò)的 web 應(yīng)用程序必須實(shí)現(xiàn)所謂的前臺(tái)呈現(xiàn)后臺(tái)管理。原則上小組人員分別負(fù)責(zé)前臺(tái)與后臺(tái)的開發(fā);.課題必須編寫詳細(xì)的需求分析文檔,貼近客觀現(xiàn)實(shí),具有一定的實(shí)用價(jià)值;.功能上以實(shí)現(xiàn)基本目標(biāo)為主要目的,對(duì)于擴(kuò)展功能在時(shí)間允許的情況下盡量實(shí)

4、現(xiàn),即功能開發(fā)的主次問題;對(duì)于無法實(shí)現(xiàn)但有必要的功能應(yīng)在需求文檔中體現(xiàn)出來。.分工合作,密切配合,小組課題必須構(gòu)成統(tǒng)一整體;.對(duì)設(shè)計(jì)中出現(xiàn)的問題認(rèn)真記錄,并積極尋找解決的方法。三、重點(diǎn)研究的問題:、軟件軟件需求說明、源代碼、可執(zhí)行程序、簡(jiǎn)單的操作說明。、設(shè)計(jì)文檔需求說明書、數(shù)據(jù)模型(ERD) 、功能結(jié)構(gòu)圖、數(shù)據(jù)庫(kù)設(shè)計(jì)、主要界面設(shè)計(jì)。四、主要技術(shù)指標(biāo): PC 機(jī)、網(wǎng)絡(luò)三劍客、Visual Studio.Net 開發(fā)平臺(tái)、Access、SQL2000 數(shù)據(jù)庫(kù)。五、其他要說明的問題畢業(yè)設(shè)計(jì)進(jìn)度安排:第一周:查閱相關(guān)資料,軟件需求分析。第二周:根據(jù)需求分析做項(xiàng)目詳細(xì)設(shè)計(jì)。第三周:代碼實(shí)現(xiàn)。第四周:代碼

5、實(shí)現(xiàn)。第五周:項(xiàng)目發(fā)布與功能測(cè)試、畢業(yè)論文編寫。第六周:完善畢業(yè)論文準(zhǔn)備畢業(yè)答辯。下達(dá)任務(wù)日期:2010 年 08 月 10 日 要求完成日期:2010 年 10 月 25 日 答辯日期: 2010 年 11 月 13 日指導(dǎo)教師: 開 題 報(bào) 告題 目:基于.NET 的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)報(bào)告人:計(jì)算機(jī)科學(xué)與技術(shù) 于倩 2010 年 08 月 15 日一、文獻(xiàn)綜述隨著 Internet 的迅速崛起,網(wǎng)絡(luò)信息化的發(fā)展,在線圖書銷售作為一種典型的 Web 電子商務(wù)系統(tǒng)也迅速的發(fā)展并深入人們的日常生活中。更多的人更愿意足不出戶就可以挑選購(gòu)買自己喜歡的各種書籍,這樣大大縮短了購(gòu)書的時(shí)間,提高

6、了效率。而且,圖書因其具有標(biāo)識(shí)精晰、規(guī)格統(tǒng)一、特征容易描述、同種商品個(gè)體之間無差異等特性而能成為發(fā)展電子商務(wù)的最為理想的商品類型。可見,網(wǎng)上圖書銷售系統(tǒng)跨越了時(shí)間和空間的限制,給商業(yè)流通領(lǐng)域帶來了不一樣的變革,也給消費(fèi)者帶來了便捷。只要網(wǎng)絡(luò)發(fā)展沒有停止,網(wǎng)上圖書銷售的發(fā)展就不會(huì)停止。二、選題的目的和意義本課題的目標(biāo)就是是將圖書銷售由傳統(tǒng)的商店模式向在線銷售的轉(zhuǎn)變,同時(shí)還對(duì)銷售的定單和圖書的種類等信息進(jìn)行在線管理,其意義就在于以此來實(shí)現(xiàn)人們不出門就能夠便捷的買到自己喜歡的各種書籍,向客戶展示出一種新穎的購(gòu)書理念。網(wǎng)上購(gòu)書的方式必將日趨被大家所接受。三、研究重點(diǎn)內(nèi)容:本系統(tǒng)采用 B/S(Brows

7、er/Server)結(jié)構(gòu)進(jìn)行設(shè)計(jì),使用 SQL Server 2000構(gòu)建數(shù)據(jù)庫(kù),并在.NET 環(huán)境下使用 Visual C#.net 語言開發(fā)的一個(gè)功能完善的網(wǎng)上圖書銷售系統(tǒng)。其具有一定的實(shí)用性,用戶可以在網(wǎng)上瀏覽圖書信息,查找圖書資料,將感興趣的書籍加入收藏夾,或放入購(gòu)物車并下訂單購(gòu)買;同時(shí),管理員也可以對(duì)整個(gè)系統(tǒng)的信息和數(shù)據(jù)進(jìn)行管理,可以管理庫(kù)存書信息、分類信息、出版社信息、用戶信息和訂單信息。四、進(jìn)度計(jì)劃:8 月 15 日-8 月 22 日:查閱相關(guān)資料,軟件需求分析。8 月 23 日-8 月 31 日:根據(jù)需求分析做項(xiàng)目詳細(xì)設(shè)計(jì)。9 月 1 日-9 月 30 日:代碼實(shí)現(xiàn)。 10 月

8、 1-10 月 7 日:項(xiàng)目發(fā)布與功能測(cè)試、畢業(yè)論文編寫。 10 月 8 日-10 月 15:完善畢業(yè)論文準(zhǔn)備畢業(yè)答辯。五、指導(dǎo)教師意見:指導(dǎo)教師: 2010 年 08 月 15 日中 期 報(bào) 告題 目:基于.NET 的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)報(bào)告人:計(jì)算機(jī)科學(xué)與技術(shù) 于倩1、總體設(shè)計(jì) 功能劃分 本軟件系統(tǒng)功能 可分為兩大部分:(1)用戶使用功能模塊 (2)管理員管理功能模塊 功能描述用戶使用功能模塊:為用戶提供服務(wù)??蛻暨M(jìn)行登錄或者注冊(cè),進(jìn)入界面 后可進(jìn)行圖書瀏覽、查看、顯示、收藏、訂單、購(gòu)物車等功能使用。 管理員管理功能模塊:實(shí)現(xiàn)管理員對(duì)書籍的管理功能。管理員可對(duì)書籍進(jìn)行庫(kù)存、出版商、

9、訂單、分類信息的管理,還可進(jìn)行用戶查詢等功能。 2、框架(框圖)系統(tǒng)基本結(jié)構(gòu)功能模塊結(jié)構(gòu)用用戶戶功功能能模模塊塊圖書搜索收藏夾購(gòu)物車圖書訂單用戶注冊(cè)登錄圖書瀏覽圖書顯示管管理理員員功功能能模模塊塊庫(kù)存書的信息管理分類信息管理用戶信息查詢處理訂單出版商信息管理3、進(jìn)展情況程序編制已基本完成,現(xiàn)在正在進(jìn)行修改和調(diào)試。四、指導(dǎo)教師意見結(jié) 題 驗(yàn) 收1、完成日期 2010 年 9 月 27 日二、完成質(zhì)量 整個(gè)系統(tǒng)采用了 B/S 結(jié)構(gòu)進(jìn)行設(shè)計(jì),使用 SQL Server 2000 數(shù)據(jù)庫(kù),并在.NET 環(huán)境下使用 Visual C#.net 語言開發(fā),是一個(gè)功能較完善的網(wǎng)上圖書銷售系統(tǒng),具有一定的實(shí)用

10、性和安全性。3、存在問題 雖然整個(gè)系統(tǒng)實(shí)現(xiàn)了基本的一些功能,但是,要想成為一個(gè)完善的網(wǎng)上書籍銷售系統(tǒng),還有很多需要改進(jìn)的地方,尤其是訂單管理方面。目前網(wǎng)絡(luò)上購(gòu)物的付款方式以網(wǎng)上銀行為主。但由于時(shí)間和所學(xué)有限并未添加此項(xiàng)功能接口,今后將進(jìn)一步完善。四、結(jié)論隨著互聯(lián)網(wǎng)的普及,網(wǎng)上購(gòu)物已經(jīng)越來越受到大眾的接受與喜愛。網(wǎng)上銷售書籍將會(huì)逐漸進(jìn)入人們的日常生活中,并為我們帶來極大的樂趣與便捷。與此同時(shí),ASP.NET 作為.NET 平臺(tái)的重要組成部分,在網(wǎng)絡(luò)系統(tǒng)開發(fā)上有著很大的優(yōu)勢(shì)。整個(gè)系統(tǒng)按照 B/S 結(jié)構(gòu)設(shè)計(jì),加之 SQL Server 數(shù)據(jù)庫(kù)的使用,對(duì)于提高我們所學(xué)并將其應(yīng)用于實(shí)際有著極其重要的幫助

11、。今后我會(huì)繼續(xù)努力學(xué)習(xí),進(jìn)一步完善解決系統(tǒng)中存在的問題!指導(dǎo)教師:張麗 2010 年 10 月 25 日基于基于.NET.NET 的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的網(wǎng)上圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘摘 要要隨著 Internet 的迅速崛起,網(wǎng)絡(luò)信息化的發(fā)展,在線圖書銷售作為一種典型的 Web 電子商務(wù)系統(tǒng)也迅速的發(fā)展并深入人們的日常生活中。更多的人更愿意足不出戶就可以挑選購(gòu)買自己喜歡的各種書籍,這樣大大縮短了購(gòu)書的時(shí)間,提高了效率??梢姡W(wǎng)上圖書銷售系統(tǒng)跨越了時(shí)間和空間的限制,給商業(yè)流通領(lǐng)域帶來了不一樣的變革,也給消費(fèi)者帶來了便捷。本系統(tǒng)采用 B/S 結(jié)構(gòu)進(jìn)行設(shè)計(jì),是在.NET 環(huán)境下使用 Vis

12、ual C#.net 語言開發(fā)的一個(gè)功能完善的網(wǎng)上圖書銷售系統(tǒng)。其具有一定的實(shí)用性,用戶可以在網(wǎng)上瀏覽圖書信息,查找圖書資料,將感興趣的書籍加入收藏夾,或放入購(gòu)物車并下訂單購(gòu)買;同時(shí),管理員也可以對(duì)整個(gè)系統(tǒng)的信息和數(shù)據(jù)進(jìn)行管理,可以管理庫(kù)存書信息、分類信息、出版社信息、用戶信息和訂單信息。此外,本論文采用的分析方法和設(shè)計(jì)過程具有一定的普遍性,可以應(yīng)用到其它系統(tǒng)的開發(fā)設(shè)計(jì)當(dāng)中。關(guān)鍵詞關(guān)鍵詞:網(wǎng)上購(gòu)書系統(tǒng);.NET;電子商務(wù);數(shù)據(jù)庫(kù)TheThe DesignDesign andand RealizationRealization ofof WebWeb BookshopBookshop Manag

13、ementManagement SystemSystem BasedBased onon .NET.NETAbstractAbstractWith the rapid rise of Internet, the development of network information technology, web bookshop system as a typical electronic commerce system also develops rapidly and deeps into peoples life. More and more people could be willin

14、g to select and buy their favorite books at home, so that is greatly reducing the time of shopping, and improving the efficiency. Obviously, the web bookshop management system has crossed the constraint of the time and the space, it not only brings a different change to the commercial domain, but al

15、so brings convenient to the consumers. The system used B/S structure and developed a well-functioning online book sales system with the use of Visual C#.net language based on .NET. Also, the system has some practicality, customers can browse the details of books on Internet, search information of bo

16、oks, and add the books which they like to the favorites, or put them to the shopping cart and place an order to buy them. At the same time, Administrators can manage the entire systems information and data, as the information of inventory, category, publishers, customers and orders. In addition, the

17、 analysis method and design process in the thesis have some universality, and can be applied to design other application system.KeyKey words:words: Web bookshop system; .NET; Electronic commerce; Database目目 錄錄1引言.11.1課題背景.11.2本課題研究?jī)?nèi)容.11.3本課題研究的意義.12網(wǎng)上圖書銷售系統(tǒng)相關(guān)技術(shù).12.1.NET 開發(fā)平臺(tái)及 C.NET 開發(fā)語言 .12.2微軟企業(yè)庫(kù).2

18、2.3三層應(yīng)用程序模型.22.4信息安全性.33網(wǎng)上圖書銷售系統(tǒng)規(guī)劃設(shè)計(jì).33.1需求分析.33.2系統(tǒng)基本結(jié)構(gòu).43.3系統(tǒng)設(shè)計(jì).43.3.1系統(tǒng)模塊設(shè)計(jì).43.3.2數(shù)據(jù)庫(kù)設(shè)計(jì).54網(wǎng)上圖書銷售系統(tǒng)開發(fā)實(shí)現(xiàn).94.1用戶功能模塊實(shí)現(xiàn).94.1.1用戶注冊(cè)登錄.94.1.2圖書瀏覽.134.1.3圖書顯示.144.1.4圖書搜索.154.1.5收藏夾.154.1.6購(gòu)物車.154.1.7圖書訂單.194.2管理員功能模塊實(shí)現(xiàn).204.2.1圖書管理.204.2.2分類信息管理.234.2.3出版商信息管理.244.2.4用戶信息管理.254.2.5訂單管理.25結(jié) 論.26參考文獻(xiàn).261

19、1 引言引言1.11.1 課題背景課題背景隨著 Internet 的迅速崛起,網(wǎng)絡(luò)信息化的發(fā)展,在線圖書銷售作為一種典型的 Web 電子商務(wù)系統(tǒng)也迅速的發(fā)展并深入人們的日常生活中。更多的人更愿意足不出戶就可以挑選購(gòu)買自己喜歡的各種書籍,這樣大大縮短了購(gòu)書的時(shí)間,提高了效率。而且,圖書因其具有標(biāo)識(shí)精晰、規(guī)格統(tǒng)一、特征容易描述、同種商品個(gè)體之間無差異等特性而能成為發(fā)展電子商務(wù)的最為理想的商品類型。可見,網(wǎng)上圖書銷售系統(tǒng)跨越了時(shí)間和空間的限制,給商業(yè)流通領(lǐng)域帶來了不一樣的變革,也給消費(fèi)者帶來了便捷。只要網(wǎng)絡(luò)發(fā)展沒有停止,網(wǎng)上圖書銷售的發(fā)展就不會(huì)停止。1.21.2 本課題研究本課題研究?jī)?nèi)容內(nèi)容本系統(tǒng)采

20、用 B/S(Browser/Server)結(jié)構(gòu)進(jìn)行設(shè)計(jì),使用 SQL Server 2000構(gòu)建數(shù)據(jù)庫(kù),并在.NET 環(huán)境下使用 Visual C#.net 語言開發(fā)的一個(gè)功能完善的網(wǎng)上圖書銷售系統(tǒng)。其具有一定的實(shí)用性,用戶可以在網(wǎng)上瀏覽圖書信息,查找圖書資料,將感興趣的書籍加入收藏夾,或放入購(gòu)物車并下訂單購(gòu)買;同時(shí),管理員也可以對(duì)整個(gè)系統(tǒng)的信息和數(shù)據(jù)進(jìn)行管理,可以管理庫(kù)存書信息、分類信息、出版社信息、用戶信息和訂單信息。1.31.3 本課題研究的意義本課題研究的意義本課題的目標(biāo)就是是將圖書銷售由傳統(tǒng)的商店模式向在線銷售的轉(zhuǎn)變,同時(shí)還對(duì)銷售的定單和圖書的種類等信息進(jìn)行在線管理,其意義就在于以此

21、來實(shí)現(xiàn)人們不出門就能夠便捷的買到自己喜歡的各種書籍,向客戶展示出一種新穎的購(gòu)書理念。網(wǎng)上購(gòu)書的方式必將日趨被大家所接受。2 2網(wǎng)上圖書銷售系統(tǒng)相關(guān)技術(shù)網(wǎng)上圖書銷售系統(tǒng)相關(guān)技術(shù)2.12.1 .NET.NET 開發(fā)平臺(tái)及開發(fā)平臺(tái)及 C C.NET.NET 開發(fā)語言開發(fā)語言.NET 框架是 Microsoft 公司推出的一種全新的開發(fā)平臺(tái),提供了統(tǒng)一的、面向?qū)ο蟛⑶铱梢詳U(kuò)展的編程類庫(kù)和完善的集成開發(fā)環(huán)境,大大簡(jiǎn)化了應(yīng)用程序的開發(fā)過程,并且具有良好的移植性和安全性。ASP.NET 是建立在公共語言運(yùn)行庫(kù)上的 Web 編程框架,相對(duì)于 ASP 而言,ASP.NET 提供了更強(qiáng)的性能、更方便的工具支持、更

22、好的平臺(tái)支持和靈活性。其一大革命性進(jìn)步是可以將應(yīng)用程序邏輯與表示代碼清楚地分開,這樣一來 Web 應(yīng)用程序的開發(fā)人員可以使用和Windows 桌面程序開發(fā)類似的編程模型,從而大大降低了開發(fā)難度。同時(shí),ASP.NET 在進(jìn)行用戶界面開發(fā)和基礎(chǔ)程序結(jié)構(gòu)生成時(shí)具有很多優(yōu)勢(shì)。第 2 頁 共 28 頁首先,ASP.NET 是一個(gè)已編譯的、基于.NET 的開發(fā)環(huán)境,利用整個(gè).NET 框架,開發(fā)人員可以方便的進(jìn)行程序開發(fā);其次,ASP.NET 可以無縫地與其它 HTML 編輯器及其編程工具一起工作,使得 Web 開發(fā)更加方便;再次,在 ASP.NET 中利用.NET 框架中的 ADO.NET 的強(qiáng)大功能,可

23、以高效便捷的訪問數(shù)據(jù)庫(kù),ASP.NET提供了簡(jiǎn)單的模型,該模型使開發(fā)人員能夠編寫應(yīng)用程序的運(yùn)行邏輯,并且保留了會(huì)話狀態(tài)功能;最后,.NET 框架和 ASP.NET 中提供了默認(rèn)授權(quán)和驗(yàn)證方案,可以根據(jù)需要方便地移除、添加或者替換這些方案。Visual C#.NET 語言是.NET 平臺(tái)首推的開發(fā)語言,是一種全新的、面向?qū)ο蟮木幊陶Z言。C語言從 C+語言發(fā)展而來,它同時(shí)吸取了 C/C+和 Java 語言的優(yōu)點(diǎn),可以快速地編寫各種基于 Microsoft .NET 平臺(tái)的應(yīng)用程序。C#語言使開發(fā)者用更少的代碼做更多的事,同時(shí)也不易出錯(cuò),提高了編程效率和安全性。2.22.2 微軟企業(yè)庫(kù)微軟企業(yè)庫(kù)眾所

24、周知,重復(fù)編寫數(shù)據(jù)訪問的代碼是十分繁瑣的,實(shí)際上很多系統(tǒng)中都會(huì)有類似的模塊,比如配置的保存和讀取、寫日志、異常的處理等,大多數(shù)情況下開發(fā)人員需要在每個(gè)系統(tǒng)中編寫具有類似功能的子模塊,因此雖然它們之間只存在細(xì)微的區(qū)別,但是代碼必須做修改才能夠滿足要求。微軟公司提供的企業(yè)庫(kù)正是為了解決這些問題而推出的,開發(fā)人員無需修改代碼,只要修改幾個(gè)配置文件,就可以在不同的系統(tǒng)中實(shí)現(xiàn)類似的功能。可見,企業(yè)庫(kù)大大減少了系統(tǒng)連接數(shù)據(jù)庫(kù)的代碼,帶來了方便。企業(yè)庫(kù)(EnterpriseLibraryJune2005)是微軟推出的開源項(xiàng)目,它為企業(yè)級(jí)開發(fā)提供了功能強(qiáng)大的多個(gè)應(yīng)用程序塊。該企業(yè)庫(kù)的設(shè)計(jì)思想是為了協(xié)助開發(fā)商解

25、決企業(yè)級(jí)應(yīng)用開發(fā)過程中所面臨的一系列共性的問題, 如安全、日志、數(shù)據(jù)訪問、配置管理等,并將這些廣泛使用的應(yīng)用程序塊集成封裝至企業(yè)庫(kù)的程序包中。企業(yè)庫(kù)由七個(gè)子模塊組成,分別是配置管理應(yīng)用程序塊(Configuration Application Block) 、數(shù)據(jù)訪問應(yīng)用程序塊(Data Access Application Block) 、安全應(yīng)用程序塊(Security Application Block) 、日志及儀表盤管理應(yīng)用程序塊(Logging and Instrumentation Application Block) 、加密應(yīng)用程序塊(Cryptography Applicat

26、ion Block) 、異常處理應(yīng)用程序塊(Exception Handling Application Block) 、緩存應(yīng)用程序塊(Caching Application Block) ,這七個(gè)應(yīng)用程序塊幾乎覆蓋了企業(yè)級(jí)架構(gòu)開發(fā)的核心環(huán)節(jié)。可見,企業(yè)庫(kù)具有可選擇、可擴(kuò)展、實(shí)用、強(qiáng)大、易用性和規(guī)范性等特性。第 3 頁 共 28 頁2.32.3 三層應(yīng)用程序模型三層應(yīng)用程序模型本課題在系統(tǒng)設(shè)計(jì)上采用了三層應(yīng)用程序模型。所謂的“三層應(yīng)用程序模型”是將系統(tǒng)按照功能的邏輯層次進(jìn)行劃分的,分別是表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,以此實(shí)現(xiàn)模塊化的設(shè)計(jì)。數(shù)據(jù)訪問層顧名思義是用來處理系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的操作,系統(tǒng)

27、中所有數(shù)據(jù)庫(kù)的調(diào)用都通過數(shù)據(jù)訪問層實(shí)現(xiàn)。業(yè)務(wù)邏輯層處于表示層和數(shù)據(jù)訪問層之間,它一方面調(diào)用數(shù)據(jù)訪問層的類和方法實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)規(guī)則,一方面封裝相應(yīng)的調(diào)用方法供表示層調(diào)用。表示層主要包括了系統(tǒng)的頁面呈現(xiàn)和相關(guān)控件的代碼。這種多層的應(yīng)用程序體系結(jié)構(gòu)具有以下一些優(yōu)點(diǎn),首先,程序代碼在各個(gè)層次之間實(shí)現(xiàn)松耦合和模塊化;其次,每個(gè)層次的代碼可重用,維護(hù)性更好;最后,可以將各個(gè)層次在物理上部署到多個(gè)層次中,實(shí)現(xiàn)部署的可擴(kuò)展性。2.42.4 信息安全性信息安全性在大多數(shù)系統(tǒng)中,用戶的密碼信息在數(shù)據(jù)庫(kù)中是以明文的方式存放的,數(shù)據(jù)庫(kù)管理員稍有疏忽就有可能導(dǎo)致用戶的隱私泄漏,尤其是對(duì)于一些涉及金融、商業(yè)領(lǐng)域的網(wǎng)絡(luò)應(yīng)

28、用,這一點(diǎn)漏洞將會(huì)導(dǎo)致十分嚴(yán)重的后果。所以,為了加強(qiáng)本系統(tǒng)信息的安全性,在用戶登錄模塊中,對(duì)密碼這樣的敏感信息進(jìn)行加密是十分必要的。本課題使用了一種常見的哈希加密算法MD5 加密算法。MD5 加密算法是不可逆的,經(jīng)過哈希加密的數(shù)據(jù)是沒有相應(yīng)的解密算法回到原狀的,在應(yīng)用中是通過比較兩個(gè)數(shù)據(jù)的哈希值是否相等,從而達(dá)到校驗(yàn)的目的。本課題中,在新客戶注冊(cè)的時(shí)候,對(duì)客戶設(shè)置的登錄密碼用 MD5 加密算法進(jìn)行加密,那么存入數(shù)據(jù)庫(kù)的將是客戶登錄密碼的 MD5 哈希值,在登錄驗(yàn)證時(shí)根據(jù)用戶輸入的密碼計(jì)算響應(yīng)的 MD5 哈希值進(jìn)行比較??梢姡ㄟ^ MD5 算法實(shí)現(xiàn)了數(shù)據(jù)的加密存儲(chǔ)和驗(yàn)證,同時(shí),MD5 加密是不可

29、逆的,即使惡意攻擊者獲得了數(shù)據(jù)庫(kù)的訪問權(quán)限,也仍然無法得知用戶的密碼信息,從而提高了系統(tǒng)的安全性。3 3網(wǎng)上圖書銷售系統(tǒng)規(guī)劃設(shè)計(jì)網(wǎng)上圖書銷售系統(tǒng)規(guī)劃設(shè)計(jì)3.13.1 需求分析需求分析網(wǎng)上圖書銷售系統(tǒng)首先應(yīng)該方便用戶瀏覽、購(gòu)買圖書,同時(shí)需要由系統(tǒng)管理員進(jìn)行管理和維護(hù),由此分為前臺(tái)用戶功能和后臺(tái)管理員功能兩個(gè)方面。前臺(tái)用戶功能:為了方便用戶購(gòu)買圖書,網(wǎng)上圖書銷售系統(tǒng)應(yīng)該提供以下幾種用戶功能。1) 用戶注冊(cè)登錄:用戶進(jìn)行注冊(cè),登錄。2) 圖書瀏覽:以列表方式顯示圖書信息供用戶瀏覽。第 4 頁 共 28 頁3) 圖書顯示:顯示圖書的詳細(xì)信息。4) 圖書搜索:使用搜索功能使用戶快速地找到所喜歡的圖書。5

30、) 收藏夾:用戶可以先將自己感興趣的圖書收藏起來,以便下次登錄后查看相關(guān)信息,如果打算購(gòu)買時(shí)再放入購(gòu)物車中。6) 購(gòu)物車:這是網(wǎng)上圖書銷售系統(tǒng)的基本元素。用戶找到所喜歡的圖書時(shí),可以將其放入購(gòu)物車中,再繼續(xù)查看其它圖書。7) 圖書訂單:用戶下訂單購(gòu)買圖書,由管理員定期負(fù)責(zé)處理,根據(jù)訂單信息向用戶送貨。后臺(tái)管理員功能:管理員負(fù)責(zé)維護(hù)整個(gè)系統(tǒng)的運(yùn)行,管理系統(tǒng)所有的信息和數(shù)據(jù),應(yīng)該提供以下功能。1) 圖書管理:維護(hù)網(wǎng)上圖書銷售系統(tǒng)中的所有圖書信息。2) 分類信息管理:維護(hù)系統(tǒng)中的所有分類信息。3) 出版商信息管理:維護(hù)系統(tǒng)中的所有出版商信息。4) 用戶信息管理:顯示所有注冊(cè)用戶的信息。5) 訂單管理

31、:定期對(duì)用戶訂單進(jìn)行處理,向用戶送貨。3.23.2 系統(tǒng)基本結(jié)構(gòu)系統(tǒng)基本結(jié)構(gòu)由于 B/S(Browser/Server)結(jié)構(gòu)具有較好的獨(dú)立性、可伸縮性和安全性,適合于不同數(shù)據(jù)庫(kù)之間的互連,并且便于管理維護(hù),因此整個(gè)系統(tǒng)采用客戶端、Web 服務(wù)器及數(shù)據(jù)庫(kù)服務(wù)器的 B/S 結(jié)構(gòu)進(jìn)行設(shè)計(jì)?;窘Y(jié)構(gòu)如圖 2-1 所示。圖 3-1 系統(tǒng)基本結(jié)構(gòu)利用 IIS 架構(gòu) Web 服務(wù)器,用于連接客戶端和數(shù)據(jù)庫(kù)服務(wù)器。對(duì)于客戶端發(fā)出的需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問的請(qǐng)求,Web 服務(wù)器負(fù)責(zé)客戶端與數(shù)據(jù)庫(kù)服務(wù)器的網(wǎng)絡(luò)通信,并將相關(guān)數(shù)據(jù)嵌入返回給客戶端的 Web 頁面;對(duì)于客戶端發(fā)出的不需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問的請(qǐng)求,Web 服務(wù)

32、器將直接處理這些請(qǐng)求,并將最終生成的 Web 頁面發(fā)往客戶端瀏覽器。3.33.3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì).1 系統(tǒng)模塊設(shè)計(jì)系統(tǒng)模塊設(shè)計(jì)分為用戶功能模塊設(shè)計(jì)和管理員功能模塊設(shè)計(jì)兩方面,用戶登錄后,可以進(jìn)行圖書瀏覽、下訂單等操作;管理員登錄后,可以進(jìn)行圖書管理、分類信息管理、出版商信息管理、用戶信息管理和訂單管理等操作。1. 用戶功能模塊設(shè)計(jì):第 5 頁 共 28 頁普通用戶的各個(gè)功能模塊,具體設(shè)計(jì)如圖 3-2 所示:用用戶戶功功能能模模塊塊圖書搜索收藏夾購(gòu)物車圖書訂單用戶注冊(cè)登錄圖書瀏覽圖書顯示圖 3-2 用戶功能模塊2. 管理員功能模塊設(shè)計(jì):管理員負(fù)責(zé)管理整個(gè)系統(tǒng)所有的信息和數(shù)據(jù),并

33、做相應(yīng)的一些處理。其功能模塊如圖 3-3 所示。管管理理員員功功能能模模塊塊庫(kù)存書的信息管理分類信息管理用戶信息查詢處理訂單出版商信息管理圖 3-3 管理員功能模塊.2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)主要由 9 個(gè)數(shù)據(jù)表組成。Books(圖書信息表),Items(圖書項(xiàng)信息表),Categories(圖書分類信息表)存儲(chǔ)圖書的分類信息,ItemCategory(圖書項(xiàng)與分類關(guān)聯(lián)信息表) ,Publishers(出版商信息表)存儲(chǔ)出版商信息,Customers(客戶信息表)存儲(chǔ)用戶注冊(cè)信息,F(xiàn)avorites(收藏夾信息表)存儲(chǔ)用戶的收藏夾信息,Orders(訂單信息表)存儲(chǔ)訂單的各

34、項(xiàng)信息,OrderItems(訂單項(xiàng)信息表)存儲(chǔ)訂單具體的購(gòu)買信息。從而,可詳細(xì)設(shè)第 6 頁 共 28 頁計(jì)出各數(shù)據(jù)庫(kù)對(duì)象,包括數(shù)據(jù)表和存儲(chǔ)過程。數(shù)據(jù)表:圖書相關(guān)信息表分別如表 3-1、表 3-2、表 3-3、表 3-4、表 3-5 所示。表 3-1 圖書信息表 BooksBooks(ItemId 為主鍵,PublisherId 為外鍵)列(屬性)名中文名稱類型寬度是否允許為空ItemId圖書項(xiàng) ID 號(hào)int4NOT NULLPublisherId出版商 ID 號(hào)int4NOT NULLAuthor作者名nvarchar40NOT NULLISBNISBN 號(hào)char10NOT NULLSa

35、leNum已銷售數(shù)量int4NOT NULL表 3-2 圖書項(xiàng)信息表 ItemsItems(PKId 為主鍵)列(屬性)名中文名稱類型寬度是否允許為空PKId圖書項(xiàng)唯一 ID int4NOT NULLName書名nvarchar255NOT NULLImageFileSpace圖書封面圖文件地址nvarchar255NULLDescription說明nvarchar2000NULLUnitPrice單價(jià)Momey8NOT NULL表 3-3 圖書分類信息表 CategoriesCategories(PKId 為主鍵)列(屬性)名中文名稱類型寬度是否允許為空PKId分類唯一 IDint4NOT

36、NULLDescription分類說明nvarchar255NULL表 3-4 圖書項(xiàng)與分類關(guān)聯(lián)信息表 ItemCategoryItemCategory(ItemId 為主鍵,CategoryId 為外鍵)列(屬性)名中文名稱類型寬度是否允許為空ItemId圖書項(xiàng) ID 號(hào)int4NOT NULLCategoryId分類 ID 號(hào)int4NOT NULL表 3-5 出版商信息表 PublishersPublishers(PKId 為主鍵)列(屬性)名中文名稱類型寬度是否允許為空PKId出版商唯一 IDint4NOT NULLName出版商名稱nvarchar40NOT NULL用戶相關(guān)信息表分

37、別如表 3-6、表 3-7 所示。表 3-6 客戶信息表 CustomersCustomers(PKId 為主鍵)列(屬性)名中文名稱類型寬度是否允許為空PKId客戶唯一 IDint4NOT NULLEmail客戶 Emailnvarchar50NOT NULLPassword客戶登錄密碼binary24NULL第 7 頁 共 28 頁Name客戶名稱nvarchar40NULL表 3-7 收藏夾信息表 FavoritesFavorites(PKId 為主鍵,CustomerId、ItemId 為外鍵)列(屬性)名中文名稱類型寬度是否允許為空PKId收藏夾 ID 號(hào)int4NOT NULLCu

38、stomerId客戶 ID 號(hào)int4NOT NULLItemId圖書項(xiàng) ID 號(hào)Int4NOT NULL訂單相關(guān)信息表分別如表 3-8、表 3-9 所示。表 3-8 訂單信息表 OrdersOrders(PKId 為主鍵,CustomerId 為外鍵)列(屬性)名中文名稱類型寬度是否允許為空PKId訂單唯一 IDint4NOT NULLCustomerId客戶 ID 號(hào)int4NULLStatus訂單狀態(tài)int4NULLOrderData訂單生成日期datetime8NULLShipToName收件人名稱nvarchar40NULLShipToAddress送貨地址nvarchar255NO

39、T NULLSubTotal總價(jià)Momey8NULL表 3-9 訂單項(xiàng)信息表 OrderItemsOrderItems(OrderId 和 ItemId 為主鍵)列(屬性)名中文名稱類型寬度是否允許為空OrderId訂單 ID 號(hào)int4NOT NULLItemId圖書項(xiàng) ID 號(hào)int4NOT NULLUnitPrice單價(jià)money8NOT NULLQuantity購(gòu)買數(shù)量Int4NOT NULL存儲(chǔ)過程:因?yàn)榇鎯?chǔ)過程可以在程序中被多次調(diào)用,而不必多次重復(fù)編寫該存儲(chǔ)過程的 SQL 語句,所以數(shù)據(jù)庫(kù)中建立了大量的存儲(chǔ)過程,便于將相關(guān)信息加入到數(shù)據(jù)庫(kù)中。與客戶相關(guān)的存儲(chǔ)過程有:新客戶注冊(cè)(Cu

40、stomerRegister) ,客戶登錄(CustomerLogin) ,修改客戶信息(EditCustomer) ,獲取所有客戶的信息(GetCustomers) ,獲取單個(gè)用戶的信息(GetCustomerById) 。與圖書相關(guān)的存儲(chǔ)過程有:新增圖書(AddBook) ,刪除圖書(DelBook) ,修改圖書信息(EditBook) ,獲取所有圖書信息(GetAllBooks) ,根據(jù)圖書項(xiàng)ID 獲取單本圖書信息(GetBookById) ,根據(jù)分類 ID 獲取圖書信息(GetBooksByCategoryId) ,根據(jù)分類 ID 獲取熱門書圖書信息(GetPopBooksByCate

41、goryId) ,根據(jù)書名獲取圖書信息(GetBooksByTitle) ,第 8 頁 共 28 頁根據(jù)關(guān)鍵詞獲取圖書信息(GetBooksByKeyword) ,根據(jù) ISBN 獲取圖書信息(GetBooksByISBN) ,根據(jù)出版商獲取圖書信息(GetBooksByPublisherId)根據(jù)作者獲取圖書信息(GetBooksByAuthor) 。與出版商相關(guān)的存儲(chǔ)過程有:新增出版商(AddPublisher) ,刪除出版商(DelPublisher) ,修改出版商信息(EditPublisher) ,獲取所有出版商信息(GetPublishers) 。與圖書分類相關(guān)的存儲(chǔ)過程有:新增圖

42、書分類(AddCategory) ,刪除圖書分類(DelCategory) ,修改圖書分類說明(EditCategory) ,獲取圖書分類信息(GetCategories)。與收藏夾相關(guān)的存儲(chǔ)過程有:新增收藏記錄(AddFavorite) ,刪除收藏信息(DelFavorite) ,根據(jù)客戶 ID 獲取收藏記錄(GetFavoritesByCustomerId) 。與訂單相關(guān)的存儲(chǔ)過程有:獲取訂單信息(GetOrders) ,獲取單條訂單信息(GetOrderById) ,根據(jù)客戶 ID 獲取訂單信息(GetOrdersByCustomerId) ,根據(jù)狀態(tài)獲取訂單信息(GetOrdersBy

43、Status) ,根據(jù)日期獲取訂單信息(GetOrdersByDate) ,提交訂單(SubmitOrder) ,修改訂單(EditOrder) ,取消訂單(CancelOrder) ,接受訂單(AcceptOrder) ,確定訂單(ConfirmOrder) ,撤銷訂單(RevokeOrder) ,PopFirstWord ,插入訂單明細(xì)記錄(InsertOrderDetailsByList) ,插入單條訂單項(xiàng)(InsertOrderDetail) 。由于該系統(tǒng)建立的存儲(chǔ)過程很多,所以在此就只列舉出一個(gè)存儲(chǔ)過程的SQL 腳本。新增圖書存儲(chǔ)過程 AddBook 的 SQL 腳本如下:CREAT

44、E PROCEDURE AddBook Name NVARCHAR(255), ImageFileSpace NVARCHAR(255), Description NVARCHAR(2000), UnitPrice MONEY, PublisherId INT, Author NVARCHAR(40), ISBN NCHAR(13), CategoryId INT, ItemId INT = NULL OUTPUT -output 可以返回一個(gè)值A(chǔ)S begin tran -事務(wù)第 9 頁 共 28 頁 -新增 Items 表記錄 insert Items (Name, ImageFileSp

45、ace, Description, UnitPrice) select Name,ImageFileSpace,Description,UnitPrice select ItemId = IDENTITY -獲取數(shù)據(jù)表中最后一條插入數(shù)據(jù)的 IDENTITY 值-新增 Books 表記錄 insert Books (ItemId, PublisherId, Author,ISBN) select ItemId,PublisherId,Author,ISBN-新增 ItemCategory 表記錄 insert ItemCategory (ItemId,CategoryId) select Ite

46、mId,CategoryId commit tran return 0GO4 4網(wǎng)上圖書銷售系統(tǒng)開發(fā)實(shí)現(xiàn)網(wǎng)上圖書銷售系統(tǒng)開發(fā)實(shí)現(xiàn)4.14.1 用戶功能模塊實(shí)現(xiàn)用戶功能模塊實(shí)現(xiàn)用戶功能模塊主要包括注冊(cè)登錄、圖書瀏覽、圖書顯示、圖書搜索、購(gòu)物車、收藏夾、圖書訂單這幾個(gè)部分。在程序設(shè)計(jì)中,各模塊后臺(tái)編碼部分的設(shè)計(jì)實(shí)現(xiàn)是重點(diǎn)和難點(diǎn),因此論文將著重說明模塊的后臺(tái)編碼部分,對(duì)于頁面設(shè)計(jì)部分只作了簡(jiǎn)單說明。.1 用戶注冊(cè)登錄用戶注冊(cè)登錄用戶首先填寫相關(guān)信息進(jìn)行注冊(cè),之后就可以登錄到本系統(tǒng)中購(gòu)買圖書。注冊(cè)模塊的主要功能是把用戶的注冊(cè)信息寫到數(shù)據(jù)庫(kù)中。同時(shí),為了減少用戶輸入錯(cuò)誤,注冊(cè)模塊需要對(duì)相

47、關(guān)信息作必要的驗(yàn)證。利用 ASP.NET 提供的驗(yàn)證控件可以方便的驗(yàn)證用戶輸入,這里將幾個(gè)驗(yàn)證控件結(jié)合起來實(shí)現(xiàn)比較完整的驗(yàn)證功能。在注冊(cè)頁面設(shè)計(jì)中,使用 RequiredFieldValidator 控件檢查用戶是否在輸入框中填寫了必要的文字,確保用戶不跳過輸入,使用RegularExpressionValidator 控件檢查輸入是否符合正則表達(dá)式,使用CompareValidator 控件對(duì)比兩次密碼輸入是否相同。部分代碼如下:Email:密碼:重復(fù)輸入密碼:用戶注冊(cè)頁面設(shè)計(jì)如圖 4-1 所示。圖 4-1 用戶注冊(cè)頁面用戶輸入相應(yīng)信息后,單擊“注冊(cè)”按鈕,可將用戶信息插入到數(shù)據(jù)庫(kù)中的 Cu

48、stomers 數(shù)據(jù)表中。該功能由單擊事件處理函數(shù) btnRegister_Click()來實(shí)現(xiàn),部分程序代碼如下:private void btnRegister_Click(object sender, System.EventArgs e)if ( CustomerSystem.Register(tbEmail.Text, tbUserName.Text, tbPassword.Text) )lblMessage.Visible = true;lblMessage.Text = SUCCESS_MESSAGE;ltLink.Visible = true;ltLink.Text = LIN

49、K_STRING;elselblMessage.Visible = true;lblMessage.Text = ERR_MESSAGE;第 11 頁 共 28 頁程序中調(diào)用了業(yè)務(wù)邏輯層的 CustomerSystem.Register( ),來實(shí)現(xiàn)將注冊(cè)信息添加到數(shù)據(jù)庫(kù)中去,其中針對(duì)用戶設(shè)置的密碼是先通過 MD5 加密算法加密后再添加到數(shù)據(jù)庫(kù)中去的。CustomerSystem.Register( )類的代碼如下:public static bool Register(string strEmail, string strName, string strPassword)int iRet =

50、 -1;tryMD5 md5 = MD5.Create();/MD5加密算法byte btPassword = md5.ComputeHash(Encoding.Unicode.GetBytes(strPassword);Customer c = new Customer(strEmail, btPassword, strName);iRet = _customers.CustomerRegister(c);catch(Exception ex)bool rethrow = ExceptionPolicy.HandleException(ex, Logging Policy);if (reth

51、row)throw;return iRet = 0;程序中又定義了 Common 命名空間中的公共類 Customer 的對(duì)象,還調(diào)用了數(shù)據(jù)訪問層 DataAcess 中的 CustomerRegister()方法,以此通過微軟企業(yè)庫(kù)連接數(shù)據(jù)庫(kù)中的用戶注冊(cè)存儲(chǔ)過程 CustomerRegister。Customer 類的代碼如下:public class Customerpublic Customer(string strEmail, byte btPassword, string strName)_email = strEmail;_password = btPassword;_name =

52、 strName;private string _email;private byte _password;private string _name;public string Emailget return _email;set _email = value;第 12 頁 共 28 頁public byte Passwordget return _password;set _password = value;public string Nameget return _name;set _name = value;CustomerRegister()的代碼如下:public int Custo

53、merRegister(Customer c)string sqlCommand = CustomerRegister;/為執(zhí)行存儲(chǔ)過程進(jìn)行準(zhǔn)備,參數(shù)賦值DBCommandWrapper dbCommandWrapper = _db.GetStoredProcCommandWrapper(sqlCommand); dbCommandWrapper.AddInParameter(Email, DbType.String, c.Email);dbCommandWrapper.AddInParameter(Password, DbType.Binary, c.Password);dbCommandW

54、rapper.AddInParameter(Name, DbType.String, c.Name);dbCommandWrapper.AddParameter(RETURN_VALUE, DbType.Int32, ParameterDirection.ReturnValue, return, DataRowVersion.Default, null);_db.ExecuteNonQuery(dbCommandWrapper);/執(zhí)行存儲(chǔ)過程return (int)dbCommandWrapper.GetParameterValue(RETURN_VALUE);在數(shù)據(jù)庫(kù)設(shè)計(jì)中,用戶注冊(cè) Em

55、ail 地址是關(guān)鍵,它的值是唯一的,不能重復(fù),如果重復(fù),企業(yè)庫(kù)和數(shù)據(jù)庫(kù)就會(huì)拋出異常,并且終止執(zhí)行 SQL 語句。根據(jù)數(shù)據(jù)庫(kù)是否產(chǎn)生異常及異常的代碼,就可以較好的實(shí)現(xiàn)模塊功能,并且給用戶顯示友好的提示信息。用戶注冊(cè)后,在登錄頁面輸入 Email 和密碼可以登錄到系統(tǒng)中。登錄頁面如圖 4-2 所示。圖 4-2 登錄頁面登錄模塊驗(yàn)證程序根據(jù)數(shù)據(jù)庫(kù)中已有的注冊(cè)信息,對(duì)客戶端發(fā)送過來的第 13 頁 共 28 頁Email 和密碼進(jìn)行驗(yàn)證。判斷該 Email 地址及相應(yīng)的密碼在數(shù)據(jù)庫(kù)中是否存在,進(jìn)而可進(jìn)行購(gòu)買圖書等操作。輸入信息,點(diǎn)擊“登錄”按鈕將執(zhí)行的部分程序代碼如下:private void btnL

56、ogin_Click(object sender, System.EventArgs e)int iRet = CustomerSystem.Login(Email, Password);if(Email=)&(Password=admin)SessionUserName=;/通過session驗(yàn)證管理員Response.Redirect(/admin/Default.aspx);/進(jìn)入管理員頁面elseif (iRet 0)FormsAuthentication.RedirectFromLoginPage(iRet.ToString(), false);/重定向elselblMess

57、age.Visible = true;lblMessage.Text = LOGIN_FAIL_MESSAGE;如果 Email 為并且 Password 為admin,就進(jìn)入后臺(tái)管理員頁面,其它用戶成功登錄后則進(jìn)入前臺(tái)圖書銷售頁面。.2 圖書瀏覽圖書瀏覽圖書瀏覽使用 2 種方式實(shí)現(xiàn):分類瀏覽和熱門書推薦。頁面設(shè)計(jì)中,兩種方式都使用了 ASP.NET 中的 DataList 控件來綁定數(shù)據(jù),以列表方式顯示。因?yàn)閐atalist 自定義模塊比 datagrid 更能夠顯示豐富多變的數(shù)據(jù)列表。分類瀏覽和熱門書推薦的實(shí)現(xiàn)都差不多,唯一的差異就是熱門書推薦部分只顯示銷售量前 4 的圖書

58、。分類瀏覽圖書頁面的執(zhí)行結(jié)果如圖 4-3 所示。當(dāng)用戶點(diǎn)擊相關(guān)類別鏈接時(shí),就可以實(shí)現(xiàn)分類瀏覽。這些鏈接包含查詢字符串,在 Web 服務(wù)器中通過解析這些字符串來確定用戶所點(diǎn)擊的鏈接。當(dāng)點(diǎn)擊“藝術(shù)”鏈接時(shí),頁面上半部分顯示熱門書推薦,下半部分顯示全部圖書列表,顯示結(jié)果如圖 4-4 所示。第 14 頁 共 28 頁圖 4-3 分類瀏覽頁面 圖 4-4 分類瀏覽顯示結(jié)果在分類瀏覽頁面 Category.aspx 的實(shí)現(xiàn)過程中,“收藏夾”按鈕只有在用戶登錄的情況下才顯示,在 DataList 控件里 ItemCreate 事件的相應(yīng)函數(shù)中添加了相應(yīng)的代碼進(jìn)行判斷。其后臺(tái)的部分代碼如下:private v

59、oid dlBook_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)/DataList.ItemCreated ,當(dāng)在 DataList 控件中創(chuàng)建項(xiàng)時(shí)在服務(wù)器上發(fā)生。ImageButton ib = e.Item.FindControl(ibFavorite) as ImageButton;if (ib != null)ib.Visible = ucHeader.IsLogin;/dlBook_ItemCommand,當(dāng)單擊 DataList 控件中的任一按鈕時(shí)發(fā)生private vo

60、id dlBook_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)/添加圖書到收藏夾或購(gòu)物車if (e.CommandName = AddFavorite)int iItemId = Convert.ToInt32(e.CommandArgument);int iCustomerId = Convert.ToInt32(User.Identity.Name);Common.Favorite f = new Common.Favorite(iItemId, iCustomerId);if (

溫馨提示

  • 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. 人人文庫(kù)網(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)論