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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p><b>  一、引言2</b></p><p><b>  二 、需求分析3</b></p><p> ?。ǘ┛尚行苑治?</p><p> ?。ㄈ┕δ苄枨蠓治?</p><p> 

2、?。ㄋ模╅_(kāi)發(fā)環(huán)境需求5</p><p><b>  三、系統(tǒng)設(shè)計(jì)5</b></p><p> ?。ㄒ唬┫到y(tǒng)功能模塊圖5</p><p>  (二)系統(tǒng)活動(dòng)圖7</p><p>  (三)系統(tǒng)用例圖8</p><p><b>  四、數(shù)據(jù)庫(kù)設(shè)計(jì)9</b></p

3、><p> ?。ㄒ唬〦-R圖模型9</p><p> ?。ǘ?shù)據(jù)庫(kù)模型圖10</p><p>  五、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)11</p><p> ?。ㄒ唬?shù)據(jù)庫(kù)表設(shè)計(jì)11</p><p> ?。ǘ┣芭_(tái)主頁(yè)面的搭建14</p><p> ?。ㄈ┖笈_(tái)的主框架的搭建15</p>

4、<p>  (四)后臺(tái)的主要基本功能與實(shí)現(xiàn)15</p><p><b>  六、系統(tǒng)測(cè)試27</b></p><p><b>  七、小結(jié)28</b></p><p><b>  八、參考文獻(xiàn)28</b></p><p>  摘要:在Internet飛速發(fā)

5、展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們學(xué)習(xí)、工作、生活等各個(gè)方面發(fā)揮著重要的作用。因此網(wǎng)站建設(shè)在Internet應(yīng)用上的地位顯而易見(jiàn),它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視。</p><p>  本文詳細(xì)介紹了寵物網(wǎng)站的功能和結(jié)構(gòu),并論證了網(wǎng)站的設(shè)計(jì)方案,簡(jiǎn)要介紹了使用的開(kāi)發(fā)工具M(jìn)icrosoft Visual Studio 2008以及涉及到的等相關(guān)

6、技術(shù),并以在線文章發(fā)布子系統(tǒng)開(kāi)發(fā)的順序詳細(xì)介紹了系統(tǒng)分析,系統(tǒng)設(shè)計(jì),系統(tǒng)實(shí)施的開(kāi)發(fā)過(guò)程, 然后,展示了子系統(tǒng)所實(shí)現(xiàn)的功能及部分界面在介紹某些關(guān)鍵技術(shù)的同時(shí),還給出了關(guān)鍵源程序代碼。最后對(duì)本系統(tǒng)的不足和本人在開(kāi)發(fā)中的認(rèn)識(shí)和感想進(jìn)行了總結(jié)。</p><p>  關(guān)鍵詞:互聯(lián)網(wǎng); 數(shù)據(jù)庫(kù); 寵物網(wǎng)站</p><p><b>  一、引言</b></p><

7、;p>  某寵物公司自創(chuàng)始以來(lái)不斷的發(fā)展壯大,業(yè)務(wù)也越來(lái)越繁忙,雇傭數(shù)量較多的工作人員同時(shí)也難以避免客戶在購(gòu)買寵物時(shí)造成寵物翻閱損耗等一系列費(fèi)用,當(dāng)今網(wǎng)絡(luò)所顯現(xiàn)的超常信息量、無(wú)時(shí)空局限、傳遞快捷、操作靈活等優(yōu)點(diǎn)吸引著越來(lái)越多網(wǎng)民,同時(shí)隨著經(jīng)濟(jì)的發(fā)展,人民生活節(jié)奏也越來(lái)越快,所以網(wǎng)上購(gòu)物吸引了越來(lái)越多的人。寵物網(wǎng)正是為了滿足這種需求而研發(fā)的中小型電子商務(wù)系統(tǒng) 。</p><p>  某寵物網(wǎng)系統(tǒng)是基于B/S模

8、式的小型電子商務(wù)系統(tǒng),能夠滿足中小型寵物商店的網(wǎng)上銷售寵物用品的需要。搭建寵物網(wǎng)極為簡(jiǎn)單只需要一臺(tái)PC機(jī),一根網(wǎng)線,即可進(jìn)行網(wǎng)上交易。寵物網(wǎng)基本上滿足了中小型寵物商店的網(wǎng)上銷售需求,其主要功能包括寵物展示、寵物用品展示、購(gòu)物車、收銀臺(tái)、會(huì)員管理、訂單查詢、新聞瀏覽、寵物護(hù)養(yǎng)常識(shí)瀏覽、寵物管理、用戶管理、訂單管理。寵物展示主要實(shí)現(xiàn)寵物的重點(diǎn)推薦、明星寵物、寵物分類查詢、寵物用品銷售排行榜等功能;購(gòu)物車功能給每個(gè)用戶建立了一個(gè)相對(duì)應(yīng)的唯一存

9、放選中寵物籍存放的空間;收銀臺(tái)提供了客戶付賬的功能,當(dāng)顧客決定購(gòu)買購(gòu)物車?yán)锏膶櫸锛畷r(shí),向收銀臺(tái)提交訂單;會(huì)員管理為每一位注冊(cè)用戶提供了注冊(cè)、登陸;后臺(tái)的寵物管理是為管理員提供修改、添加刪除寵物信息的功能;用戶管理實(shí)現(xiàn)的功能有查看用戶信息、消費(fèi)總額;訂單管理主要負(fù)責(zé)查看客戶的發(fā)貨執(zhí)行情況;新聞管理方便管理員向首頁(yè)新聞頁(yè)面里添加公司新聞;護(hù)養(yǎng)常識(shí)是為了方便會(huì)員及大眾更好的飼養(yǎng)寵物、相應(yīng)的減少寵物不必要的傷害等。某寵物網(wǎng)的設(shè)計(jì)充分考慮了用戶的

10、視覺(jué)感受,努力做到界面簡(jiǎn)單明了,功能相對(duì)完善。</p><p>  后臺(tái)開(kāi)發(fā)充分考慮了使用軟件的用戶可能對(duì)計(jì)算機(jī)軟件并不是很了解,所以在設(shè)計(jì)的過(guò)程中添加了許多必要的提示和說(shuō)明??傊硨櫸锞W(wǎng)將以.Net技術(shù)為基礎(chǔ),實(shí)現(xiàn)寵物信息的發(fā)布、購(gòu)物、用戶管理、寵物后臺(tái)管理等一系列的功能,力爭(zhēng)成為廣大客戶帶來(lái)更多的便利,為某寵物公司帶來(lái)更高的銷售額。</p><p><b>  二 、需求分析

11、</b></p><p><b> ?。ㄒ唬╉?xiàng)目背景</b></p><p>  寵物正在成為不少家庭里的新成員。隨著養(yǎng)寵物的家庭不斷增多,寵物經(jīng)濟(jì)也越來(lái)越受人關(guān)注。 目前從養(yǎng)寵物的數(shù)量和消費(fèi)能力上看,北京、上海、廣州、重慶和武漢已經(jīng)成為我國(guó)五大“寵物城市”,在這些城市。而天津、南京、杭州、深圳、成都等城市,寵物普及程度也相當(dāng)高。不少業(yè)內(nèi)人士表示,隨

12、著日前頒布的《寵物條例》中免去每年寵物年檢費(fèi)用的政策出臺(tái)后,可能會(huì)有更多人加入養(yǎng)寵物的行列,中國(guó)寵物市場(chǎng)的潛力仍待挖掘。 如此大的市場(chǎng)自然吸引了眾商家的眼球,圍繞“寵物賺錢”(指寵物交易本身)和“賺寵物的錢”這兩個(gè)主題,市場(chǎng)可提供的項(xiàng)目越來(lái)越多,為寵物衣食住行、生老病死支出的費(fèi)用也在逐年增加,個(gè)別已經(jīng)面臨服務(wù)升級(jí)的項(xiàng)目收費(fèi)更是高得驚人。由于飼養(yǎng)寵物是一個(gè)循環(huán)消費(fèi)的過(guò)程,消費(fèi)者需要不停地支出,因此寵物產(chǎn)業(yè)成為投資者非??粗械臒狳c(diǎn)行

13、業(yè)。</p><p>  有關(guān)專家表示,我國(guó)目前至少有寵物1億只(條),圍繞寵物發(fā)生的消費(fèi)至少在150億元以上。同時(shí),“寵物熱”還帶動(dòng)了寵物經(jīng)濟(jì),圍繞寵物服務(wù)和寵物用品大做文章的人成倍增加,從寵物食品、寵物醫(yī)療,到寵物美容,甚至還出現(xiàn)了寵物婚介、殯葬、寄養(yǎng)、寵物SPA、寵物旅游團(tuán)等新興服務(wù)。然而,由于行業(yè)缺乏監(jiān)管和規(guī)范,“暴利”、欺詐現(xiàn)象嚴(yán)重,給行業(yè)發(fā)展蒙據(jù)了解,在寵物消費(fèi)中,食品占據(jù)最大份額,其次是醫(yī)療和寵物用

14、品,許多投資者甚至認(rèn)定生產(chǎn)和經(jīng)營(yíng)寵物用品只賺不賠,紛紛搶食。寵物行業(yè)除了收費(fèi)充滿暴利外,由于越來(lái)越多的投資者加入到快速增長(zhǎng)的寵物市場(chǎng),又缺乏有效的監(jiān)管和規(guī)范,使整個(gè)市場(chǎng)陷入無(wú)序混亂的狀態(tài)。</p><p><b> ?。ǘ┛尚行苑治?lt;/b></p><p><b>  1.技術(shù)的可行性</b></p><p>  某寵物

15、網(wǎng)系統(tǒng)采用了當(dāng)前的主流計(jì)算結(jié)構(gòu)—B/S模式進(jìn)行開(kāi)發(fā),前臺(tái)開(kāi)發(fā)工具選用Microsoft Visual Studio 2008。它是一種可視化的、面向?qū)ο蟮腤indows開(kāi)發(fā)語(yǔ)言,具有易用、通用和開(kāi)發(fā)效率高的特點(diǎn)。后臺(tái)的數(shù)據(jù)庫(kù)開(kāi)發(fā)工具選用了Microsoft SQL Server 2005,它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)完整性并提供許多高級(jí)管理和數(shù)據(jù)分配功能,它又在數(shù)據(jù)庫(kù)平臺(tái)的安全模塊方面做了重要的增強(qiáng),在加強(qiáng)數(shù)據(jù)安全性方面提供了更多精

16、確、靈活的控制方法,并定義了幫助建立支持安全計(jì)算的必要步驟,同時(shí)幫助部署和維護(hù)一個(gè)安全環(huán)境。這兩種開(kāi)發(fā)工具功能強(qiáng)大,有較好的接口,作為本系統(tǒng)開(kāi)發(fā)工具是可行的。</p><p><b>  2. 經(jīng)濟(jì)可行性</b></p><p>  隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,實(shí)現(xiàn)了企業(yè)業(yè)務(wù)管理的高效化、系統(tǒng)化、規(guī)范化、自動(dòng)化。同樣隨著寵物業(yè)的崛起,某寵物

17、公司已經(jīng)成長(zhǎng)為一個(gè)跨地區(qū)的大公司,并且公司的業(yè)務(wù)已遍布全國(guó)。而傳統(tǒng)的經(jīng)營(yíng)模式已無(wú)法適合當(dāng)今的龐大的數(shù)據(jù)處理和精確的運(yùn)算需求。所以一套精美完善的寵物網(wǎng)系統(tǒng)是提高工作效率節(jié)省人力物力財(cái)力的有效解決方案。擁有自己的一套特色的寵物網(wǎng)站系統(tǒng)是非常必要的。它可持續(xù)使用并能隨著時(shí)代和工作的需求不斷更新,一期投入終身受用,按長(zhǎng)期的使用計(jì)算,開(kāi)發(fā)系統(tǒng)的造價(jià)平均到每年與傳統(tǒng)式的管理方式的年耗資本相對(duì)比,性價(jià)比是可行的。開(kāi)發(fā)這套系統(tǒng)的經(jīng)濟(jì)可行性是很高的。&l

18、t;/p><p><b> ?。ㄈ┕δ苄枨蠓治?lt;/b></p><p>  根據(jù)調(diào)查,寵物網(wǎng)站管理主要包括網(wǎng)站的瀏覽者、會(huì)員、網(wǎng)站管理人員三個(gè)方面。寵物瀏覽者的需求是查詢?cè)摼W(wǎng)站的寵物和寵物商品信息,想要購(gòu)買所需的東西,則需要注冊(cè)登錄,成為會(huì)員;會(huì)員的需求是查詢?cè)摼W(wǎng)站的寵物和寵物商品以及購(gòu)買所需物品,當(dāng)然如果密碼丟失還可以找回密碼;網(wǎng)站管理人員可以對(duì)員工、會(huì)員、寵物及寵物

19、用品進(jìn)行管理。因此我們的網(wǎng)站分為前臺(tái)后臺(tái)兩個(gè)方面進(jìn)行設(shè)計(jì)的,前臺(tái)主要是產(chǎn)品的展示,供瀏覽者和會(huì)員查看和購(gòu)買商品,而后臺(tái)主要是管理員登陸的,管理員要從后臺(tái)維護(hù)網(wǎng)站的所有信息,包括會(huì)員管理,寵物管理,寵物用品管理,員工管理,訂單管理等等。</p><p>  前臺(tái)需要實(shí)現(xiàn)的主要功能有:</p><p>  1.寵物及相關(guān)用品信息的瀏覽,明星寵物,熱銷用品的展示及詳細(xì)信息瀏覽。</p>

20、;<p>  2.護(hù)養(yǎng)常識(shí),公司新聞及公司介紹的瀏覽。</p><p>  3.寵物用品的購(gòu)買包括對(duì)購(gòu)物車信息的修改,訂單信息的填寫及提交。</p><p>  4.會(huì)員注冊(cè),登錄,若丟失密碼時(shí)找回密碼。</p><p>  后臺(tái)系統(tǒng)管理員對(duì)數(shù)據(jù)的處理及維護(hù):</p><p><b>  1.系統(tǒng)設(shè)置</b>

21、;</p><p>  對(duì)數(shù)據(jù)庫(kù)備份與還原,操作日志的查看,管理員信息的查詢,詳細(xì)信息查看,新增管理員,刪除不用的管理員信息,對(duì)管理員密碼的修改。</p><p><b>  2.基本資料管理</b></p><p>  員工信息管理,供應(yīng)商信息管理,可以對(duì)該項(xiàng)目中進(jìn)行查詢(包括模糊查詢),添加,修改,刪除及導(dǎo)出數(shù)據(jù)等操作</p>

22、<p><b>  3.銷售管理</b></p><p>  今日訂單提醒,能夠及時(shí)獲取當(dāng)日的訂單信息,及時(shí)的對(duì)訂單進(jìn)行發(fā)貨(包括單單發(fā)貨和多單發(fā)貨)。寵物銷售管理,記錄寵物的銷售情況,對(duì)銷售記錄進(jìn)行添加,修改,刪除等操作。寵物用品銷售管理,記錄用品的銷售情況,對(duì)其銷售記錄進(jìn)行添加,修改,刪除等操作。當(dāng)對(duì)訂單發(fā)貨或者是添加銷售記錄是均會(huì)對(duì)庫(kù)存進(jìn)行判斷。只有在庫(kù)存量大于訂單訂購(gòu)量或

23、銷售量時(shí)才能操作成功。</p><p><b>  4.庫(kù)存信息管理</b></p><p>  寵物基本信息管理,添加新上架的寵物信息,刪除不需要的寵物信息,發(fā)現(xiàn)錯(cuò)誤信息能進(jìn)行修改,也可以導(dǎo)出寵物信息。寵物用品信息管理,可以對(duì)新上架的用品進(jìn)行及時(shí)添加,修改數(shù)據(jù),對(duì)已過(guò)時(shí),或長(zhǎng)久不用的用品信息進(jìn)行刪除,也可以導(dǎo)出寵物用品信息。</p><p>

24、<b>  5.咨詢中心模塊、</b></p><p>  包括公司新聞信息維護(hù)和護(hù)養(yǎng)常識(shí)信息維護(hù)。包括公司新聞信息維護(hù)和護(hù)養(yǎng)常識(shí)信息維護(hù)。員工可以通過(guò)此模塊更清晰的了解公司的最新動(dòng)態(tài),用戶則可以看到很多最新上市的商品,以及一些關(guān)于寵物的趣聞和養(yǎng)護(hù)知識(shí)。</p><p> ?。ㄋ模╅_(kāi)發(fā)環(huán)境軟件需求</p><p>  操作系統(tǒng):操作系統(tǒng):Win

25、dows XP/ Windows 2003。</p><p>  數(shù)據(jù)庫(kù):SQL Server 2005。</p><p>  開(kāi)發(fā)工具:Microsoft Visual Studio 2008。</p><p>  輔助開(kāi)發(fā)工具:Photoshop CS2、Flash8。</p><p><b>  三、系統(tǒng)設(shè)計(jì)</b>

26、;</p><p> ?。ㄒ唬┫到y(tǒng)功能模塊圖</p><p>  根據(jù)上述系統(tǒng)功能的需求分析,按照結(jié)構(gòu)化程序設(shè)計(jì)的需求,得到如下的系統(tǒng)模塊圖。</p><p>  1.前臺(tái)主要分為會(huì)員管理,商品展示,購(gòu)買流程,新聞瀏覽四大功能模塊。如圖3-1所示。</p><p>  其中會(huì)員管理模塊包括了會(huì)員登錄、會(huì)員注冊(cè)、會(huì)員找回密碼、注銷用戶等功能。商

27、品展示主要是對(duì)寵物及寵物用品進(jìn)行展示,包括熱銷寵物,促銷商品等的分類展示及詳細(xì)介紹。購(gòu)買流程主要針對(duì)會(huì)員購(gòu)買商品時(shí)所進(jìn)行的一系列的操作。包括寵物用品的詳細(xì)介紹及選購(gòu),購(gòu)物車管理,填寫訂單并提交。新聞瀏覽模塊主要介紹公司新聞,公司簡(jiǎn)介及寵物的護(hù)養(yǎng)常識(shí)。</p><p>  2.后臺(tái)主要分為基本信息管理,銷售管理,庫(kù)存管理個(gè)系統(tǒng)管理四大功能模塊,如圖3-1所示。</p><p>  其中基本信

28、息管理模塊主要包括會(huì)員的基本信息,供應(yīng)商信息管理,公司新聞的發(fā)布,護(hù)養(yǎng)常識(shí)的管理等模塊。銷售管理模塊主要包括對(duì)訂單的管理,寵物銷售記錄的管理和寵物用品銷售記錄的管理。庫(kù)存管理模塊主要包括寵物信息的管理和寵物用品信息的管理。系統(tǒng)管理模塊主要有對(duì)數(shù)據(jù)庫(kù)的備份與還原,操作日志的記錄。</p><p><b>  圖3-1功能模塊圖</b></p><p><b>

29、 ?。ǘ┫到y(tǒng)活動(dòng)圖</b></p><p>  1.管理員活動(dòng)圖,如圖3-2所示。</p><p>  圖3-2管理員活動(dòng)圖</p><p>  2.會(huì)員活動(dòng)圖,如圖3-3所示。</p><p><b>  圖3-3會(huì)員活動(dòng)圖</b></p><p>  3.一般用戶活動(dòng)圖,如圖3-

30、4所示。</p><p><b>  圖3-4會(huì)員活動(dòng)圖</b></p><p><b> ?。ㄈ┫到y(tǒng)用例圖</b></p><p>  1.管理員用例圖,如圖3-5所示</p><p>  管理員用例圖指出管理員進(jìn)入系統(tǒng)后,可進(jìn)行的操作的信息。</p><p>  圖3-

31、5管理員用例圖</p><p>  2.會(huì)員用例圖,如圖3-6所示</p><p><b>  圖3-6會(huì)員用例圖</b></p><p><b>  四、數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)的設(shè)計(jì)經(jīng)過(guò)我們的分析,將系統(tǒng)中涉及的功能表現(xiàn)出來(lái),其中表的建立尤為重要。</p>&

32、lt;p>  數(shù)據(jù)庫(kù)表的建立不僅是字段的建立,表與表之間的關(guān)系也不可或缺。主鍵、外鍵的關(guān)系需要謹(jǐn)慎建立。創(chuàng)建外鍵關(guān)系即是將各表與表之間聯(lián)系起來(lái)。表與表之間一旦脫離了外鍵之間的關(guān)系而獨(dú)立,那么系統(tǒng)之間的功能也將難以完成。</p><p><b> ?。ㄒ唬〦-R圖模型</b></p><p>  E-R圖簡(jiǎn)潔的反映出整個(gè)流程的概況和系統(tǒng)中所有實(shí)體之間相對(duì)應(yīng)的關(guān)系,

33、綜合了管理員、員工、會(huì)員、一般用戶在整個(gè)系統(tǒng)中的聯(lián)系和各自的安排把系統(tǒng)的內(nèi)部聯(lián)系明了化。</p><p>  圖4-1 E-R模型圖</p><p><b>  (二)數(shù)據(jù)庫(kù)模型圖</b></p><p>  圖中顯示了數(shù)據(jù)庫(kù)中有哪些表,各張表在數(shù)據(jù)庫(kù)中的聯(lián)系,即他們之間的主外鍵關(guān)系。</p><p>  圖4-2 數(shù)據(jù)

34、庫(kù)模型圖</p><p>  五、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  (一)數(shù)據(jù)庫(kù)表設(shè)計(jì)</b></p><p>  經(jīng)過(guò)分析,系統(tǒng)中建立了數(shù)據(jù)庫(kù)PetData,如圖5-1所示。</p><p>  圖5-1 PetData數(shù)據(jù)庫(kù)</p><p>  下面是幾張主要的表:</p&

35、gt;<p>  1. 會(huì)員表(CustomerInfo):</p><p>  2. 寵物用品信息表(PetGoods):</p><p>  3. 寵物信息表(PetInfo):</p><p>  4. 訂單表(OrderInfo):</p><p>  5. 商品銷售表(GoodsSell):</p>&l

36、t;p>  6. 寵物銷售記錄表(PetSell):</p><p> ?。ǘ┣芭_(tái)主頁(yè)面的搭建</p><p>  前臺(tái)界面均以黃色為主色調(diào),色彩鮮明,主頁(yè)面主要展示部分熱銷寵物和正在促銷的寵物用品。同時(shí)還具有搜索和會(huì)員登錄的功能。在個(gè)性化設(shè)計(jì)方面又加了一個(gè)小日歷小巧玲瓏。</p><p>  頁(yè)面的搭建采用div/css模式并應(yīng)用了JavaScript特效

37、。同時(shí)還靈活應(yīng)用了母版和自定義控件。使頁(yè)面搭建更方便,也使得頁(yè)面統(tǒng)一美觀(如圖5-2所示)。</p><p>  圖5-2 前臺(tái)主頁(yè)面</p><p> ?。ㄈ┖笈_(tái)的主框架的搭建</p><p>  色彩采用藍(lán)色為主色調(diào),并以淡藍(lán)色為主,整體給人以活潑,輕松,舒適的感覺(jué)(如圖5-3所示)。頁(yè)面的搭建采用div/css和frameset模式,并且應(yīng)用了JavaScr

38、ipt特效。</p><p>  左側(cè)導(dǎo)航,各個(gè)功能模塊一目了然。頭部首頁(yè)可以鏈接到前臺(tái)的某寵物網(wǎng)站首頁(yè),并有前進(jìn),后退及刷新等功能。還特意加了一個(gè)日期特效,能夠清楚知道具體日期。</p><p>  圖5-3 后臺(tái)主框架頁(yè)面</p><p>  (四)后臺(tái)的主要基本功能與實(shí)現(xiàn)</p><p><b>  1.管理員登錄</b

39、></p><p>  頁(yè)面色彩與主頁(yè)面一樣同樣以談藍(lán)色為主色調(diào),如圖5-4所示。</p><p><b>  圖5-4 登錄界面</b></p><p>  該登錄界面還具有記住密碼的功能,在UI層編寫一個(gè)BasePage類用來(lái)存放公用的代碼,從而達(dá)到代碼的復(fù)用性。其主要代碼如下所示:</p><p>  pub

40、lic class BasePage : System.Web.UI.Page</p><p><b>  {</b></p><p>  Public void DoLogin(string paramUserName, string paramPasswor, bool paramPersistCookie)</p><p><b&g

41、t;  {</b></p><p>  StaffManager myBUStaff = new StaffManager();</p><p><b>  try</b></p><p><b>  {</b></p><p>  myBUStaff.DoLogin(paramUser

42、Name, paramPasswor);</p><p><b>  }</b></p><p><b>  catch</b></p><p><b>  {</b></p><p><b>  throw;</b></p><p&g

43、t;<b>  }</b></p><p>  if (myBUStaff.ID.Length > 0)</p><p><b>  { </b></p><p>  string UserKey = Guid.NewGuid().ToString();</p><p>  if (Comm

44、onMethod.CurrentUser.ContainsKey(myBUStaff.ID))</p><p><b>  {</b></p><p>  CommonMethod.CurrentUser[myBUStaff.ID] = UserKey;</p><p>  Session["UserKey"] = User

45、Key;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  CommonMethod.CurrentUser.Add(myBUStaff.ID, UserKey);</p>

46、;<p>  Session["UserKey"] = UserKey;</p><p><b>  }</b></p><p>  this.Themes = BUSystemInfo.getThemes(myBUStaff.Theme); </p><p>  this.SetSession(myBUSta

47、ff.ID, myBUStaff.UserName, myBUStaff.FullName, myBUStaff.OperatorType, "");</p><p>  System.Web.Security.FormsAuthentication.SetAuthCookie(myBUStaff.UserName, false);</p><p>  this.Get

48、SystemInfo();</p><p>  if (paramPersistCookie)</p><p><b>  {</b></p><p>  this.SaveCookie(paramUserName, paramPasswor);</p><p><b>  }</b></p&

49、gt;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  this.ClearCookie();</p><p>  FormsAuthentication.SignOut();

50、</p><p>  Session.Abandon();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  protected void btnLogin_Cli

51、ck(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string userName = this.txtUserName.Text.Trim();</p><p>  string passWord = this.txtPassWord.Text.Trim();</p&

52、gt;<p>  this.LoginSystem(userName, passWord);</p><p><b>  }</b></p><p>  protected void LoginSystem(string paramUserName, string paramPassWord)</p><p><b> 

53、 {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  base.DoLogin(paramUserName, paramPassWord, false);</p><p>  if (Request["Action

54、"] != null && Request["Key"] != null)</p><p><b>  {</b></p><p>  string Word = string.Empty;</p><p>  string UserInfo = Session["OperatorID&q

55、uot;].ToString() + "+" + paramPassWord;</p><p>  string key = Request["Key"].ToString();</p><p>  LindonSoft.SubstrateLayer.DALayer.DataCrypto myDataCryto = new LindonSoft.Su

56、bstrateLayer.DALayer.DataCrypto();</p><p>  myDataCryto.Key = key;</p><p>  Word = myDataCryto.Decrypto(UserInfo);</p><p>  Response.Redirect(Request["Action"].ToString()

57、+ "?Action=" + Word); </p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Response.Redire

58、ct(this.GetBaseUrl() + "Manager/Main.aspx", false);</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exception myException)</p><p>

59、<b>  {</b></p><p>  if (myException.Message == "密碼錯(cuò)誤")</p><p><b>  {</b></p><p>  this.txtPassWord.Focus();</p><p>  this.lblError.Tex

60、t = myException.Message;</p><p>  this.lblError.Visible = true;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

61、<p>  this.txtUserName.Text = string.Empty;</p><p>  this.txtPassWord.Text = string.Empty;</p><p>  this.txtUserName.Focus();</p><p>  this.lblError.Text = myException.Message;

62、</p><p>  this.lblError.Visible = true;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  (2)數(shù)據(jù)庫(kù)備份與還原</

63、p><p>  備份數(shù)據(jù)庫(kù),可以選擇數(shù)據(jù)庫(kù)的名稱及備份文件的保存路徑,如圖5-5所示。</p><p>  圖5-5 備份數(shù)據(jù)庫(kù)</p><p>  選擇好數(shù)據(jù)庫(kù)及文件保存路徑后點(diǎn)擊數(shù)據(jù)備份按鈕即可,只需要UI就可以實(shí)現(xiàn)數(shù)據(jù)的連接、加載。主要代碼如下:</p><p>  protected void btnConfirm_Click(objec

64、t sender, EventArgs e)</p><p><b>  {</b></p><p>  string SqlStr1 = "Server=.;database=" + this.DropDownList1.SelectedValue + ";Uid=sa;Pwd=123";</p><p&g

65、t;  string SqlStr2 = " backup database " + this.DropDownList1.SelectedValue + " to disk='" + this.TextBox1.Text.Trim() + ".bak'";</p><p>  SqlConnection con = new SqlCon

66、nection(SqlStr1);</p><p>  con.Open();</p><p><b>  try</b></p><p><b>  {</b></p><p>  if (File.Exists(this.TextBox1.Text.Trim()))</p><

67、;p><b>  {</b></p><p>  Response.Write("<script language=javascript>alert('此文件已存在,請(qǐng)從新輸入!');</script>");</p><p><b>  return;</b></p>

68、<p><b>  }</b></p><p>  SqlCommand com = new SqlCommand(SqlStr2, con);</p><p>  com.ExecuteNonQuery();</p><p>  Response.Write("<script language=javascript

69、>alert('備份數(shù)據(jù)成功!');</script>");</p><p><b>  }</b></p><p>  catch (Exception error)</p><p><b>  {</b></p><p>  Response.Writ

70、e(error.Message);</p><p>  Response.Write("<script language=javascript>alert('備份數(shù)據(jù)失敗!')</script>");</p><p><b>  }</b></p><p><b>  fin

71、ally</b></p><p><b>  {</b></p><p>  con.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  還原數(shù)據(jù)庫(kù),可以選擇需要還原的數(shù)據(jù)庫(kù)以

72、及還原文件的存放路徑,如圖5-6所示。</p><p>  圖5-6 還原數(shù)據(jù)庫(kù)</p><p><b>  主要代碼如下:</b></p><p>  只需要UI就可以實(shí)現(xiàn)數(shù)據(jù)的連接、加載</p><p>  protected void btnConfirm_Click(object sender, EventArg

73、s e)</p><p><b>  {</b></p><p>  string path = this.FileUpload1.PostedFile.FileName; //獲得備份路徑及數(shù)據(jù)庫(kù)名稱</p><p>  string dbname = this.DropDownList1.SelectedValue;</p>

74、<p>  string SqlStr1 = "Server=.;database='" + this.DropDownList1.SelectedValue + "';Uid=sa;Pwd=123";</p><p>  string SqlStr2 = "use master restore database " + dbn

75、ame + " from disk='" + path + "'";</p><p>  SqlConnection con = new SqlConnection(SqlStr1);</p><p>  con.Open();</p><p><b>  try</b></p>

76、;<p><b>  {</b></p><p>  SqlCommand com = new SqlCommand(SqlStr2, con);</p><p>  com.ExecuteNonQuery();</p><p>  Response.Write("<script language=javascri

77、pt>alert('還原數(shù)據(jù)成功!');</script>");</p><p><b>  }</b></p><p>  catch (Exception error)</p><p><b>  {</b></p><p>  Response.Wr

78、ite(error.Message);</p><p>  Response.Write("<script language=javascript>alert('還原數(shù)據(jù)失敗!')</script>");</p><p><b>  }</b></p><p><b>  f

79、inally</b></p><p><b>  {</b></p><p>  con.Close();</p><p><b>  }</b></p><p><b>  }</b></p><p> ?。?)寵物信息的維護(hù)</p&

80、gt;<p>  包括對(duì)寵物信息的查詢,模糊查詢,添加,修改,刪除,批量刪除,導(dǎo)出數(shù)據(jù)等操作。還有針對(duì)頁(yè)面顯示而做的一些功能,包括頁(yè)面顯示的行數(shù),跳轉(zhuǎn)頁(yè)面等。具體實(shí)例圖,如圖5-7所示。</p><p>  5-7 寵物信息查詢界面</p><p>  查詢時(shí)如在寵物編號(hào)和名字中均為空白,此時(shí)查詢的是全部的數(shù)據(jù),如果輸入內(nèi)容就是按條件查詢。具體的實(shí)現(xiàn)代碼如下:</p&g

81、t;<p>  在UI層獲取兩個(gè)TextBox里面的值(若無(wú)值即為空),傳到BU層。將查詢到的內(nèi)容加載到gridview里面。</p><p>  protected void btnSearth_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  thi

82、s.myQueryData = new PetInfoQueryData(this.txtPetID.Text.Trim(),this.txtPetName.Text.Trim());</p><p>  this.BindGrid(1, 10);</p><p><b>  }</b></p><p>  public void BindGr

83、id(int paramPageIndex, int paramPageSize)</p><p><b>  {</b></p><p>  PetInfoManager myPetInfo = new PetInfoManager();</p><p>  DataSet myDs = myPetInfo.Search(null, this

84、.myQueryData);</p><p>  this.Master.BindData(this.grdvMessage, myDs.Tables[0].DefaultView);</p><p><b>  }</b></p><p>  在BU層打開(kāi)數(shù)據(jù)庫(kù)連接并執(zhí)行sql語(yǔ)句,將執(zhí)行結(jié)果放入到BaseDBCon中,并返回。主要代碼如下:

85、</p><p>  public DataSet Search(BaseDBCon myBaseDBCon, PetInfoQuery QueryData)</p><p><b>  { </b></p><p>  string strQuery = @"SELECT "</p><p>  +

86、 PetInfo.ID_FULL + ","</p><p><b>  ……</b></p><p>  + PetInfo .Deta_introduce_FULL </p><p>  + " FROM " + PetInfo.TABLENAME + " WHERE 1 = 1 "

87、;;</p><p>  bool DbCloce = myBaseDBCon == null;</p><p>  Hashtable myParam = new Hashtable();</p><p>  if (QueryData.PetID.Length > 0)</p><p><b>  {</b>&

88、lt;/p><p>  strQuery += " AND " +PetInfo.PetID_FULL + " LIKE @PetID ";</p><p>  myParam.Add("@PetID", "%" + QueryData.PetID.Replace(" ", "%&q

89、uot;) + "%");</p><p><b>  }</b></p><p><b>  ……</b></p><p>  DataSet myDs = new DataSet();</p><p><b>  try</b></p>&

90、lt;p><b>  {</b></p><p>  myBaseDBCon = BaseDBCon.Instance(myBaseDBCon);</p><p>  myBaseDBCon.Fill(strQuery, myDs, PetInfo.TABLENAME, myParam);</p><p>  myBaseDBCon.Co

91、mmitTransaction(DbCloce);</p><p><b>  }</b></p><p>  catch (Exception myEx)</p><p><b>  {</b></p><p>  myBaseDBCon.RollBackTransaction(DbCloce);

92、</p><p>  throw new Exception(myEx.Message + "\r\n SQL:" + strQuery);</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {<

93、;/b></p><p>  myBaseDBCon.Close(DbCloce);</p><p><b>  }</b></p><p>  return myDs;</p><p><b>  }</b></p><p>  當(dāng)數(shù)據(jù)過(guò)多存在無(wú)用數(shù)據(jù)時(shí)可對(duì)數(shù)據(jù)進(jìn)行刪

94、除,先在gridview的第一列的CheckBox中選中要?jiǎng)h除的相,然后點(diǎn)擊刪除按鈕。</p><p><b>  主要代碼如下:</b></p><p>  protected void btnDel_Click(object sender, EventArgs e)</p><p><b>  {</b></p&

95、gt;<p>  ArrayList Ids = base.GetSelectedIds(this.grdvMessage);</p><p>  PetInfoManager myPetInfo = new PetInfoManager();</p><p>  myPetInfo.BatchDel(null, Ids);</p><p>  thi

96、s.BindGrid(1, 10);</p><p><b>  }</b></p><p>  當(dāng)需要添加寵物信息時(shí),點(diǎn)擊右下角的添加按鈕,會(huì)轉(zhuǎn)到寵物信息操作頁(yè)面,如圖5-8所示。</p><p>  錄入寵物信息包括寵物編號(hào),全稱,別名,類型,原產(chǎn)地,庫(kù)存量,照片,詳細(xì)介紹等。寵物編號(hào)均由該寵物英文名字的前三個(gè)字母加數(shù)字組成。</p&

97、gt;<p>  圖5-8 寵物信息操作頁(yè)面</p><p>  在文本框中輸入信息后,點(diǎn)擊添加數(shù)據(jù)首先添加到GridView的控件中,你可以進(jìn)行數(shù)據(jù)的核對(duì),核對(duì)無(wú)誤后點(diǎn)擊保存即可保存到數(shù)據(jù)庫(kù)中,并且返回到寵物信息頁(yè)面,即可看到剛剛添加的數(shù)據(jù)。 </p><p><b>  主要代碼如下:</b></p><p><b>

98、;  UI層:</b></p><p>  PetInfoManager myPetInfo= new PetInfoManager();</p><p>  myPetInfo = this.GetPageValue(myPetInfo);</p><p>  int returnValue = myPetInfo.InsertPetInfo(myPe

99、tInfo);</p><p>  if (returnValue > 0)</p><p><b>  {</b></p><p>  this.Clear();</p><p>  this.Alert("添加成功", "Saved");base.JsWrite(&quo

100、t;window.location.href='UIPetInfoManager.aspx?IsPageBack=1';window.close();", "Close");</p><p><b>  }</b></p><p><b>  BU層:</b></p><p>

101、  public int InsertPetInfo(PetInfoData myPetInfoData)</p><p><b>  {</b></p><p>  int returnValue = 0;</p><p>  string sqlQuery = @" INSERT INTO [PetInfo]([PetID],[P

102、etName],[OtherName],[Height],[Type],[Life] ,[Variety],[PetFunction],[Source_area],[PetSupplierID],[Stock],[PetImage] ,[Price],[Remark],[Deta_introduce])</p><p>  VALUES ('" + myPetInfoData.PetID + &

103、quot;','" + myPetInfoData.PetName + "','" + myPetInfoData.OtherName + "','" + myPetInfoData.Height + "','" + myPetInfoData.Type + "','"

104、; + myPetInfoData.Life + "','" + myPetInfoData.Variety + "','" + myPetInfoData.PetFunction + "','" + myPetInfoData.Source_area + "','" + myPetInfoDa

105、ta.PetSupplierID + "','" + myPetInfoData.Stock + "','" + myPetInfoData.PetImage + "','" + myPetInfoData.Price + "','

106、;" + myPetInfoData.Remark + "','"</p><p>  returnValue = this.ExecuteNonQuery(sqlQuery);</p><p>  return returnValue;</p><p><b>  }</b></p>

107、<p><b>  }</b></p><p>  如果寵物信息有錯(cuò)誤,可以點(diǎn)擊gridview中的修改圖片,進(jìn)入到寵物信息操作頁(yè)面(如圖所示),然后對(duì)數(shù)據(jù)進(jìn)行修改確定信息修改正確后點(diǎn)擊保存按鈕,修改的數(shù)據(jù)會(huì)直接保存到數(shù)據(jù)庫(kù),然后直接返回到寵物信息頁(yè)面,數(shù)據(jù)會(huì)直接顯示出來(lái)。</p><p><b>  主要代碼如下:</b></

108、p><p>  public void SetPageValue(PetInfoManager paramPetInfo) </p><p><b>  {</b></p><p>  this.txtPetID.Text = paramPetInfo.PetID.ToString();</p><p><b> 

109、 ……</b></p><p>  this.Image1.ImageUrl = paramPetInfo.PetImage;</p><p>  if (this.Image1.ImageUrl == "")</p><p><b>  {</b></p><p>  this.Imag

110、e1.ImageUrl = "../Image/暫無(wú)圖片.jpg";</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  this.Image1.ImageUrl

111、= paramPetInfo.PetImage;</p><p><b>  }</b></p><p><b>  } </b></p><p>  public PetInfoManager GetPageValue(PetInfoManager paramPetInfo)</p><p>&l

112、t;b>  {</b></p><p>  paramPetInfo.PetID = this.txtPetID.Text;</p><p><b>  ……</b></p><p>  this.Image1.Visible = true;</p><p>  if (this.Image1.Imag

113、eUrl == "")</p><p><b>  {</b></p><p>  this.Image1.ImageUrl = "../Image/暫無(wú)圖片.jpg";</p><p><b>  }</b></p><p>  paramPetInfo.P

114、etImage = this.Image1.ImageUrl; </p><p>  return paramPetInfo;</p><p><b>  }</b></p><p>  if(this.ID.Length > 0)</p><p><b>  {</b></p>

115、<p>  myPetInfo.Get(null, this.ID);</p><p><b>  }</b></p><p><b>  try</b></p><p><b>  { </b></p><p>  myPetInfo.Save(null);<

116、;/p><p>  this.Clear();</p><p>  this.Alert("保存成功", "Saved");base.JsWrite("window.location.href='UIPetInfoManager.aspx?IsPageBack=1';window.close();", "Cl

117、ose");</p><p><b>  }</b></p><p>  catch (Exception myException)</p><p><b>  {</b></p><p>  ExceptionManager.Throw(this.OperatorID, "維護(hù)

118、", myException);</p><p>  this.Alert("保存失敗,此次操作無(wú)效!", "Error");</p><p><b>  }</b></p><p><b> ?。?)訂單管理</b></p><p>  主要有查詢

119、訂單,對(duì)訂單發(fā)貨,刪除不需要的訂單及導(dǎo)出訂單信息等幾個(gè)功能,如圖5-9所示。其中訂單的發(fā)貨可以是單一訂單發(fā)貨也可以多單發(fā)貨,當(dāng)選中一條記錄時(shí)可以查看該訂單詳細(xì)信息。如果尚未發(fā)貨可以直接對(duì)其進(jìn)行發(fā)貨。也可以返回到主頁(yè)進(jìn)行多單發(fā)貨。</p><p>  圖5-9 訂單查詢頁(yè)面</p><p>  需要單一訂單發(fā)貨時(shí)先選中需要發(fā)貨的訂單然后點(diǎn)擊去發(fā)貨,進(jìn)入到訂單詳細(xì)信息界面。如果該訂單已發(fā)貨此時(shí)

120、的界面顯示如圖5-10所示,若該訂單未發(fā)貨此時(shí)的界面如圖5-11所示。</p><p>  圖5-10 已發(fā)貨訂單頁(yè)面</p><p>  已發(fā)貨的訂單只能查看訂單信息,不能進(jìn)行任何操作,以免對(duì)同一訂單重復(fù)發(fā)貨。</p><p>  圖5-11 未發(fā)貨訂單頁(yè)面</p><p>  未發(fā)貨的訂單要想發(fā)貨可以將是否已發(fā)貨選項(xiàng)改為‘1’,然后點(diǎn)擊確

121、認(rèn)信息并發(fā)貨,頁(yè)面會(huì)自動(dòng)跳轉(zhuǎn)到訂單信息頁(yè)面。</p><p>  多單發(fā)貨的主要代碼如下:</p><p><b>  UI層:</b></p><p>  protected void btnShip_Click(object sender, EventArgs e)</p><p><b>  {</

122、b></p><p>  int returnValue = 0;</p><p>  OrderInfoManager myOrderInfo = new OrderInfoManager();</p><p>  ArrayList myArrayList = this.GetID();</p><p>  if (myArrayL

123、ist.Count == 0)</p><p><b>  {</b></p><p>  Response.Write("<script>alert('請(qǐng)選擇您要發(fā)貨的訂單')</script>");</p><p><b>  return;</b></

124、p><p><b>  }</b></p><p>  foreach (string paramStr in myArrayList)</p><p><b>  {</b></p><p>  returnValue += myOrderInfo.UpdateOrderInfoTwo(paramSt

125、r);</p><p><b>  }</b></p><p>  if (returnValue == myArrayList.Count)</p><p><b>  {</b></p><p>  UpdateGoodsStock();</p><p>  Respon

126、se.Write("<script>alert('發(fā)貨成功')</script>");</p><p><b>  }</b></p><p>  this.BindGrid(1, 10);</p><p><b>  }</b></p><p

127、><b>  BU層:</b></p><p>  public int UpdateOrderInfoTwo(string paramID)</p><p><b>  {</b></p><p>  string sqlQuery = " update OrderInfo set IsSend='

128、;1' where OrderID='" + paramID + "' ";</p><p>  int returnValue = this.ExecuteNonQuery(sqlQuery);</p><p>  return returnValue;</p><p><b>  }</b&g

129、t;</p><p>  發(fā)貨之后聯(lián)動(dòng)該商品的庫(kù)存量,該功能的主要代碼如下:</p><p><b>  UI層:</b></p><p>  GoodsSellManager myGoodsSell = new GoodsSellManager();</p><p>  private int UpdateGoodsS

130、tock()</p><p><b>  {</b></p><p>  int returnValue = 0;</p><p>  OrderInfoManager myOrderInfo = new OrderInfoManager();</p><p>  ArrayList myArrayList = this

131、.GetID();</p><p>  foreach (string paramStr in myArrayList)</p><p><b>  {</b></p><p>  string paramGoodsName = myOrderInfo.GetGoodsIDTwo(paramStr).Tables[0].Rows[0][0].T

溫馨提示

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