網(wǎng)上書店系統(tǒng)論文_第1頁
網(wǎng)上書店系統(tǒng)論文_第2頁
網(wǎng)上書店系統(tǒng)論文_第3頁
網(wǎng)上書店系統(tǒng)論文_第4頁
網(wǎng)上書店系統(tǒng)論文_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

德州職業(yè)技術(shù)學院畢業(yè)設(shè)計論文網(wǎng)上書店系統(tǒng)PAGE32PAGE33網(wǎng)上書店系統(tǒng)目錄摘要 2第一章緒論 31.1設(shè)計思想 31.2開發(fā)工具的選用及介紹 41.3系統(tǒng)開發(fā)環(huán)境及配置 4第二章需求分析 52.1開發(fā)該系統(tǒng)的依據(jù)及意義 52.2網(wǎng)上書店的現(xiàn)狀 62.3網(wǎng)上購書的優(yōu)勢 6第三章網(wǎng)上書店的設(shè)計與實現(xiàn) 93.1畢業(yè)設(shè)計總體功能結(jié)構(gòu)圖,如圖3-1 93.2畢業(yè)設(shè)計功能設(shè)計目標 103.3畢業(yè)設(shè)計功能模塊劃分 103.3.1用戶功能 103.3.2管理員功能 11第四章數(shù)據(jù)庫設(shè)計與實現(xiàn) 134.1數(shù)據(jù)庫的需求分析 134.2數(shù)據(jù)庫應用系統(tǒng)開發(fā)簡介 134.3數(shù)據(jù)庫系統(tǒng)設(shè)計及范式分析 144.3.1數(shù)據(jù)庫系統(tǒng)設(shè)計 144.3.2數(shù)據(jù)庫設(shè)計范式分析 164.4數(shù)據(jù)庫連接 184.5數(shù)據(jù)表設(shè)計 19第五章系統(tǒng)設(shè)計與安裝 225.1前臺銷售管理系統(tǒng)的設(shè)計與實現(xiàn) 225.1.1注冊用戶關(guān)鍵代碼 225.1.2用戶登陸關(guān)鍵代碼 235.1.3購物車(訂單)子系統(tǒng) 245.1.4圖書瀏覽檢索子系統(tǒng)的實現(xiàn) 265.2后臺管理系統(tǒng)的實現(xiàn) 27致謝 32參考文獻 33摘要本文首先介紹了網(wǎng)上書店平臺的開發(fā)背景和基礎(chǔ),并介紹了網(wǎng)上書店的設(shè)計過程,最終目的是實現(xiàn)人們能遠程瀏覽書店并購買。傳統(tǒng)的購書方式需要人們付出時間四處去書店尋找圖書,而這些對于越來越繁忙的都市人來說是一種浪費。隨著網(wǎng)絡(luò)的普及以及人們生活質(zhì)量的提高,越來越多的消費者意識到網(wǎng)上購書的快捷。本文所開發(fā)的系統(tǒng)的主要是幫助經(jīng)營實物書店的人們擴大市場和增加知名度。本系統(tǒng)主要為用戶提供了會員注冊,購物車管理,商品搜索,用戶資料修改等功能,為管理員提供了商品管理,用戶信息管理,訂單管理等功能。關(guān)鍵詞:網(wǎng)上書店,購書系統(tǒng)電子商務,數(shù)據(jù)庫第一章緒論隨著中國加入WTO,全球經(jīng)濟一體化的逐步深入,網(wǎng)上書店已是現(xiàn)代傳統(tǒng)書店必不可少的經(jīng)營策略。目前,網(wǎng)上書店在國際互聯(lián)網(wǎng)上可以實現(xiàn)的商務功能已經(jīng)多樣化,可以說從最基本的對外溝通展示功能、信息發(fā)布功能,在線圖書展示功能、在線洽談功能、在線交易功能、在線采購功能、在線客戶服務功能、在線網(wǎng)站管理功能等等,幾乎以往傳統(tǒng)書店功能都可以在互聯(lián)網(wǎng)上進行電子化的高效運作。技術(shù)的進步對傳統(tǒng)書店上網(wǎng)解決方案提出更嚴格的要求和挑戰(zhàn)。為了保護傳統(tǒng)書店的投資,書店上網(wǎng)解決方案應切合傳統(tǒng)書店實際的需求和發(fā)展的趨向,使投入回報和管理效益最大化,傳統(tǒng)書店在實施上網(wǎng)方案的之前,必須對一系列問題進行科學的論證,如網(wǎng)上書店的需求分析、網(wǎng)上書店總體規(guī)劃、網(wǎng)上書店系統(tǒng)的功能和實施方案、網(wǎng)上書店的傳播與推廣、運行網(wǎng)上書店系統(tǒng)的軟件和硬件配置、網(wǎng)上書店的管理系統(tǒng)和管理方法等等。網(wǎng)上書店具體實施的指數(shù)直接影響傳統(tǒng)書店在Internet的實際效果和經(jīng)濟效益,這不僅是技術(shù)問題,同時也涉及到管理的因素。綜上所述,網(wǎng)上書店已經(jīng)成為互聯(lián)網(wǎng)時代傳統(tǒng)書店的必由之路。1.1設(shè)計思想(1)書店前臺功能強大、操作方便前臺作為與用戶直接交互的界面,在考慮功能的同時,也考慮了操作的簡潔和方便性,目的是讓大多數(shù)不在懂電腦操作的客戶,也能輕松的享受電子商務給他們帶來的便利。(2)書店后臺本系統(tǒng)后臺管理在考慮書店管理操作簡便的同時,提供了強大的書店管理模式。它包括用戶管理、圖書目錄管理、圖書信息錄入管理、書店定單管理、圖書的瀏覽和查找、書店購物結(jié)帳功能等。1.2開發(fā)工具的選用及介紹ASP.NET是ASP的下一代版本,然而ASP.NET又并非從ASP3.0自然演化而來,在許多方面,ASP.NET與ASP有著本質(zhì)的不同。ASP.NET完全基于模塊與組件,具有更好的可擴展性與可定制性,數(shù)據(jù)處理方面更是引入了許多激動人心的新技術(shù),正是這些具有革新意義的新特性,讓ASP.NET遠遠超越了ASP,同時也提供給web開發(fā)人員更好的靈活性,有效縮短了web應用程序的開發(fā)周期。ASP.NET與Windows2000Server/AdvancedServer的完美組合,為中小型乃至企業(yè)級的web商業(yè)模型提供了一個更為穩(wěn)定,高效,安全的運行環(huán)境。ASP.NET是統(tǒng)一的Web應用程序平臺,它提供了為建立和部署企業(yè)級Web應用程序所必需的服務。ASP.NET為能夠面向任何瀏覽器或設(shè)備的更安全的、更強的可升級性、更穩(wěn)定的應用程序提供了新的編程模型和基礎(chǔ)結(jié)構(gòu)。ASP.NET是Microsoft.NETFramework的一部分,是一種可以在高度分布的Internet環(huán)境中簡化應用程序開發(fā)的計算環(huán)境。.NETFramework包含公共語言運行庫,它提供了各種核心服務,如內(nèi)存管理、線程管理和代碼安全。它也包含.NETFramework類庫,這是一個開發(fā)人員用于創(chuàng)建應用程序的綜合的、面向?qū)ο蟮念愋图稀?.3系統(tǒng)開發(fā)環(huán)境及配置首先ASP.NET的運行環(huán)境:Win2000Server+IIS(Win2000Server中IIS是默認安裝)/Win2000AdvanceServer+IIS(這里IIS也是默認安裝)/WinXP+IIS/Win2003+IIS除了上面的環(huán)境,VisualStudio2005自帶編譯器和Web服務器進行調(diào)試,在部署網(wǎng)站之前,所有工作都可以在VisualStudio2005中完成。部署網(wǎng)站到IIS時,可以直接復制網(wǎng)站,也可以采用ClickOnce部署,兩者的區(qū)別是前者快速方便,后者靈活性較強。第二章需求分析2.1開發(fā)該系統(tǒng)的依據(jù)及意義電子商務并不是一個新概念,可以說,在幾十年前主機系統(tǒng)出現(xiàn)時就誕生了。但是,近年來,Internet的出現(xiàn)給了電子商務以新的活力,基于Internet的電子商務已經(jīng)引起了全世界的注意。電子商務始于網(wǎng)絡(luò)計算。網(wǎng)絡(luò)計算是電子商務的基礎(chǔ)。沒有網(wǎng)絡(luò)計算,就沒有電子商務。其發(fā)展形式多種多樣,從最初的電話、電報到電子郵件以及其后的EDI,都可以說是電子商務的某種發(fā)展形式。電子商務的發(fā)展有其必然性和可能性。傳統(tǒng)的商業(yè)是以手工處理信息為主,并且通過紙上的文字交換信息,但是隨著處理和交換信息量的劇增,該過程變得越來越復雜,這不僅增加了重復勞動量和額外開支,而且也增加了出錯機會,在這種情況下需要一種更加便利和先進的方式來快速交流和處理商業(yè)往來業(yè)務;另一方面,計算機技術(shù)的發(fā)展及其廣泛應用和先進通信技術(shù)的不斷完善及使用導致了EDI和Internet的出現(xiàn)和發(fā)展,全球社會邁入了信息自動化處理的新時代,這又使得電子商務的發(fā)展成為可能。在必然性和可能性的推動下,電子商務得到了較快發(fā)展,特別是近兩年來其發(fā)展速度令世人震驚。雖然如此,電子商務的戰(zhàn)略作用卻是逐漸被全球各國所認識的,而且其今后的發(fā)展道路也是漫長的。隨著信息技術(shù)的發(fā)展,搭上國際網(wǎng)絡(luò)直通車的文化企業(yè)面臨著一場新的革命。網(wǎng)站在促成銷售方面很有價值,因為有絕大部分的消費者在某商場購物之前會事先到該商場的網(wǎng)站中查詢產(chǎn)品信息,實體商店盡管將網(wǎng)站同樣也看作一個銷售渠道,但對于網(wǎng)站的服務投入很少。這主要是由于對電子商務戰(zhàn)略的評價方法存在問題,因為有很多的零售商將銷售額作為網(wǎng)站是否成功的指標,有些公司用利潤來評價。不過,網(wǎng)上零售商不應該將這種信號看作網(wǎng)上零售可以帶來豐厚利潤的信號,盡管在網(wǎng)絡(luò)泡沫膨脹時很多人都這么認為。純粹的網(wǎng)上零售商理應將網(wǎng)站帶來多少利潤作為最重要的業(yè)績考評指標。多渠道零售商應該了解,并非每個瀏覽他們網(wǎng)站的顧客最終都會購買。擁有一個很成功的電子商務網(wǎng)站的零售商,收益將比非交易功能的網(wǎng)站多很多。那些希望將網(wǎng)上交易作為部分業(yè)務內(nèi)容的公司發(fā)現(xiàn),將網(wǎng)上網(wǎng)下集成起來很重要。盡管網(wǎng)上網(wǎng)下相結(jié)合成為不可逆轉(zhuǎn)的趨勢,但是由于集成的費用可能很高,使得許多零售企業(yè)的進程大為減慢,最好在商場內(nèi)部系統(tǒng)軟件已經(jīng)基于網(wǎng)絡(luò)標準更新之后再進行整合,一些大型商場的轉(zhuǎn)型都經(jīng)歷了這個過程。由于無法量化,實體商店不能不考慮他們的網(wǎng)站對商店購買的影響,商店花費有限的網(wǎng)絡(luò)資源支撐網(wǎng)站交易基礎(chǔ)是有代價的,有可能最終失去有購買計劃的顧客,最終將網(wǎng)下市場份額丟失給精明的競爭者。2.2網(wǎng)上書店的現(xiàn)狀出版物網(wǎng)上銷售不僅是傳統(tǒng)銷售渠道的發(fā)展和補充,也是未來圖書銷售的發(fā)展方向目前我國運作和銷售較好的大型網(wǎng)上書店,如當當、卓越和旌旗席殊、中國書網(wǎng)網(wǎng)上書店等,這些網(wǎng)上書店各具優(yōu)勢,其中當當網(wǎng)上書店在價格和品種方面的優(yōu)勢是無人能比;卓越網(wǎng)上書店創(chuàng)造流行的能力比較強;旌旗席殊網(wǎng)上書店的優(yōu)勢是網(wǎng)點多,覆蓋面廣。在國外,影響較大的網(wǎng)上書店有美國的亞馬遜,德國的貝塔斯曼和英國的因特網(wǎng)書店。其中亞馬遜網(wǎng)上書店在1998年擁有450萬名顧客,到2002年有將近32億人網(wǎng)上購書,銷售額達到了78億美元。1999年英國的20億英鎊圖書總銷售額中,網(wǎng)上銷售占5%。英國書業(yè)界人士分析,未來英國的網(wǎng)上售書將成為圖書銷售渠道中的主要渠道。2.3網(wǎng)上購書的優(yōu)勢(1)網(wǎng)上書店擠壓盜版空間如今發(fā)展最快的,最時髦的,恐怕就是網(wǎng)絡(luò)了。網(wǎng)絡(luò)給人們帶來了實惠、虛擬、幻化,也給文學和圖書帶來了廣闊的生存空間。盜版者利用科學技術(shù),瞄準正版書與盜版書的差價牟取暴利。網(wǎng)絡(luò)書店的興起無疑給盜版商以有力的打擊,因為發(fā)達的網(wǎng)絡(luò)可以直接疏通圖書的發(fā)行渠道,縮短了網(wǎng)上購書者與出版社的距離,給圖書消費者以清新、便宜的享受。(2)網(wǎng)上書店濃縮了圖書的庫存空間傳統(tǒng)圖書店內(nèi)的圖書擺放面積是有限的,每增加一本書其成本都在以一定比例增加,而網(wǎng)絡(luò)書店解決了存儲空間問題,每增加一本書成本增長幾乎為零。(3)數(shù)量、種類多,出版時間跨度大綜合性的網(wǎng)上書店涉及各種各類內(nèi)容的圖書,提供訂購的書目信息達上萬、幾十萬條,而圖書出版的時間有最新出版的,也有幾十年前的,這是傳統(tǒng)書店難以做到的。(4)不受時間、地域限制網(wǎng)上書店是24小時向全球各地的用戶提供網(wǎng)上服務的,用戶借助網(wǎng)絡(luò)可以漫游于世界各地的圖書海洋中,隨時選書、下訂單。中國人不出國可以去到美國最大的Amazon網(wǎng)上書店,廣東人可以不出省去到北京圖書大廈(http:∥www.BJBB.com),進行異地購書。(5)信息豐富網(wǎng)上書店的欄目豐富:特價書、書業(yè)視窗、銷售排行、新品上架、最新推薦等,動態(tài)地向用戶提供各種信息,讓用戶了解書市的最新情況。另外,每種被檢索出來的圖書也有詳盡的介紹,如基本書目信息、封面、目次、內(nèi)容提要、書評等,這些信息都有助于用戶選書。(6)多途徑綜合檢索網(wǎng)上書店主要提供分類和自定義搜索的方式對圖書或其它商品(音像制品、電腦軟件等)進行查找。分類一般是結(jié)合《中圖法》按用戶的閱讀習慣或興趣分類,同一類的圖書相對集中在一起,方便用戶在同類圖書中挑選出高質(zhì)量的圖書。自定義搜索是用戶根據(jù)自己所需的圖書以主題、書名、著者、出版社等信息作為檢索點對圖書或其它商品進行一般搜索,如果希望檢索結(jié)果更準確就使用高級檢索———同時使用幾個檢索點查找。這種方法相對于其它購書方式來說找書更快捷。(7)價格低廉一般來講,網(wǎng)上書店買書,要比普通書店便宜。由于拋棄了傳統(tǒng)書店運作的所需的服務設(shè)施和多重環(huán)節(jié),絕對的成本低廉。由于網(wǎng)上書店運營方式是有訂購需要時直接到出版社取效性強,除了一部分有收藏價值的外,絕大多數(shù)圖書都會“掉價”。(8)個性服務網(wǎng)上書店不只單純銷售圖書,還充分發(fā)揮網(wǎng)絡(luò)優(yōu)勢,提供豐富多彩的個性化服務,滿足讀者特定的需求。網(wǎng)上書店開設(shè)的如新書推薦、暢銷書排行、讀者評論、作者訪談、專家點評等欄目,即使讀者把握全方位的圖書信息,又可使其利用網(wǎng)絡(luò)公告版同圖書的作者及其他讀者進行在線討論、交流心得體會,并根據(jù)他人的書評來協(xié)助選書。(9)配送較及時網(wǎng)上書店一般根據(jù)不同的地區(qū)提供不同的配送方式,有的提供短時間內(nèi)的免費上門送書,書到后付款,有的在收到匯款單后立刻將書寄出。這樣相對于個人或圖書館在新華書店訂書來說,就縮短了到書時間。第三章網(wǎng)上書店的設(shè)計與實現(xiàn)3.1畢業(yè)設(shè)計總體功能結(jié)構(gòu)圖,如圖3-1圖3-1總體功能結(jié)構(gòu)3.2畢業(yè)設(shè)計功能設(shè)計目標向用戶提供圖書瀏覽;用戶可以根據(jù)多種方式插敘自己喜愛的圖書;用戶可以把自己想買的書添加到購物車;用戶可以對圖書進行評估。3.3畢業(yè)設(shè)計功能模塊劃分3.3.1用戶功能圖書瀏覽:以列表的方式顯示圖書信息,這樣可以在頁面顯示大量的圖書信息。同時可以提供更多的圖書瀏覽方式,如分類瀏覽,最新圖書,熱銷圖書,推薦圖書,特價圖書等。圖書顯示:當用戶找到感興趣的圖書后需要顯示圖書的詳細信息,包括圖書名、作者、譯者、出版商、價格、介紹等,此外還可以顯示用戶瀏覽的次數(shù),當前圖書存貨狀態(tài)等信息。圖書評論:讀者對圖書的評價對其他用戶往往具有很高的參考價值,因此書評是必不可少的一項,如圖3-2圖3-2總體功能結(jié)構(gòu)購物車:當用戶找到需要的圖書時可以先想圖書加入購物車,然后繼續(xù)尋找其他的圖書,購物車中存儲當前用戶打算購買的所有圖書。圖書收藏:當找到感興趣的圖書但不打算馬上購買,或者等的其他讀者對圖書做出評價之后再決定購買時,可以先將關(guān)注的圖書收藏起來,方便以后登錄網(wǎng)絡(luò)書店時快捷地找到相關(guān)信息。圖書訂單:當用戶在網(wǎng)絡(luò)書店中找到了所有需要的圖書后,決定購買,可以下訂單。管理員會定期處理用戶下達的訂單,并根據(jù)用戶訂單的信息向用戶送貨。圖書搜索:當用戶僅知道圖書的某些信息時,可以使用搜索功能快速找到需要的圖書,如圖3-3圖3-3總體功能結(jié)構(gòu)缺書登記:網(wǎng)絡(luò)書店不可能擁有所有用戶希望購買的圖書,用戶可以進行缺書登記。管理員可以根據(jù)缺書登記記錄,購進這些圖書并向用戶提供缺書處理反饋信息,如圖3-4圖3-4總體功能結(jié)構(gòu)用戶注冊:只有成為網(wǎng)絡(luò)書店的注冊用戶后才能在網(wǎng)絡(luò)書店中購買圖書,因此需要系統(tǒng)提供用戶注冊功能,以及相關(guān)的用戶信息修改、密碼維護等功能,如圖3-5圖3-5總體功能結(jié)構(gòu)3.3.2管理員功能網(wǎng)絡(luò)書店的管理員功能用于維護系統(tǒng)的政策運行,需要提供如下的功能。賬號管理:只有成為網(wǎng)絡(luò)書店的注冊用戶后才能購買圖書,光利用需要對用戶賬號進行管理,如刪除一些無效賬號等。(2)圖書管理:管理員需要經(jīng)常維護書店中的圖書信息,如圖3-6圖3-6總體功能結(jié)構(gòu)訂單處理:在用戶下達訂單后,管理員需要對用戶訂單進行處理,為用戶準備訂購的圖書,并組織送貨,收取貨款等。缺書處理:當用戶等級了缺書記錄后,管理員需要對這些記錄進行處理,或者購進圖書,或者通知用戶目前該圖書沒有貨源等。并對用戶的缺書登記記錄進行恢復,通知用戶系統(tǒng)已經(jīng)做了相應處理。第四章數(shù)據(jù)庫設(shè)計與實現(xiàn)4.1數(shù)據(jù)庫的需求分析依據(jù)網(wǎng)上書店的處理需求,對就數(shù)據(jù)表的設(shè)計及功能如下。(1)圖書基本信息表:存放網(wǎng)上書店所銷售圖書的基本信息。(2)圖書分類基本信息表:存放網(wǎng)上書店所提供圖書分類的信息。(3)客戶基本信息表:存放書店客戶的基本信息。(4)訂單信息表:存放與客戶相關(guān)的訂單的基本信息。(5)訂單條目詳細信息表:存放訂單中詳細條目的基本信息。4.2數(shù)據(jù)庫應用系統(tǒng)開發(fā)簡介一個成功的信息管理系統(tǒng),是建立在許多條件之上的,而數(shù)據(jù)庫是其中一個非常重要的條件和關(guān)鍵技術(shù)。數(shù)據(jù)庫系統(tǒng)(databasesystems),是由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng)。它是為適應數(shù)據(jù)處理的需要而發(fā)展起來的一種較為理想的數(shù)據(jù)處理的核心機構(gòu)。它是一個實際可運行的存儲、維護和應用系統(tǒng)提供數(shù)據(jù)的軟件系統(tǒng),是存儲介質(zhì)、處理對象和管理系統(tǒng)的集合體。①能夠保證數(shù)據(jù)的獨立性。數(shù)據(jù)和程序相互獨立有利于加快軟件開發(fā)速度,節(jié)省開發(fā)費用。②冗余數(shù)據(jù)少,數(shù)據(jù)共享程度高。③系統(tǒng)的用戶接口簡單,用戶容易掌握,使用方便。④能夠確保系統(tǒng)運行可靠,出現(xiàn)故障時能迅速排除;能夠保護數(shù)據(jù)不受非受權(quán)者訪問或破壞;能夠防止錯誤數(shù)據(jù)的產(chǎn)生,一旦產(chǎn)生也能及時發(fā)現(xiàn)。⑤有重新組織數(shù)據(jù)的能力,能改變數(shù)據(jù)的存儲結(jié)構(gòu)或數(shù)據(jù)存儲位置,以適應用戶操作特性的變化,改善由于頻繁插入、刪除操作造成的數(shù)據(jù)組織零亂和時空性能變壞的狀況。⑥具有可修改性和可擴充性。⑦能夠充分描述數(shù)據(jù)間的內(nèi)在聯(lián)系。信息管理系統(tǒng)所涉及的數(shù)據(jù)庫設(shè)計分五個步驟:數(shù)據(jù)庫需求分析、概念設(shè)計、邏輯設(shè)計、物理設(shè)計與加載測試。(1)數(shù)據(jù)庫需求分析的任務是將業(yè)務管理單證流化為數(shù)據(jù)流,劃分主題之間的邊界,繪制出DFD圖,并完成相應的數(shù)據(jù)字典。(2)概念設(shè)計的任務是從DFD出發(fā),繪制出本主題的實體-關(guān)系圖,并列出各個實體與關(guān)系的綱要表。(3)邏輯設(shè)計的任務是從E-R圖與對應的綱要表出發(fā),確定各個實體及關(guān)系的表名屬性。(4)物理設(shè)計的任務是確定所有屬性的類型、寬度與取值范圍,設(shè)計出基本表的主鍵,將所有的表名與字段名英文化(現(xiàn)在很多軟件能支持中文字段,如MSSQLServer,我就是用的中文字段名),實現(xiàn)物理建庫,完成數(shù)據(jù)庫物理設(shè)計字典。(5)加載測試工作貫穿于程序測試工作的全過程,整個錄入、修改、查詢、處理工作均可視為對數(shù)據(jù)庫的加載測試工作。要設(shè)計出一個好的信息管理系統(tǒng)數(shù)據(jù)庫,除滿足系統(tǒng)所要求的功能外,還必須遵守下列原則:基本表的個數(shù)越少越好。主鍵的個數(shù)越少越好。鍵是表間連接的工具,主鍵越少,表間的連接就越簡單。字段的個數(shù)越少越好。所有基本表的設(shè)計均應盡量符合第三范式。數(shù)據(jù)庫的設(shè)計中,如何處理多對多的關(guān)系和如何設(shè)計主鍵,是兩個有著較大難度、需要重點考慮的問題。下面我們著重從SQL應用、數(shù)據(jù)庫設(shè)計范式和查詢優(yōu)化等方面來分析本課題的系統(tǒng)關(guān)鍵技術(shù)和實現(xiàn)難點并加以解決。4.3數(shù)據(jù)庫系統(tǒng)設(shè)計及范式分析信息系統(tǒng)的主要任務是通過大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲和管理大量的數(shù)據(jù)。因此建立一個良好的數(shù)據(jù)組織結(jié)構(gòu)和數(shù)據(jù)庫,使整個系統(tǒng)都可以迅速、方便、準確地調(diào)用和管理所需的數(shù)據(jù),是衡量信息系統(tǒng)開發(fā)工作好壞的主要指標之一。4.3.1數(shù)據(jù)庫系統(tǒng)設(shè)計數(shù)據(jù)庫設(shè)計主要是進行數(shù)據(jù)庫的邏輯設(shè)計,即將數(shù)據(jù)按一定的分類、分組系統(tǒng)和邏輯層次組織起來,是面向用戶的。數(shù)據(jù)庫設(shè)計時需要綜合企業(yè)各個部門的存檔數(shù)據(jù)和數(shù)據(jù)需求,分析各個數(shù)據(jù)之間的關(guān)系,按照DBMS提供的功能和描述工具,設(shè)計出規(guī)模適當、正確反映數(shù)據(jù)關(guān)系、數(shù)據(jù)冗余少、存取效率高、能滿足多種查詢要求的數(shù)據(jù)模型。數(shù)據(jù)庫設(shè)計的步驟是:(1)數(shù)據(jù)庫結(jié)構(gòu)定義:目前的數(shù)據(jù)庫管理系統(tǒng)(DBMS)有的是支持聯(lián)機事務處理CLTP(負責對事務數(shù)據(jù)進行采集、處理、存儲)的操作型DBMS,有的可支持數(shù)據(jù)倉庫、有聯(lián)機分析處理CLAP(指為支持決策的制定對數(shù)據(jù)的一種加工操作)功能的大型DBMS,有的數(shù)據(jù)庫是關(guān)系型的、有的可支持面向?qū)ο髷?shù)據(jù)庫。針對選擇的DBMS,進行數(shù)據(jù)庫結(jié)構(gòu)定義。(2)數(shù)據(jù)表定義:數(shù)據(jù)表定義指定義數(shù)據(jù)庫中數(shù)據(jù)表的結(jié)構(gòu),數(shù)據(jù)表的邏輯結(jié)構(gòu)包括:屬性名稱、類型、表示形式、缺省值、校驗規(guī)則、是否關(guān)鍵字、可否為空等。關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設(shè)計,但為使效率高,規(guī)范化程度應根據(jù)應用環(huán)境和條件來決定。數(shù)據(jù)表設(shè)計不僅要滿足數(shù)據(jù)存儲的要求,還要增加一些如反映有關(guān)信息、操作責任、中間數(shù)據(jù)的字段或臨時數(shù)據(jù)表。(3)存儲設(shè)備和存儲空間組織:確定數(shù)據(jù)的存放地點、存儲路徑、存儲設(shè)備等,備份方案,對多版本如何保證一致性和數(shù)據(jù)的完整性。(4)數(shù)據(jù)使用權(quán)限設(shè)置:針對用戶的不同使用要求,確定數(shù)據(jù)的用戶使用權(quán)限,確保數(shù)據(jù)安全。(5)數(shù)據(jù)字典設(shè)計:用數(shù)據(jù)字典描述數(shù)據(jù)庫的設(shè)計,便于維護和修改。為了更好地組織數(shù)據(jù)和設(shè)計出實際應用數(shù)據(jù)庫,應該注意如下問題:規(guī)范化地重組數(shù)據(jù)結(jié)構(gòu),對數(shù)據(jù)進行規(guī)范化表達,這在后面將會具體討論。關(guān)系數(shù)據(jù)結(jié)構(gòu)的建立:在進行了數(shù)據(jù)基本結(jié)構(gòu)的規(guī)范化重組后,還必須建立整體數(shù)據(jù)的關(guān)系結(jié)構(gòu)。這一步設(shè)計完成后數(shù)據(jù)庫和數(shù)據(jù)結(jié)構(gòu)設(shè)計工作基本完成,只待系統(tǒng)實現(xiàn)時將數(shù)據(jù)分析和數(shù)據(jù)字典的內(nèi)容代入到所設(shè)計的數(shù)據(jù)整體關(guān)系結(jié)構(gòu)中,一個規(guī)范化數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)就建立起來了。建立關(guān)系數(shù)據(jù)結(jié)構(gòu)涉及三方面內(nèi)容:確定關(guān)聯(lián)的關(guān)鍵指標項并建立關(guān)聯(lián)表;確定單一的父系記錄結(jié)構(gòu);建立整個數(shù)據(jù)庫的關(guān)系結(jié)構(gòu)。(1)鏈接關(guān)系的確定在進行了上述數(shù)據(jù)規(guī)范化重組后,已經(jīng)可以確保每一個基本數(shù)據(jù)表(我們簡稱為表)是規(guī)范的,但是這些單獨的表并不能完整地反映事物,通常需要通過指標體系整體指標數(shù)據(jù)才能完整全面地反映問題。也就是說在這些基本表的各宇段中,所存儲的是同一事物不同側(cè)面的屬性。那么計算機系統(tǒng)如何能知道哪些表中的哪些記錄應與其它表中的哪些記錄相對應,它們表示的是同一個事物呢?這就需要在設(shè)計數(shù)據(jù)結(jié)構(gòu)時將這種各表之間的數(shù)據(jù)記錄關(guān)系確定下來。這種表與表之間的數(shù)據(jù)關(guān)系一般都是通過主或輔關(guān)鍵詞之間的連接來實現(xiàn)的。因為在每個表中只有主關(guān)鍵詞才能唯一地標識表中的這一個記錄值(因為根據(jù)第三范式的要求,表中其它數(shù)據(jù)字段函數(shù)都依賴于主關(guān)鍵詞),所以將表通過關(guān)鍵詞連接就能夠唯一地標識出某一事物不同屬性在不同表中的存放位置。(2)確定單一的父子關(guān)系結(jié)構(gòu)所謂確定單一的父系關(guān)系結(jié)構(gòu)就是要在所建立的各種表中消除多對多(以下用M:N來表示)的現(xiàn)象,即設(shè)法使得所有表中記錄之間的關(guān)系呈樹狀結(jié)構(gòu)(只能由一個主干發(fā)出若干條分支,而不能有若干條主干交錯發(fā)出若干條分支狀況)。所謂的“父系”就是指表的上一級關(guān)系表。消除多對多關(guān)系可以借助于E-R圖的方法來解決,也可以在系統(tǒng)分析時予以注意,避免這種情況的發(fā)生。消除這種M:N情況的辦法也很簡單,只需在二表之間增加一個表,則原來M:N的關(guān)系就改成了M:1,1:N的關(guān)系了。一般DBMS都提供給我們自己定義數(shù)據(jù)安全保密性的功能。系統(tǒng)所提供的安全保密功能一般有8個等級(0-7級),4種不同方式(只讀、只寫、刪除、修改),而且允許用戶利用這8個等級的4種方式對每一個表自由地進行定義。定義安全保密性的方法一般有如下幾種:a.原則上所有文件都定義為4級,個別優(yōu)先級特別高的辦公室(終端或微機的入網(wǎng)賬號)可定義高于4級的級別,反之則定義為低于4的級別。b.統(tǒng)計文件(表)和數(shù)據(jù)錄入文件一般只對本工作站定義為只寫方式,對其它工作站則定義為只讀方式。c.財務等保密文件一般只對中工作站(如財務科等)定義為可寫、可改、可刪除方式,對其它工作站則定義為只讀方式,而且不是每個人都能讀,只有級別相同和高級別者才能讀。4.3.2數(shù)據(jù)庫設(shè)計范式分析建立起一個良好的數(shù)據(jù)指標體系,是建立數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫的最重要的一環(huán)。一個良好的數(shù)據(jù)指標體系是建立DB的必要條件,但不是充分條件。我們完全可以認為所建指標體系中的一個指標類就是關(guān)系數(shù)據(jù)庫中的一個基本表,而這個指標類下面的一個個具體指標就是這個基本表中的一個字段。但如果直接按照這種方式建庫顯然還不能算最佳。對于指標體系中數(shù)據(jù)的結(jié)構(gòu)在建庫前還必須進行規(guī)范化的重新組織。a.數(shù)據(jù)組織的規(guī)范化形式在數(shù)據(jù)的規(guī)范化表達中,一般將一組相互關(guān)聯(lián)的數(shù)據(jù)稱為一個關(guān)系(relation),而在這個關(guān)系下的每個數(shù)據(jù)指標項則被稱為數(shù)據(jù)元素(dataelement),這種關(guān)系落實到具體數(shù)據(jù)庫上就是基本表,而數(shù)據(jù)元素就是基本表中的一個字段(field)。規(guī)范化表達還規(guī)定在每一個基本表中必須定義一個數(shù)據(jù)元素為關(guān)鍵字(key),它可以唯一地標識出該表中其它相關(guān)的數(shù)據(jù)元素。在規(guī)范化理論中表是二維的,它有如下四個性質(zhì):在表中的任意一列上,數(shù)據(jù)項應屬于同一個屬性(如圖中每一列都存放著不同合同記錄的同一屬性數(shù)據(jù))。表中所有行都是不相同的,不允許有重復組項出現(xiàn)(如圖中每一行都是一個不同的合同記錄)。在表中,行的順序無關(guān)緊要(如圖中每行存的都是合同記錄,至于先放哪一個合同都沒關(guān)系)。在表中,列的順序無關(guān)緊要,但不能重復(如圖中合同號和合同名誰先誰后都沒關(guān)系,但二者不可重復或同名)。在對表的形式進行了規(guī)范化定義后,數(shù)據(jù)結(jié)構(gòu)還有五種規(guī)范化定義,定名為規(guī)范化模式,稱為范式。在這五種范式中,一般只用前三種,對于常用系統(tǒng)就足夠了。而且這五種范式是“向上兼容”的,即滿足第五范式的數(shù)據(jù)結(jié)構(gòu)自動滿足一、二、三、四范式,滿足第四范式的數(shù)據(jù)結(jié)構(gòu)自動滿足第一、二、三范式,……,依此類推。第一范式(firstnormalform,簡稱1stNF)就是指在同一表中沒有重復項出現(xiàn),如果有則應將重復項去掉。這個去掉重復項的過程就稱之為規(guī)范化處理。在本文所討論的開發(fā)方法里,1stNF實際上是沒有什么意義的。因為我們按規(guī)范化建立的指標體系和表的過程都自動保證了所有表都滿足1stNF。第二范式(secondnormalform,簡稱2ndNF)是指每個表必須有一個(而且僅一個)數(shù)據(jù)元素為主關(guān)鍵字(primarykey),其它數(shù)據(jù)元素與主關(guān)鍵字一一對應。例如,在圖l9.7中如果我們將合同號定義為主關(guān)鍵字(其它數(shù)據(jù)元素中的記錄數(shù)據(jù)都有可能重名,故不能作為主關(guān)鍵字),故只要知道了一個合同記錄的合同號,就可以唯一地在同一行中找到該合同的任何一項具體信息。通常我們稱這種關(guān)系為函數(shù)依賴(functionaldepEndence)關(guān)系。即表中其它數(shù)據(jù)元素都依賴于主關(guān)鍵字,或稱該數(shù)據(jù)元素唯一地被主關(guān)鍵字所標識。第三范式(thirdnormalform,簡稱3rdNF)就是指表中的所有數(shù)據(jù)元素不但要能夠唯一地被主關(guān)鍵字所標識,而且它們之間還必須相互獨立,不存在其它的函數(shù)關(guān)系。也就是說對于一個滿足了2ndNF的數(shù)據(jù)結(jié)構(gòu)來說,表中有可能存在某些數(shù)據(jù)元素依賴于其它非關(guān)鍵字數(shù)據(jù)元素的現(xiàn)象,必須加以消除。為防止數(shù)據(jù)庫出現(xiàn)更新異常、插入異常、刪除異常、數(shù)據(jù)冗余太大等現(xiàn)象,關(guān)系型數(shù)據(jù)庫要盡量按關(guān)系規(guī)范化要求進行數(shù)據(jù)庫設(shè)計。4.4數(shù)據(jù)庫連接網(wǎng)上書店采用MicrosoftAccess2002作為后臺的數(shù)據(jù)庫。我們建立了一個名為BookShop的數(shù)據(jù)庫用于存放數(shù)據(jù),數(shù)據(jù)庫的連接(conn.asp):<%optionexplicitdimconn,connstr,startime,db,rsstartime=timer()db="db/bookshop.mdb"Setconn=Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(""&db&"")conn.Openconnstr%>4.5數(shù)據(jù)表設(shè)計各表的名稱和功能如表1所示。表1BookShop數(shù)據(jù)庫中的表及其功能說明表名功能說明Shop_admin管理員信息表Shop_books書籍信息表Shop_anclass書籍大類信息表Shop_nclass書籍小類信息表Shop_news新聞信息表Shop_pinglun評論信息表User客戶信息表下面將詳細介紹各表的數(shù)據(jù)結(jié)構(gòu)。1、Shop_admin表在Shop_admin(管理員信息表)表中,存放有關(guān)管理員的一切信息,詳細的數(shù)據(jù)結(jié)構(gòu)如表2所示。表2Shop_admin表的數(shù)據(jù)結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度說明Adminid自動編碼(long)關(guān)鍵字,類型編號admin文本(String)50管理員帳號password文本(String)50管理員密碼2、Shop_books表Shop_books(書籍信息表)表中存放書籍的一切信息,詳細的數(shù)據(jù)結(jié)構(gòu)如表3所示。表3Shop_books表的數(shù)據(jù)結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度說明Bookid自動編碼(long)關(guān)鍵字,書籍編號BookName文本(String)50書籍名稱Author文本(String)50作者ClassNo數(shù)字(long)用于存放書籍分類的編號Publish文本(String)50出版社Content備注(String)內(nèi)容簡介Picture文本(String)圖片信息Price數(shù)字(double)書籍定價WebPrice數(shù)字(double)本站的售價NowPrice數(shù)字(double)現(xiàn)價RegTime日期(datetime)登記日期,默認值Date()3、Shop_anclass表在Shop_vanlass(書籍大類信息表)表中,存儲所有書籍分類的信息,包括給每個大類唯一的ClassNo、分類的名稱。詳細的數(shù)據(jù)結(jié)構(gòu)如表4所示。表4Shop_anclass表的數(shù)據(jù)結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度說明Classid自動編碼(long)關(guān)鍵字,類型編號adclass文本(String)50分類名稱4、Shop_news表在Shop_news(新聞信息表)表中,存儲新聞信息,詳細的數(shù)據(jù)結(jié)構(gòu)如表5所示。表5Shop_news表的數(shù)據(jù)結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度說明newsid自動編碼(long)關(guān)鍵字,自增字段newsname文本(String)50新聞標題newscontent備注(long)新聞內(nèi)容addname文本(long)作者adddate日期(datetime)時間viewcount數(shù)字(double瀏覽計數(shù)5、Shop_pinglun表在Shop_pinglun(評論信息表)表中,存儲圖書評論信息,詳細的數(shù)據(jù)結(jié)構(gòu)如表6所示。表6Shop_pinglun表的數(shù)據(jù)結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度說明pinglunid自動編碼(long)關(guān)鍵字,自增字段bookid數(shù)字(long)50圖書編號pinglunname文本(string)評論人pinglundate日期(datetime)時間pingluncontent備注(long)評論內(nèi)容5、user表在user(客戶信息表)表中,存儲客戶注冊信息,詳細的數(shù)據(jù)結(jié)構(gòu)如表7所示。表7user表的數(shù)據(jù)結(jié)構(gòu)字段名稱數(shù)據(jù)類型長度說明userid自動編碼(long)關(guān)鍵字,自增字段username文本(string)注冊帳號useremail文本(string)E-Mailuserpassword文本(string)密碼adddate時間(long)注冊時間quesion文本(string)密碼提示問題answer文本(string)答案shouhuodizhi文本(string)收貨地址youbian文本(string)郵編usertel文本(string)電話zhifufangshi文本(string)支付方式userzhenshiname文本(string)真實姓名第五章系統(tǒng)設(shè)計與安裝

網(wǎng)上書店管理系統(tǒng)分為前臺銷售管理系統(tǒng)(網(wǎng)站)和后臺管理系統(tǒng)。前臺銷售管理系統(tǒng)的用戶是通過Internet訪問網(wǎng)站的客戶,后臺管理系統(tǒng)的用戶是通過公司內(nèi)部Internet訪問的后臺管理員。前臺和后臺管理系統(tǒng)的設(shè)計與實現(xiàn)如下。5.1前臺銷售管理系統(tǒng)的設(shè)計與實現(xiàn)前臺銷售管理系統(tǒng)主要提供向客戶宣傳圖書信息(新到圖書,特價圖書等等)、提供客戶便捷的檢索圖書的功能,及客戶網(wǎng)上注冊、登錄、購物、查詢訂單和缺書等信息反饋的功能。客戶通過首頁進入網(wǎng)站的其它Web網(wǎng)頁,享受網(wǎng)站提供的各項服務如購物、注冊等。前臺管理系統(tǒng)大致分為會員訪問子系統(tǒng)、網(wǎng)上購物車子系統(tǒng)、圖書瀏覽檢索子系統(tǒng)和信息反饋子系統(tǒng)。各個子系統(tǒng)的設(shè)計和實現(xiàn)如下:5.1.1注冊用戶關(guān)鍵代碼<%subreg()setrs=server.CreateObject("adodb.recordset")rs.open"select*from[user]",conn,1,3rs.addnewrs("username")=trim(request("username"))rs("userpassword")=md5(trim(request("userpassword1")))rs("useremail")=trim(request("useremail"))rs("quesion")=trim(request("quesion"))rs("answer")=md5(trim(request("answer")))rs("userzhenshiname")=trim(request("userzhenshiname"))rs("adddate")=now()rs("lastlogin")=now()rs("logins")=0rs("youbian")=0rs("zhifufangshi")=0rs("songhuofangshi")=0rs.updaters.closesetrs=nothingresponse.Write"<tablewidth=100%border=0align=centercellpadding=0cellspacing=0><tr><tdheight=80bgcolor=#fffbefclass=pad><fontcolor=#cb6f00>用戶注冊成功</font>‘將指定的字符串寫到當前的HTTP輸出response.Write"恭喜"&request.Cookies("bookshop")("username")&",您已注冊成為《"&webname&"》正式用戶,請進行下一步操作:</td></tr></table>"endifendsub%>注冊用戶之輸入框判斷JavaScript代碼如下:舉例:檢查用戶名是否填寫<scriptlanguage="JavaScript">functioncheck(){if(document.userinfo.username.value=""){‘判斷用戶名輸入框是否為空alert("用戶名不能為空,請重新輸入!"); returnfalse;}elsereturntrue;}</script>5.1.2用戶登陸關(guān)鍵代碼<!--#includefile="conn.asp"-->‘連接數(shù)據(jù)庫<!--#includefile="md5.asp"-->‘采用MD5加密<%dimusername,userpassword,comeurlusername=replace(trim(request("username")),"'","")userpassword=md5(replace(trim(request("userpassword")),"'",""))iftrim(request("comeurl"))=""thencomeurl="index.asp"elsecomeurl=trim(request("comeurl"))endififusername=""oruserpassword=""thenresponse.Write"<center><ahref=login.asp><fontcolor=redsize=2>對不起,登陸失敗,請檢查您的登陸名和密碼</font></a></center>"response.endendifsetrs=server.CreateObject("adodb.recordset")rs.Open"select*from[user]whereusername='"&username&"'anduserpassword='"&userpassword&"'",conn,1,3ifnot(rs.bofandrs.eof)thenifuserpassword=rs("userpassword")thenresponse.Cookies("bookshop")("username")=trim(request("username"))'response.Cookies("bookshop").expires=date+1rs("lastlogin")=now()rs("logins")=rs("logins")+1‘登陸次數(shù)加1rs.Updaters.Closesetrs=nothingcallloginok()elseresponse.write"<scriptLANGUAGE='javascript'>alert('對不起,您的用戶名或密碼有誤!');window.location.reload('javascript:history.go(-1)')</script>"endifelseresponse.write"<scriptLANGUAGE='javascript'>alert('對不起,您的用戶名或密碼有誤!');window.location.reload('javascript:history.go(-1)')</script>"endifsubloginok()‘定義登陸成功執(zhí)行程序response.Write"<fontsize=2>歡迎您<fontcolor=redsize=2>"&request.Cookies("bookshop")("username")&"</font>,兩秒種后將自動跳轉(zhuǎn)到相應頁!</font>"response.Write"<metahttp-equiv=refreshcontent=2;URL="&comeurl&">"endsub%>5.1.3購物車(訂單)子系統(tǒng)數(shù)據(jù)庫表的設(shè)計:客戶通過購物車購買商品時,購物車要隨時計算客戶所購買的商品價格,因此需要一個購物車數(shù)據(jù)庫表記錄客戶購買商品的基本信息,客戶通過購物車買完商品后,還需要填寫送貨方式、付款方式等客戶的基本信息,填寫完所有的信息后,才能從網(wǎng)上正式提交訂單。為了有效的存儲訂單信息,在數(shù)據(jù)庫中設(shè)計了訂單信息表和訂單細節(jié)表。訂單信息表主要存放的是訂單名稱、訂單編號、訂單總價、客戶郵件等訂單的基本信息,訂單細節(jié)表(訂單圖書記錄表)存放每一張訂單所購圖書編號即圖書數(shù)量的信息。在網(wǎng)上購物車的功能實現(xiàn)中需要注意的重要問題是購物車號的生成和保存。當多個用戶訪問網(wǎng)上商店時,每個用戶需要有自己的購物車,.即購物車有唯一性,通常以購物車號標志購物車的唯一性。購物車號要經(jīng)常在不同網(wǎng)頁中使用,我們采用Cookies技術(shù)來保存購物車號。當沒有登陸時,以下代碼限制用戶訪問該頁面<%ifrequest.cookies("bookshop")("username")=""thenresponse.write"<scriptlanguage=javascript>alert('對不起,您還沒有登陸!');window.location.reload('javascript:window.close()')</script>"response.Endendif%>‘限制對頁面的訪問,需要先登陸網(wǎng)上購物車中重新計算所有物品的金額的功能實現(xiàn)網(wǎng)上購物車需要實時的滿足顧客的要求,購物車里有多種商品,顧客每次修改各種商品的數(shù)量后,購物車需要重新計算所有商品的金額。這一部分的功能通常有兩種方法實現(xiàn),一種采用Cookies技術(shù),另一種采用數(shù)據(jù)庫技術(shù)。采用Cookies技術(shù),實現(xiàn)起來較困難,而采用數(shù)據(jù)庫技術(shù),只需要實時更新數(shù)據(jù)庫表就可以了。<%dimbookid,action,iaction=request.QueryString("action")ifrequest.QueryString("id")=""thenbookid=request("bookid")elsebookid=request.QueryString("id")endififbookid=""thenresponse.write"<scriptlanguage=javascript>alert('對不起,您沒有選擇商品!');window.location.reload('javascript:window.close()')</script>"response.Endendif‘判斷是否選擇書籍<%dimiii'定義總價iii=0dimbookscount,books'定義判斷有幾個bookidbookscount=request.QueryString("id").countdowhilenotrs.eofdimquatity'判斷input名Quatity=CInt(Request("ckxp"&rs("bookid")))Quatity<=0ThenQuatity=1%><%ifQuatity<=1thenresponse.writeformatnumber(rs("huiyuanjia")*1,2)&"元"elseresponse.writeformatnumber(rs("huiyuanjia")*Quatity,2)&"元"endifiii=formatnumber(rs("huiyuanjia")*Quatity+iii,2)%>‘小計購買數(shù)量書籍的總價5.1.4圖書瀏覽檢索子系統(tǒng)的實現(xiàn)圖書瀏覽檢索子系統(tǒng)要完成對圖書的分類瀏覽,關(guān)鍵詞查詢和高級查詢的功能,其中高級查詢的實現(xiàn)較為復雜,高級查詢有書名、作者、出版社、ISDN、售價范圍(指定價格以下)多種方式可以相互組合,顯示方式有按書名,作者,出版社,價格等等規(guī)則。具體的查詢程序可以分為很多種情況實現(xiàn),現(xiàn)以其中一種方式為例加以說明:setrs=server.CreateObject("adodb.recordset")ifjiage=""then'//普通查詢selectcaseactioncase"1"rs.open"selectbookid,bookname,bookzz,bookchuban,shichangjia,huiyuanjia,dazhe,bookdatefromshop_bookswherebooknamelike'%"&searchkey&"%'",conn,1,1endselect‘前面代碼已經(jīng)定義了關(guān)鍵字searchkey5.2后臺管理系統(tǒng)的實現(xiàn)后臺管理子系統(tǒng),可以通過點擊系統(tǒng)LOGO(左上角)進入。由于是后臺操作,必須是管理員才能進入的,所以對所有后臺頁面都要添加頁面保護,即必須先登陸才能有其他操作。代碼如下:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){if(Session["admin_user"]==null){Response.Redirect("admin_login.aspx");}if(Session["aCategory"].ToString()=="book"){HyperLinkOrderHusb.Visible=false;LabelEmployee.Visible=false;HyperLinkAddEmp.Visible=false;HyperLinkEditEmp.Visible=false;}elseif(Session["aCategory"].ToString()=="order"){LabelBook.Visible=false;HyperLinkPublishBook.Visible=false;HyperLinkHusbBook.Visible=false;LabelEmployee.Visible=false;HyperLinkAddEmp.Visible=false;HyperLinkEditEmp.Visible=false;}}StringconStr=System.Configuration.ConfigurationManager.ConnectionStrings["BookShopConnectionString"].ConnectionString;stringcmd="SELECTtbOrder.orID,tbOrder.reID,tbOrder.orTime,tbOrder.orOrderStatus,tbOrder.orLogisticsStatus,tbOrder.orPrice,tbOrder.orChange,tbReceiveAddress.reIDASExpr1,tbReceiveAddress.reName,tbReceiveAddress.mID,tbMember.mIDASExpr2,tbMember.mUserFROMtbOrderINNERJOINtbReceiveAddressONtbOrder.reID=tbReceiveAddress.reIDINNERJOINtbMemberONtbReceiveAddress.mID=tbMember.mID";SqlDataAdapteradp=newSqlDataAdapter(cmd,conStr);DataSetds=newDataSet();adp.Fill(ds);PagedDataSourceyy=newPagedDataSource();yy.DataSource=ds.Tables[0].DefaultView;DataList1.DataSource=yy;DataList1.DataBind();}protectedvoidLinkButtonExit_Click(objectsender,EventArgse){Session["admin_user"]=null;Session["aCategory"]=null;Response.Redirect("admin_login.aspx");}protectedvoidDataList1_ItemDataBound(objectsender,DataListItemEventArgse){LinkButtonlkb=(LinkButton)e.Item.FindControl("LinkButton1");if(lkb!=null&&lkb.Text=="付款"){lkb.Visible=false;}if(lkb!=null&&lkb.Text=="確認收貨"){lkb.Visible=false;}if(lkb!=null&&lkb.Text=="已完成"){lkb.Visible=false;}}protectedvoidDataList1_ItemCommand(objectsource,DataListCommandEventArgse){if(e.CommandName=="del"){Labellb=(Label)e.Item.FindControl("LabelID");stringconnStr=System.Configuration.ConfigurationManager.ConnectionStrings["BookShopConnectionString"].ConnectionString;SqlConnectioncon1=newSqlConnection(connStr);SqlCommandcmd1=newSqlCommand();cmd1.Connection=con1;cmd1.CommandText="DELETEFROM[tbAlreadyOrder]WHERE[orID]='"+lb.Text.ToString()+"'";cmd1.Connection.Open();cmd1.ExecuteNonQuery();cmd1.Connection.Close();SqlConnectioncon=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();cmd.Connection=con;cmd.CommandText="DELETEFROM[tbOrder]WHERE[orID]='"+lb.Text.ToString()+"'";cmd.Connection.Open();cmd.ExecuteNonQuery();cmd.Connection.Close();Response.Redirect(Request.Url.ToString());}elseif(e.CommandName=="change"){LinkButtonlkb=(LinkButton)e.Item.FindControl("LinkButton1");HyperLinkhp=(HyperLink)e.Item.FindControl("HyperLinkID");intorID=Convert.ToInt32(hp.Text.ToStri

溫馨提示

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

評論

0/150

提交評論