基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設(shè)計(jì)_第1頁
基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設(shè)計(jì)_第2頁
基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設(shè)計(jì)_第3頁
基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設(shè)計(jì)_第4頁
基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設(shè)計(jì) 作者: 日期:2 個(gè)人收集整理 勿做商業(yè)用途基于ASP的網(wǎng)上購物系統(tǒng)的開發(fā)與設(shè)計(jì)摘要:本文介紹運(yùn)用了ASP網(wǎng)站開發(fā)技術(shù)(主要采用了Vbscript語言和Javascript語言),在Windows XP下,以Microsoft Access為數(shù)據(jù)庫開發(fā)平臺(tái),IIS為應(yīng)用服務(wù)器實(shí)現(xiàn)一個(gè)快速登陸網(wǎng)站的設(shè)計(jì)的方法和過程。內(nèi)容包括6個(gè)部分:第一部分是ASP概述,該部分對(duì)ASP技術(shù)的相關(guān)知識(shí)做了詳細(xì)的介紹;第二部分是數(shù)據(jù)庫概述,該部分主要是介紹ASP對(duì)數(shù)據(jù)庫的訪問;第三部分是需求分析,該部分對(duì)系統(tǒng)的功能,性能和環(huán)境做了具體的分析;第四部分是總體設(shè)計(jì),該部分對(duì)系統(tǒng)的各

2、個(gè)模塊給出了整體的設(shè)計(jì)方案;第五部分是詳細(xì)設(shè)計(jì),該部分分別對(duì)各個(gè)功能模塊的實(shí)現(xiàn)與設(shè)計(jì)做的詳細(xì)的介紹;第六部分是結(jié)束語。運(yùn)用ASP技術(shù)和網(wǎng)絡(luò)數(shù)據(jù)庫原理,基于B/S模式我開發(fā)了一個(gè)網(wǎng)上購物系統(tǒng)。在這個(gè)系統(tǒng)中,顧客可以很方便的注冊(cè)成為會(huì)員,對(duì)商品進(jìn)行瀏覽檢索,查看商品的詳細(xì)資料,然后根據(jù)各人的喜好購買心儀的商品。系統(tǒng)會(huì)自動(dòng)為顧客生成訂單,按照顧客所填寫的信息提交訂單并發(fā)貨。系統(tǒng)管理員則可以對(duì)現(xiàn)有的商品進(jìn)行添加和編輯,審查已注冊(cè)的用戶并對(duì)提交的訂單進(jìn)行處理。關(guān)鍵詞:B/S模式;ASP;電子商務(wù);網(wǎng)絡(luò)數(shù)據(jù)庫。Development and Design Net Shopping System Based

3、 on ASPAbstract: This text introduces using technique of active web stage exploitation in ASP(Active Server Pages which most adopted in Vbscript and Javescript language)as the programming language , running under Windows XP, using Microsofte Access as the database, IIS(Internet Information Server) a

4、s the application server to realize this fast disembarkation web system。The content includes six parts: Part one is a summary of ASP,this part has done the detailed introduction to the correlate knowledge of ASP;Part two is a summary of datebase,this part introduces how to interview datebase mostly;

5、 Part three is the analyse in demand,this part makes frondose analyse about function,performance and environmental demand for the system;Part four is a collectivity design,this part gives holistic design plan to every modules;Part five is a particular design,this part gives detailed introduction to

6、each module's realization and design;Part six is a tag.文檔為個(gè)人收集整理,來源于網(wǎng)絡(luò)文檔為個(gè)人收集整理,來源于網(wǎng)絡(luò)Application ASP technique is with the network database principle, according to B/ S mode I developped a net on the shopping system。In my system, customer can very the convenient registration become the member, a

7、nd proceeds to merchandise view index, look into favour that the merchandises detailed data, then purchase the adoring merchandise according to the everyone.System would the auto is a born order of customer, and hand over the order to erupt goods according to the information for fill inning of custo

8、mer。System manager can then proceeds to increase with the order that edit, investigate already the registered customer combine right hand over to proceeds to handle to current merchandise。本文為互聯(lián)網(wǎng)收集,請(qǐng)勿用作商業(yè)用途本文為互聯(lián)網(wǎng)收集,請(qǐng)勿用作商業(yè)用途Keywords: B/ S mode, ASP, electronic commerce, network database。前 言對(duì)于基于Web平臺(tái)的網(wǎng)

9、上購物系統(tǒng),存在著一個(gè)前臺(tái)應(yīng)用和后臺(tái)管理的問題。而無論前臺(tái)還是后臺(tái),都要對(duì)數(shù)據(jù)庫進(jìn)行調(diào)用和操作。因此如何創(chuàng)建網(wǎng)絡(luò)數(shù)據(jù)庫,以及客戶端如何調(diào)用服務(wù)器端的數(shù)據(jù)庫成為實(shí)現(xiàn)網(wǎng)上購物的一個(gè)關(guān)鍵性問題。計(jì)算機(jī)技術(shù)的發(fā)展與普及,已經(jīng)改變了我們的生活方式,計(jì)算機(jī)應(yīng)用已逐漸滲透到社會(huì)發(fā)展的各個(gè)領(lǐng)域.隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的迅猛發(fā)展,社會(huì)資源的信息化、數(shù)據(jù)的分布處理、各種計(jì)算機(jī)資源共享等應(yīng)用需求推動(dòng)計(jì)算機(jī)技術(shù)朝著群體化方向發(fā)展,促使計(jì)算機(jī)技術(shù)與通信技術(shù)緊密結(jié)合。Internet是目前世界上覆蓋范圍最大的計(jì)算機(jī)網(wǎng)絡(luò)群體。Internet是在通信網(wǎng)絡(luò)的基礎(chǔ)上,以TCP/IP協(xié)議為基準(zhǔn)、以域名地址和IP地址為標(biāo)識(shí)、以網(wǎng)

10、關(guān)和路由器為轉(zhuǎn)換協(xié)議工具構(gòu)成的網(wǎng)絡(luò)的集合。Internet實(shí)質(zhì)上是由遍布全球的各種計(jì)算機(jī)網(wǎng)絡(luò)互連而形成的網(wǎng)絡(luò)。Internet的出現(xiàn)不僅使得通信和資源共享的地理范圍擴(kuò)展至全球,而且隨著其服務(wù)內(nèi)容和應(yīng)用領(lǐng)域的拓寬,正在改變?nèi)藗兊臅r(shí)空觀.以微電子、計(jì)算機(jī)、通信和網(wǎng)絡(luò)技術(shù)為代表的現(xiàn)代信息技術(shù)在經(jīng)濟(jì)領(lǐng)域的廣泛應(yīng)用,使得交易成本急劇下降,從而導(dǎo)致信息替代了資本在經(jīng)濟(jì)發(fā)展中的主導(dǎo)地位。作為重要的生產(chǎn)要素和戰(zhàn)略資源,通過互聯(lián)網(wǎng)傳遞的大量信息使得現(xiàn)有的社會(huì)資源獲得高效配置,社會(huì)勞動(dòng)生產(chǎn)率大幅度提高,并推動(dòng)經(jīng)濟(jì)結(jié)構(gòu)革新和產(chǎn)業(yè)結(jié)構(gòu)的升級(jí)。電子商務(wù)是互聯(lián)網(wǎng)發(fā)展日臻成熟的直接后果,是網(wǎng)絡(luò)技術(shù)應(yīng)用新的發(fā)展方向?;ヂ?lián)網(wǎng)自

11、身所具有的開放性、全球性、低成本、高效率的特點(diǎn),已成為電子商務(wù)的內(nèi)在特征,并使得電子商務(wù)大大超越了作為一種新的貿(mào)易形式所具有的價(jià)值。 電子商務(wù)對(duì)于社會(huì)生產(chǎn)力的推動(dòng)作用突出表現(xiàn)在4個(gè)方面:(1)大幅度降低信息成本,提高信息使用效率.作為一個(gè)極為重要的商務(wù)信息載體和運(yùn)送平臺(tái),電子商務(wù)降低了信息來源成本;突破行業(yè)和產(chǎn)品物理特性的限制,使交易范圍急劇放大;彌補(bǔ)信息的不對(duì)稱性,實(shí)現(xiàn)交易信息互換和交易行為的虛擬市場(chǎng)化.從目前市場(chǎng)情況看,電子商城、網(wǎng)上書店和網(wǎng)上拍賣等交易行為,無不體現(xiàn)與傳統(tǒng)交易相比的信息成本優(yōu)勢(shì)。信息成本的低廉形成了對(duì)電子商務(wù)生存的最有力的支撐。    

12、60;(2)大量減少中間環(huán)節(jié),降低銷售成本和購買成本。電子商務(wù)為買賣雙方在網(wǎng)上直接交易提供了現(xiàn)實(shí)可能性,縮短了供求之間的距離。繞過傳統(tǒng)的經(jīng)銷商而直接與客戶溝通,企業(yè)可以將需求直接轉(zhuǎn)化為企業(yè)的生產(chǎn)指令,減少了許多中間環(huán)節(jié),使得零庫存生產(chǎn)成為可能。在批發(fā)領(lǐng)域,電子商務(wù)可以在很大程度上取代傳統(tǒng)商業(yè)在商品流通渠道中的批發(fā)職能,使批發(fā)商的作用大大削弱.除了農(nóng)業(yè)生產(chǎn)資料要面對(duì)眾多零星的農(nóng)戶以外,大多數(shù)生產(chǎn)消費(fèi)者都有可能直接上網(wǎng)采購生產(chǎn)資料。而對(duì)于普通消費(fèi)者,則可以通過網(wǎng)絡(luò)購買降低購物成本。     (3)有利于形成高效流通、交換體制.電子商務(wù)構(gòu)成了虛擬社會(huì)中的整個(gè)商

13、品交易龐大網(wǎng)絡(luò),實(shí)體社會(huì)中商品的盲目實(shí)物移動(dòng)轉(zhuǎn)變?yōu)橛心繕?biāo)的實(shí)物移動(dòng)。借助于電子商務(wù)的信息溝通和需求預(yù)測(cè),企業(yè)可以組織有效生產(chǎn),形成高效流通、交換體制。政府則可以通過電子商務(wù),將市場(chǎng)、企業(yè)和個(gè)人聯(lián)接起來,方便地進(jìn)行宏觀調(diào)控和微觀調(diào)控.     (4)有利于第三產(chǎn)業(yè)的發(fā)展。電子商務(wù)大量運(yùn)用最先進(jìn)的信息技術(shù),必將推動(dòng)產(chǎn)業(yè)結(jié)構(gòu)的優(yōu)化和升級(jí),特別是促進(jìn)了現(xiàn)代第三產(chǎn)業(yè)的發(fā)展,增強(qiáng)了經(jīng)濟(jì)結(jié)構(gòu)自身的穩(wěn)定性.電子商務(wù)以新供給創(chuàng)造了新需求,又以新需求推動(dòng)了新供給,促進(jìn)了社會(huì)總供求的良性互動(dòng),推動(dòng)了經(jīng)濟(jì)的持續(xù)穩(wěn)定增長(zhǎng),從而延長(zhǎng)了經(jīng)濟(jì)擴(kuò)張期,減小了經(jīng)濟(jì)波動(dòng)的幅度。個(gè)人收集整理,

14、勿做商業(yè)用途個(gè)人收集整理,勿做商業(yè)用途在這里,我采用B/S模式來實(shí)現(xiàn)客戶端對(duì)服務(wù)器端的調(diào)用,所謂B/S模式即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起來的新的網(wǎng)絡(luò)結(jié)構(gòu)模式。在B/S模式中,客戶端運(yùn)行瀏覽器軟件.瀏覽器以超文本形式向Web服務(wù)器提出訪問數(shù)據(jù)庫的要求,Web服務(wù)器接受客戶端請(qǐng)求后,將這個(gè)請(qǐng)求轉(zhuǎn)化為SQL語法,并交給數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器得到請(qǐng)求后,驗(yàn)證其合法性,并進(jìn)行數(shù)據(jù)處1準(zhǔn)備知識(shí)ASP技術(shù)1。1 ASP的簡(jiǎn)介ASP(Active server pages)是一種類似HTML(Hypertext Markup Language超文本標(biāo)識(shí)語言)、Script與CGI

15、(Common GAteway Interface 通用網(wǎng)關(guān)接口)的結(jié)合體,但是其運(yùn)行效率卻比CGI更高、程序編制也比HTML更方便且更有靈活性,程序安全及保密性也比Script好.HTML(Hypertext Markup Language)是一種超文本標(biāo)識(shí)語言,文件通過這種格式可以在互連網(wǎng)上載送瀏覽,用戶只要使用網(wǎng)頁瀏覽器工具就可以瀏覽這些文件,目前比較常用的工具包括Microsoft Internet Explorer,Netscape Communicator等,由于HTML文件都是由標(biāo)簽(tag)所組成,因此它比較適合制作靜態(tài)網(wǎng)頁,再者,由于先天上的限制HTML是無法直接存取數(shù)據(jù)庫的

16、,所以存取數(shù)據(jù)庫的工作大多是依靠CGI來處理。ASP不但可以包含HTML標(biāo)簽,也可以直接存取數(shù)據(jù)庫及使用無限擴(kuò)充的ActiveX控件,因此在程序編制上要比HTML方便而且更富有靈活性。ASP以HTML為基礎(chǔ),主體還是HTML代碼,只是在需要ASP動(dòng)態(tài)產(chǎn)生的地方加入ASP代碼。ASP的最終顯示結(jié)果也是HTML代碼,可準(zhǔn)確控制ASP的輸出結(jié)果。Script(腳本)是由一組可以在WEB服務(wù)器或客戶端瀏覽器運(yùn)行的命令組合而成,目前在網(wǎng)頁編制上比較流行的腳本語言包括 VBScript,JavaScript。這些腳本大都是在客戶端運(yùn)行,因此,客戶端可以很清楚的取得腳本的內(nèi)容。所以,就安全性而言,這些客戶端

17、的腳本語言的確有危險(xiǎn)。ASP雖然具有腳本語言的方便性,但由于他是在WEB服務(wù)器端運(yùn)行,運(yùn)行后再將運(yùn)行結(jié)果以HTML格式傳送至客戶端的瀏覽器。因此ASP與一般的腳本語言相比,要安全的多。1。2 ASP的特點(diǎn)ASP可以和HTML或其它腳本語言(VBScript,JavaScript)相互嵌套。 ASP是一種在WEB服務(wù)器端運(yùn)行的腳本語言,程序代碼安全保密。 ASP以對(duì)象為基礎(chǔ),因此可以使用ActiveX控件繼續(xù)擴(kuò)充其功能。 ASP內(nèi)置ADO組件,因此可以輕松的存取各種數(shù)據(jù)庫 .ASP可以將運(yùn)行結(jié)果以HTML的格式傳送至客戶端瀏覽器,因而可以適用與各種瀏覽器.1.3 ASP的工作原理如果瀏覽器向II

18、S/PWS請(qǐng)求的是。HTM文件,那么IIS/PWS會(huì)直接把文件的內(nèi)容傳給瀏覽器。如果瀏覽器向IIS/PWS請(qǐng)求的是。ASP文件,則IIS/PWS會(huì)首先解釋文件。IIS/PWS解釋。ASP文件的過程中,遇到HTML標(biāo)記或一般文字時(shí)會(huì)直接把讀區(qū)的內(nèi)容傳給瀏覽器。如果遇到 的標(biāo)記,則會(huì)把其中的內(nèi)容視為程序,然后解釋執(zhí)行,但程序經(jīng)過IIS/PWS解釋執(zhí)行后,其源程序代碼不會(huì)傳給瀏覽器,而只是把可顯示的運(yùn)行結(jié)果傳給了瀏覽器。Active Server Page技術(shù)為應(yīng)用開發(fā)商提供了基于腳本的直觀、快速、高效的應(yīng)用開發(fā)手段,極大2 系統(tǒng)概述2.1 系統(tǒng)設(shè)計(jì)思想整個(gè)系統(tǒng)是以ASP技術(shù)來開發(fā),數(shù)據(jù)庫的創(chuàng)建使用

19、Microsoft Access 2000,對(duì)數(shù)據(jù)庫的查詢和調(diào)用是通過ASP內(nèi)置的ADODB組件來實(shí)現(xiàn)的.為了便于編程,前臺(tái)的操作頁面和后臺(tái)的數(shù)據(jù)庫管理頁面的設(shè)計(jì)我是分別進(jìn)行的。在整個(gè)程序編寫完之后,在將后臺(tái)的數(shù)據(jù)庫管理頁面通過管理員在前臺(tái)的登錄來調(diào)用,這樣就把前臺(tái)和后臺(tái)有機(jī)的連接起來,使操作更加方便。當(dāng)用戶以會(huì)員身份登錄調(diào)用執(zhí)行的是前臺(tái)的操作頁面,而當(dāng)以管理員身份登錄時(shí),則進(jìn)入后臺(tái)管理頁面來對(duì)數(shù)據(jù)庫進(jìn)行操作。而對(duì)于前臺(tái)購物操作中的核心部分-購物籃的實(shí)現(xiàn),這將在后面的功能模塊設(shè)計(jì)章節(jié)中做詳細(xì)闡述。2。2 系統(tǒng)總體結(jié)構(gòu)圖如圖1所示,系統(tǒng)是基于B/S模式開發(fā)的。Internet信息服務(wù)器2。2系統(tǒng)

20、功能描述網(wǎng)上購物系統(tǒng)分為前臺(tái)管理和后臺(tái)管理。前臺(tái)管理包括瀏覽商品、查詢商品、訂購商購物車、用戶信息維護(hù)等功能。后臺(tái)管理包括公告管理、商品管理、訂單管理、投訴管理和用戶管理等模塊。后臺(tái)管理具體描述如下:(1)公告管理 添加公告,包括公告標(biāo)題和公告內(nèi)容等; 修改公告; 刪除公告。(2)商品管理 添加商品類別; 修改商品類別; 刪除商品類別; 添加商品信息,包括商品類別、名稱、編號(hào)、所屬公司等信息; 商品圖片的上傳、修改和刪除; 修改商品信息; 刪除商品信息; 查看商品信息。(3)訂單管理 處理訂單; 辦理發(fā)貨; 辦理結(jié)帳;從功能描述的內(nèi)容可以看到,本系統(tǒng)可以實(shí)現(xiàn)六個(gè)完整的功能。根據(jù)這些功能,設(shè)計(jì)出

21、系統(tǒng)的功能模塊,如圖2所示。 圖2 網(wǎng)上購物系統(tǒng)功能模塊示意圖在本系統(tǒng)中,用戶管理模塊的功能比較簡(jiǎn)單。在系統(tǒng)初始化時(shí),有一個(gè)默認(rèn)的“系統(tǒng)管理員"用戶Admin,由程序設(shè)計(jì)人員手動(dòng)地添加到數(shù)據(jù)庫中.Admin用戶可以創(chuàng)建其他的管理員信息;普通用戶則可以修改自己注冊(cè)信息和密碼。用戶管理功能模塊的關(guān)系如圖3所示。普通用戶Adm用戶 系統(tǒng)用戶信息管理修改自身的密碼創(chuàng)建、修改和刪除管理員信息刪除用戶信息修改自身的密碼創(chuàng)建、修改自身的信息圖3 用戶管理功能模塊關(guān)系圖2。4系統(tǒng)流程分析在本系統(tǒng)中,客戶購物要先瀏覽商品再選擇商品,然后是訂購商品。如果是未注冊(cè)的客戶要先注冊(cè),已注冊(cè)未登陸的客戶要先登陸

22、,已登陸注冊(cè)的客戶就可以去去購物車確認(rèn)訂購的商品,確認(rèn)好商品再去收銀臺(tái)提交訂購單。前臺(tái)客戶購物流程如圖4:圖4 前臺(tái)客戶購物流程圖在本系統(tǒng)中,后臺(tái)的管理是接到用戶的訂單,接著是訂單的處理,根據(jù)訂單的內(nèi)容發(fā)貨,然后就是訂單結(jié)帳,最后是訂單刪除。后臺(tái)訂單處理流程如圖5所示。圖5 后臺(tái)訂單處理流程圖認(rèn)多用戶系統(tǒng)的工作流程都是從用戶登錄模塊開始的,之后,對(duì)用戶的身份進(jìn)行認(rèn)證,確定用戶是否是有效的注冊(cè)用戶以決定用戶的操作權(quán)限,從而決定用戶的工作界面。2。5系統(tǒng)功能模塊圖 如圖6所示,用戶進(jìn)入本系統(tǒng)后,非會(huì)員用戶可以查看商品,若要購買商品就要先進(jìn)入會(huì)員注冊(cè)界面注冊(cè)成會(huì)員才行。會(huì)員用戶進(jìn)入本系統(tǒng)可以直接進(jìn)行

23、商品的查詢,訂單查詢和商品購買等操作。管理員進(jìn)入可以直接進(jìn)行商品添加,商品審查,處理訂單,發(fā)貨查詢,會(huì)員審查,管理員添加,管理員審查等操作。2。6 系統(tǒng)開發(fā)工具開發(fā)環(huán)境:WindowsXP Professional IIS 5。0(Internet Information Server 5。0) Internet Explorer 6。0腳本語言:JavaScript、VBScript數(shù)據(jù)庫工具:Microsoft Access 2000ASP開發(fā)工具:Microsoft Visual InterDev 6。0 網(wǎng)頁設(shè)計(jì):Macromedia DreamweaverMX會(huì)員審查管理員添加管理員

24、審查圖6 系統(tǒng)功能模塊圖3系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫的建立3.1 系統(tǒng)數(shù)據(jù)源的設(shè)置使用ADO去編寫緊湊簡(jiǎn)明的腳本以便連接到ODBC 兼容的數(shù)據(jù)庫和 OLE DB 兼容的源。具體的操作步驟可以歸納為以下幾步: 創(chuàng)建數(shù)據(jù)庫源名(DSN) ADODB通過ODBC工作,因此要在ODBC中設(shè)置DSN(數(shù)據(jù)源名).打開Windows的"控制面板",雙擊"ODBC”的圖標(biāo),然后選擇”文件 DSN ”的屬性頁,單擊<添加>,選擇數(shù)據(jù)庫驅(qū)動(dòng)程序,然后單擊"下一步”,按照屏幕的指示鍵入數(shù)據(jù)源文件的名稱,然后單擊“下一步",再單擊"完成”創(chuàng)建數(shù)據(jù)源。創(chuàng)建數(shù)

25、據(jù)庫鏈接 鏈接用以保持一些關(guān)于正在訪問的數(shù)據(jù)的動(dòng)態(tài)信息,以及鏈接者信息。利用ADODB的成員函數(shù)Open和先前設(shè)定的DSN與數(shù)據(jù)庫連接,其語法如下:SetConnect=Server。CreateObject("ADODB.Connection")/創(chuàng)建了鏈接對(duì)象Connect。 Connect.Open("DSN=dsnname;UID=userID;PWD=password”) /打開鏈接。dsnname為數(shù)據(jù)源名;userID為用戶名;password為用戶口令.創(chuàng)建數(shù)據(jù)對(duì)象 ADO中的數(shù)據(jù)對(duì)象通常保存的是查詢結(jié)果.RecordSet 是ADO中最復(fù)雜的對(duì)象

26、,有許多屬性和方法,靈活運(yùn)用,可以達(dá)到許多好的效果。其創(chuàng)建方法如下: Set RecordSet =Connect。Execute(sqtStr) ,創(chuàng)建并打開了對(duì)象RecordSet ,sqtStr是一個(gè)串,代表一條標(biāo)準(zhǔn)的SQL語句.例如: sqlStr=”SELECTFROM b1” Set RecordSet =Connect.Execute(sqlStr) 這條語句執(zhí)行后,對(duì)象RecordSet中就保存了b1中的所有記錄。 操作數(shù)據(jù)庫,可利用Execute方便地執(zhí)行數(shù)據(jù)的插入、修改、刪除等操作.上述是用ASP訪問數(shù)據(jù)庫的全過程,由于應(yīng)用面向?qū)ο笏枷耄胁僮鞫急容^簡(jiǎn)單,用戶需要注意的僅

27、是對(duì)數(shù)據(jù)結(jié)構(gòu)的了解、當(dāng)前所操作的對(duì)象及對(duì)象的屬性等等,只要對(duì)這些有了清晰的認(rèn)識(shí),再加上ASP強(qiáng)大功能,在網(wǎng)絡(luò)上使用數(shù)據(jù)庫,實(shí)現(xiàn)用戶與頁面間交換信息,就再也不是什么難事了。3.2 表、關(guān)系模型和數(shù)據(jù)庫的概述一個(gè)數(shù)據(jù)庫的信息通常組織和存儲(chǔ)在表的形式中,各個(gè)表具有行和列.這樣由行和列組成對(duì)象的項(xiàng)目稱為數(shù)據(jù)項(xiàng)(又稱為字段),所有數(shù)據(jù)項(xiàng)組成一個(gè)記錄,若干個(gè)同類記錄構(gòu)成表文件。若干個(gè)同類記錄構(gòu)成表文件。若干個(gè)表以及它們的關(guān)系等用來管理數(shù)據(jù),也叫做數(shù)據(jù)庫文件。數(shù)據(jù)庫加上相應(yīng)的操作和管理數(shù)據(jù)庫的軟件,即為一個(gè)數(shù)據(jù)庫管理系統(tǒng)(dbms),它能合理地組織和存儲(chǔ)大量數(shù)據(jù),并支持對(duì)于數(shù)據(jù)庫表中數(shù)據(jù)的各種操作,如:更新

28、、排序、索引、查詢、列表、打印等。數(shù)據(jù)庫系統(tǒng)是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量的相關(guān)數(shù)據(jù),方便用戶訪問的計(jì)算機(jī)軟件、硬件資源組成的系統(tǒng),它由數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫以及支撐數(shù)據(jù)庫管理系統(tǒng)的軟、硬件構(gòu)成。數(shù)據(jù)庫離不開數(shù)據(jù)模型。數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界客觀事物及其聯(lián)系的描述,它反映數(shù)據(jù)項(xiàng)之間和記錄之間的聯(lián)系,在數(shù)據(jù)庫技術(shù)中使用模型的概念描述數(shù)據(jù)庫的結(jié)構(gòu)與語義。常用的三種數(shù)據(jù)模型:層次模型、網(wǎng)狀模型和關(guān)系模型。此外,還有面向?qū)ο竽P偷?。關(guān)系模型把數(shù)據(jù)之間的關(guān)系看成是一個(gè)二維表關(guān)系,因?yàn)槎S表關(guān)系建立在集合代數(shù)關(guān)系理論基礎(chǔ)上的,所以,把這種建立模型基礎(chǔ)上的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫。數(shù)據(jù)庫與文件系統(tǒng)不同,其數(shù)據(jù)獨(dú)立于

29、程序而存在,并可以提供給不同的用戶共享使用,其基本思想是對(duì)所有的數(shù)據(jù)實(shí)行統(tǒng)一的、集中的、獨(dú)立于程序的管理。關(guān)系數(shù)據(jù)庫管理系統(tǒng)很好地實(shí)現(xiàn)了這一基本思想。3。3 范式和建表的規(guī)范化在關(guān)系模型中,一個(gè)數(shù)據(jù)庫模式是關(guān)系模式的集合.在建立書店數(shù)據(jù)庫時(shí),要按關(guān)系能好的關(guān)系模式的集合作為數(shù)據(jù)庫模式,關(guān)系模式的優(yōu)劣,可以用模式的范式(normalforms,簡(jiǎn)記為NF)。第一范式(1NF)如果關(guān)系模式R的每個(gè)關(guān)系r的屬性值都是不可分的原子值,那么稱R是第一范式(1NF)的模式,r是規(guī)范化關(guān)系。例如教師模式R(NAME,ADDRESS,PHONE),如果一個(gè)教師家中裝了兩部電話,那么關(guān)系中至少要出現(xiàn)兩個(gè)元組,以

30、便存儲(chǔ)兩個(gè)號(hào)碼。1NF的模式是關(guān)系數(shù)據(jù)庫最基本的要求,遠(yuǎn)不是理想3NF的模式必定是2NF的模式。局部依賴和傳遞依賴是產(chǎn)生冗余和異常的兩個(gè)重要原因。由于3NF模式中不存在非主屬性對(duì)候選鍵的局部依賴和傳遞依賴,因此消除了很大一部分存儲(chǔ)異常,具有較好的性能。而對(duì)于非3NF的1NF、2NF甚至非1NF的關(guān)系模式,由于它們性能上的弱點(diǎn),一般不宜作為數(shù)據(jù)庫模式,通常需要將它們變換成3NF或更高級(jí)的范式(即關(guān)系的規(guī)范化處理)。BC范式(BoyceCodd NF,簡(jiǎn)稱BCNF)若關(guān)系模式R是1NF,且每個(gè)屬性都不傳遞依賴于的R的候選鍵,那么稱R是BCNF模式。此時(shí)排除了任何屬性對(duì)鍵的傳遞依賴。在設(shè)計(jì)數(shù)據(jù)庫關(guān)系

31、模式時(shí),應(yīng)作權(quán)衡,盡可能使數(shù)據(jù)庫模式保持最優(yōu)的特性,一般盡可能設(shè)計(jì)成BCNF模式集,如果設(shè)計(jì)成BCNF模式集的同時(shí)達(dá)不到保持FD的目標(biāo),那只能降低要求,設(shè)計(jì)成3NF模式集,而同時(shí)又達(dá)到無損害聯(lián)接和保持FD的目標(biāo).抓住以上規(guī)則后,就能使用Microsoft Access設(shè)計(jì)出性能良好的數(shù)據(jù)庫了。字段名數(shù)據(jù)類型字段大小字段說明Id自動(dòng)編號(hào)長(zhǎng)整型管理員編號(hào)UserName文本20管理員帳號(hào)PassWord文本20管理員密碼 表3 商品大類表(Class_1)字段名數(shù)據(jù)類型字段大小字段說明ID長(zhǎng)整型自動(dòng)大類編號(hào)Class_1_Name文本30大類名稱Class_1_RegTime日期時(shí)間默認(rèn)值Now(

32、)添加時(shí)間表4 商品小類表(Class_2)字段名數(shù)據(jù)類型字段大小字段說明ID長(zhǎng)整型自動(dòng)小類編號(hào)Class_2_Name文本30小類名稱Class_1_Name文本30所屬大類名稱Class_2_RegTime日期時(shí)間默認(rèn)值Now()添加時(shí)間P_Full_Pic文本50商品全景圖RegTime日期時(shí)間默認(rèn)值Now()商品錄入時(shí)間Look_Count長(zhǎng)整型自動(dòng)商品瀏覽次數(shù)表6 購物籃表(ShopList)字段名數(shù)據(jù)類型字段大小字段說明Product_Id長(zhǎng)整型10商品編號(hào)Form_Id長(zhǎng)整型自動(dòng)所屬訂單號(hào)Product_Name文本30商品名稱Number文本255購物數(shù)量P_NewPrice貨

33、幣自動(dòng)會(huì)員價(jià)格RegTime日期時(shí)間默認(rèn)值Now()購物時(shí)間表7 訂單表(OrderList)字段名數(shù)據(jù)類型字段大小字段說明Form_ID長(zhǎng)整型自動(dòng)訂單號(hào)User_ID文本20會(huì)員帳戶名Name文本20會(huì)員姓名Zip文本20郵編Phone文本30聯(lián)系電話Email文本30電子信箱說明:所建立的數(shù)據(jù)庫文件(SuperMarket_Data.mdb)保存在文件夾market_database下,為防止別人隨意篡改數(shù)據(jù)庫,我將其后綴名改為.asp來調(diào)用。4 系統(tǒng)功能模塊設(shè)計(jì)4.1 客戶端4.1。1 購物籃在設(shè)計(jì)購物籃中,首先要考慮到的是購物籃中商品信息的存儲(chǔ),而且在整個(gè)的商品購買中沒有改變,這里就要

34、用到ASP中的內(nèi)置Session組件,它是訪問者從的到達(dá)某個(gè)特定主頁到離開為止的那段時(shí)間,服務(wù)器端給他分配一個(gè)用來儲(chǔ)存信息的全局變量的集合,這些變量可以自動(dòng)生成,也可以是程序人員在服務(wù)器端腳本程序中定義的。Session可以用來存儲(chǔ)訪問者的特定信息,創(chuàng)建訪問者信息容器。我們使用它來作為虛擬購物籃,無論什么時(shí)候用戶在我網(wǎng)站中選擇了一種商品,那么這種商品就會(huì)進(jìn)入購物籃,當(dāng)用戶準(zhǔn)備離開時(shí),就可以立即進(jìn)行以上所有選擇的商品的訂購。這些購物信息可以保存在 Session中。用戶在Web應(yīng)用程序中訪問同一頁面時(shí),Session變量始終存在,當(dāng)用戶在應(yīng)用程序的頁之間跳轉(zhuǎn)時(shí),存儲(chǔ)在Session對(duì)象中的變量也

35、不會(huì)清除。在建立購物籃中,其實(shí)是對(duì)全局變量的操作。在這里我定義了一個(gè)全局變量:ProductList = Session("ProductList”),將購物信息保存到此全局變量中。另外還定義了一個(gè)全局變量Products,通過函數(shù)PutToShopBag()將ProductList的值賦給Products,使用函數(shù)Split()將讀取到的字符串進(jìn)行分割,以得到購物信息:Products = Split(Request(”cpbm”), ”, ")。圖7。購物籃界面在我的購物籃中可操作的事件為:確認(rèn)更改:在數(shù)量項(xiàng)目文本框中可以更改數(shù)目,該事件是用以更新購物籃中的商品數(shù)量;繼

36、續(xù)購物:該事件是關(guān)閉窗口;訂單取消:該事件清空購物籃;去收銀臺(tái):該事件是用來關(guān)閉窗口并重新打開新的窗口.除了購物籃中的可視化操作外,還有就是商品購入事件(即在網(wǎng)上商店的點(diǎn)擊購買的事件)?,F(xiàn)在我們稱這些事件是用來觸發(fā)購物籃中的工作模式,在每次的觸發(fā)模式時(shí),都有一個(gè)傳遞的數(shù)值變量通過來判斷觸發(fā)的是哪個(gè)工作模塊。下面詳細(xì)介紹購物籃(check.asp)各工作模式的具體實(shí)現(xiàn):Add模式(購買添加)用戶點(diǎn)擊他想購買的商品的“訂購”鏈接時(shí),通過調(diào)用函數(shù)OpenBag()來打開頁面check。asp,“訂購”鏈接把有關(guān)商品信息的資料字符傳到check.asp,如下例: While Not rs。EOF Qu

37、atity = CInt( Request( "Q_" & rs(”Product_Id”) ) If Quatity = 0 Then Quatity = CInt( Session(rs(”Product_Id”)) ) If Quatity <= 0 Then Quatity = 1 end if End If Session(rs(”Product_Id”) = QuatitySum = Sum + ccur(rs(”P_NewPrice") * Quatity在輸入文本框中時(shí),該程序?qū)?duì)其輸入的值進(jìn)行判斷,是否是數(shù)字的字符,以避免存儲(chǔ)出錯(cuò),

38、造成不必要的麻煩。其判斷函數(shù)如下(采用Javascript腳本語言編寫):/功能介紹:檢查是否為數(shù)字/參數(shù)說明:要檢查的數(shù)字/返回值:1為是數(shù)字,0為不是數(shù)字function fucCheckNUM(NUM)var i,j,strTemp;strTemp="0123456789”;return 1;這種預(yù)先判斷的處理方式,很大的程度上解決了非法輸入對(duì)后面的存儲(chǔ)所帶來的一系列問題。DelAll模式(清空購物籃)這個(gè)是對(duì)購物籃的商品進(jìn)行清空的處理,其實(shí)就是對(duì)全局變量ProductList賦空值(Session(”ProductList") = ”)。通過調(diào)用函數(shù)clean()來

39、執(zhí)行clear。asp。LinkTo模式(去收銀臺(tái))onclick="window。opener.location。href='PayMent.asp';window.close();”該模式通過點(diǎn)擊觸發(fā)事件onclick來調(diào)用并執(zhí)行PayMent.asp,并關(guān)閉當(dāng)前購物籃.該事件不能對(duì)所購買的商品數(shù)量的更改而更改,只能通過確認(rèn)更改來實(shí)現(xiàn)。繼續(xù)購物摸塊也是調(diào)用Window對(duì)象中的window.close()函數(shù),它回自動(dòng)的關(guān)閉購物籃的窗口,該事件也不能對(duì)所購買的商品數(shù)量的更改而更改。說明:在這里會(huì)出現(xiàn)一種情況,就是說如果未購買任何商品的話,則將返回一提示信息,如8所示

40、。操作:set rs=server.createobject("adodb。recordset”)sqltext="select from RegUser where UserId=" request。form(”uid") & "'”rs.open sqltext,conn,1,1查找數(shù)據(jù)庫,檢查用戶名是否已經(jīng)注冊(cè)過.if rs.recordcount >= 1 then if rs(”userid”)=request.form("uid”) then Response。Redirect ”messagebox

41、.asp?msg=此用戶名已經(jīng)注冊(cè)過,請(qǐng)選用其他用戶名!" response.end rs。close end ifend if之后進(jìn)入用戶詳細(xì)資料登記的頁面(Reg_User_OK.asp)如圖10所示。圖10 會(huì)員詳細(xì)資料頁面圖另外還將調(diào)用頁面Reg_User_2。asp如圖11所示,它將使用大量的Javascript的語言開發(fā)的程序,用來檢查用戶填入字符的正確性。其主要的程序看后面源程序代碼,詳細(xì)的介紹各程序單元所完成的功能和作用.圖11 會(huì)員注冊(cè)詳細(xì)資料圖在用戶登記個(gè)人的詳細(xì)資料時(shí),仍然使用ASP中的Recordset的對(duì)象,對(duì)數(shù)據(jù)庫進(jìn)行添加的操作,其方法如下:rs。addn

42、ewrs(”UserId”)=request。form("uid”)rs(”PassWD")=request.form(”pwd")rs("WtPass”)=request.form("question")rs("DaPass”)=request.form(”answer")rs(”Name”)=request.form(”Name”)rs(”Sex”)=request。form(”Sex”)rs(”Email”)=request.form("Email”)rs("Phone")=re

43、quest。form(”usephone”)rs(”Address")=request.form("haddr”)rs("Zip”)=request.form(”postcode”)rs。update%><set rs_detail=server.createobject(”adodb.recordset”)sqltext2="select from RegUser where UserId=" request。form("uid”) & ”rs_detail.open sqltext2,conn,1,1申請(qǐng)成功后

44、進(jìn)入提示界面,告訴用戶已經(jīng)申請(qǐng)成功如圖12所示.asp:ProductClass_2=request("ProductClass_2")set rs=server。createobject(”adodb。recordset")sqltext=”select from Product” if request(”Product_Name")>"" then sqltext=sqltext " where Product_Name like " request(”Product_Name") "

45、' " else sqltext=sqltext &” where Product_Name like %"& ”" &” " end if if request("Product_Class")<>"" then sqltext=sqltext &” and Class_1 like ”& request(”Product_Class”) &"% ” end if在這里,如果查詢的不是屬于當(dāng)前用戶自己的訂單,則返回出錯(cuò)信息如圖13所示.

46、圖13 出錯(cuò)信息圖response。redirect ”messagebox。asp?msg=您不能查看不屬于您的訂單,請(qǐng)重新輸入您自己的訂單號(hào)!”圖14 訂單查詢圖4.2 后臺(tái)管理后臺(tái)管理的功能主要包括:商品的添加、商品的審查、訂單的處理、發(fā)或的查詢、會(huì)員的審查以及管理員的添加和審查。4。2.1 商品的添加商品的添加功能是通過三個(gè)步驟來實(shí)現(xiàn)的:商品大類添加、商品小類的添加、商品的添加。(1)大類添加 function FORM1_onsubmit() if(document。FORM1。class_name。value。length<1) alert(”您必須輸入商品大類名稱!&quo

47、t;); document.FORM1。class_name。focus(); return false; sqltext=”select * from Class_1 where Class_1_name=" request.form("class_name") & ”'"rs。open sqltext,conn,1,1 if rs("Class_2_name”)=request。form("class_2_name") then Response.Redirect "messagebox。asp

48、?msg=此商品小類已經(jīng)存在,請(qǐng)選用其它名稱!” response.end rs。close end ifend ifset rs=server。createobject("adodb.recordset”)sqltext=”select * from Class_2”rs.open sqltext,conn,3,3添加一個(gè)商品小類到數(shù)據(jù)庫。rs.addnewrs(”Class_2_name")=request.form(”class_2_name”)rs(”Class_1_name”)=request。form("class_1_name")rs。up

49、dateset rs_detail=server。createobject(”adodb.recordset”)sqltext2="select from Class_2 where Class_2_name='” request。form("class_2_name") & "' and Class_1_name=" request.form("class_1_name”) & "'”rs_detail.open sqltext2,conn,1,1小類添加頁面如圖16所示。圖16 小

50、類添加圖(3)商品的添加/所屬大類rs(”P_oldprice”)=request。form("oldprice”)rs("P_pic”)=request.form(”p_pic”)rs("P_Full_pic")=request。form(”p_full_pic”)rs。updateset rs_detail=server。createobject(”adodb。recordset”)sqltext2=”select from Product where Product_name='” request。form(”p_name”) ”'

51、”rs_detail.open sqltext2,conn,1,1商品添加的頁面如圖17,圖18,圖19所示。 圖17 商品添加圖1圖18 商品添加圖2圖19 商品添加圖3品信息進(jìn)行編輯修改,然后調(diào)用Product_Modify_Ok.asp頁面將修改后的信息添加到商品表(Product)中。set rs=server.createobject("adodb.recordset”)sqltext=”select * from Product where Product_no=" request.form("product_no")rs.open sqlt

52、ext,conn,3,3更新商品到數(shù)據(jù)庫。rs("Class_2”)=request。form(”class_2_name")rs("Class_1”)=request.form(”class_1_name”)rs(”Product_name")=request。form(”p_name")rs("Product_intro")=request.form("p_intro”)rs("Product_show")=request.form(”p_show”)rs(”P_newprice”)=req

53、uest。form("newprice”)rs(”P_oldprice")=request.form("oldprice")rs(”P_pic”)=request。form(”p_pic”)rs(”P_full_pic”)=request。form("p_full_pic")圖22 用戶訂單資料圖訂單審查實(shí)現(xiàn)了兩個(gè)功能:處理訂單和刪除訂單。處理訂單:set rs=server.createobject(”adodb.recordset”)sqltext=”select Flag from OrderList where Form_Id

54、=" & request("Form_Id”)rs。open sqltext,conn,3,3 response.redirect ”ordermessagebox.asp?msg=訂貨單處理處理完畢,請(qǐng)按客戶詳細(xì)地址發(fā)貨!”end if刪除訂單:在這里,我使用了一個(gè)java腳本,定義了刪除函數(shù):<script language=”javascript”> function confirmdel(id,page) if (confirm(”真的要?jiǎng)h除這個(gè)訂單?”)) window.location。href="del_orderlist.asp?id=”+id+"page="+page /script會(huì)員的刪除與訂單的刪除類似,我也定義了一個(gè)java腳本來調(diào)用頁面(Del_User。asp)來實(shí)現(xiàn)刪除操作:script language="ja

溫馨提示

  • 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)論