畢業(yè)設(shè)計—汽車銷售管理信息系統(tǒng)_第1頁
已閱讀1頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  汽車銷售管理信息系統(tǒng)</p><p>  摘 要: 隨著Internet的不斷普及,人們對于互聯(lián)網(wǎng)技術(shù)的要求已不單單是瀏覽一下網(wǎng)頁,收發(fā)電子郵件,日益忙碌的人們開始追求足不出戶的利用互聯(lián)網(wǎng)這一強大的平臺來實現(xiàn)的網(wǎng)上購物。對于企業(yè)來講,無論是企業(yè)之間(B to B),還是企業(yè)和客戶之間(B to C)的交易,如果能夠?qū)崿F(xiàn)網(wǎng)上交易將大大提高交易速度節(jié)約交易成本。近幾年,隨著網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)的進

2、一步發(fā)展,使得這一設(shè)想逐漸成為現(xiàn)實。</p><p>  運用ASP技術(shù)和網(wǎng)絡(luò)數(shù)據(jù)庫原理,基于B/S模式我開發(fā)了一個汽車銷售管理系統(tǒng)。在我的系統(tǒng)中,顧客可以很方便的注冊成為會員,對汽車進行瀏覽檢索,查看汽車的詳細資料,然后根據(jù)各人的喜好購買心儀的汽車。系統(tǒng)會自動為顧客生成訂單,按照顧客所填寫的信息提交訂單并發(fā)貨。系統(tǒng)管理員則可以對現(xiàn)有的汽車信息進行添加和編輯,審查已注冊的用戶并對提交的訂單進行處理。</p&

3、gt;<p>  關(guān)鍵詞:汽車銷售管理系統(tǒng);B/S模式;ASP。</p><p>  Abstract: Along with the Internet of continuously universal, people are for the request of technique Internet the already and not only single is a view once

4、web page, receive and dispatch the E-mail, increasingly busy people start pursuing the exploitation Internet that keep the house this a the mighty platform come the net that realizes on the shopping.Speak for the busines

5、s enterprise, and wether is the business enterprise's( B to B), or business enterprise with the customer's bargain for( B </p><p>  Application ASP technique is with the network database principle, a

6、ccording to B/ S mode I developped a net on the shopping system.In my system, customer can very the convenient registration become the member, and proceeds to merchandise view index, look into favour that the merchandise

7、's 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 inn<

8、;/p><p>  Key words: Cars Sells Management Information System;B/ S mode;ASP.</p><p><b>  概述</b></p><p>  1.1 ASP的簡介</p><p>  ASP(Active server pages)是一種類似HTML(

9、Hypertext Markup Language超文本標(biāo)識語言)、Script與CGI(Common GAteway Interface 通用網(wǎng)關(guān)接口)的結(jié)合體,但是其運行效率卻比CGI更高、程序編制也比HTML更方便且更有靈活性,程序安全及保密性也比Script好。</p><p>  HTML(Hypertext Markup Language)是一種超文本標(biāo)識語言,文件通過這種格式可以在互連網(wǎng)上載送瀏覽,

10、用戶只要使用網(wǎng)頁瀏覽器工具就可以瀏覽這些文件,目前比較常用的工具包括Microsoft Internet Explorer,Netscape Communicator等,由于HTML文件都是由標(biāo)簽(tag)所組成,因此它比較適合制作靜態(tài)網(wǎng)頁,再者,由于先天上的限制HTML是無法直接存取數(shù)據(jù)庫的,所以存取數(shù)據(jù)庫的工作大多是依靠CGI來處理。ASP不但可以包含HTML標(biāo)簽,也可以直接存取數(shù)據(jù)庫及使用無限擴充的ActiveX控件,因此在程序編

11、制上要比HTML方便而且更富有靈活性。ASP以HTML為基礎(chǔ),主體還是HTML代碼,只是在需要ASP動態(tài)產(chǎn)生的地方加入ASP代碼。ASP的最終顯示結(jié)果也是HTML代碼,可準確控制ASP的輸出結(jié)果。</p><p>  Script(腳本)是由一組可以在WEB服務(wù)器或客戶端瀏覽器運行的命令組合而成,目前在網(wǎng)頁編制上比較流行的腳本語言包括 VBScript,JavaScript。這些腳本大都是在客戶端運行,因此,客戶

12、端可以很清楚的取得腳本的內(nèi)容。所以,就安全性而言,這些客戶端的腳本語言的確有危險。ASP雖然具有腳本語言的方便性,但由于他是在WEB服務(wù)器端運行,運行后再將運行結(jié)果以HTML格式傳送至客戶端的瀏覽器。因此ASP與一般的腳本語言相比,要安全的多。</p><p>  1.2 ASP的特點</p><p>  ASP可以和HTML或其它腳本語言(VBScript,JavaScript)相互嵌套

13、 </p><p>  ASP是一種在WEB服務(wù)器端運行的腳本語言,程序代碼安全保密 </p><p>  ASP以對象為基礎(chǔ),因此可以使用ActiveX控件繼續(xù)擴充其功能 </p><p>  ASP內(nèi)置ADO組件,因此可以輕松的存取各種數(shù)據(jù)庫 </p><p>  ASP可以將運行結(jié)果以HTML的格式傳送至客戶端瀏覽器,因而可以適用與各種

14、瀏覽器</p><p>  1.3 ASP的工作原理</p><p>  如果瀏覽器向IIS/PWS請求的是.HTM文件,那么IIS/PWS會直接把文件的內(nèi)容傳給瀏覽器.但如果瀏覽器向IIS/PWS請求的是.ASP文件,則IIS/PWS會首先解釋文件.</p><p>  IIS/PWS解釋.ASP文件的過程中,遇到HTML標(biāo)記或一般文字時會直接把讀區(qū)的內(nèi)容傳給瀏覽

15、器.但如果遇到<% %>的標(biāo)記,則會把其中的內(nèi)容視為程序,然后解釋執(zhí)行,但程序經(jīng)過IIS/PWS解釋執(zhí)行后,其源程序代碼不會傳給瀏覽器,而只是把可顯示的運行結(jié)果傳給了瀏覽器</p><p>  Active Server Page技術(shù)為應(yīng)用開發(fā)商提供了基于腳本的直觀、快速、高效的應(yīng)用開發(fā)手段,極大地提高了開發(fā)的效果。ASP腳本是采用明文(plain text)方式來編寫的。 ASP腳本是一系列按特定語

16、法(目前支持vbscript和jscript兩種腳本語言)編寫的,與標(biāo)準HTML頁面混合在一起的腳本所構(gòu)成的文本格式的文件。當(dāng)客戶端的最終用戶用WEB瀏覽器通過INTERNET來訪問基于ASP腳本的應(yīng)用時,WEB瀏覽器將向WEB服務(wù)器發(fā)出HTTP請求。WEB服務(wù)器分析、判斷出該請求是ASP腳本的應(yīng)用后,自動通過ISAPI接口調(diào)用ASP腳本的解釋運行引擎(ASP.DLL)。ASP.DLL將從文件系統(tǒng)或內(nèi)部緩沖區(qū)獲取指定的ASP腳本文件,接

17、著就進行語法分析并解釋執(zhí)行。最終的處理結(jié)果將形成HTML格式的內(nèi)容,通過WEB服務(wù)器"原路"返回給WEB瀏覽器,由WEB瀏覽器在客戶端形成最終的結(jié)果呈現(xiàn)。這樣就完成了一次完整的ASP腳本調(diào)用。若干個有機的ASP腳本調(diào)用就組成了一個完整的ASP腳本應(yīng)用。</p><p>  1.4表、關(guān)系模型和數(shù)據(jù)庫的概述</p><p>  一個數(shù)據(jù)庫的信息通常組織和存儲在表的形式中,

18、各個表具有行和列。這樣由行和列組成對象的項目稱為數(shù)據(jù)項(又稱為字段),所有數(shù)據(jù)項組成一個記錄,若干個同類記錄構(gòu)成表文件。若干個同類記錄構(gòu)成表文件。若干個表以及它們的關(guān)系等用來管理數(shù)據(jù),也叫做數(shù)據(jù)庫文件。</p><p>  數(shù)據(jù)庫加上相應(yīng)的操作和管理數(shù)據(jù)庫的軟件,即為一個數(shù)據(jù)庫管理系統(tǒng)(dbms),它能合理地組織和存儲大量數(shù)據(jù),并支持對于數(shù)據(jù)庫表中數(shù)據(jù)的各種操作,如:更新、排序、索引、查詢、列表、打印等。數(shù)據(jù)庫系

19、統(tǒng)是實現(xiàn)有組織地、動態(tài)地存儲大量的相關(guān)數(shù)據(jù),方便用戶訪問的計算機軟件、硬件資源組成的系統(tǒng),它由數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫以及支撐數(shù)據(jù)庫管理系統(tǒng)的軟、硬件構(gòu)成。</p><p>  數(shù)據(jù)庫離不開數(shù)據(jù)模型。數(shù)據(jù)模型是對現(xiàn)實世界客觀事物及其聯(lián)系的描述,它反映數(shù)據(jù)項之間和記錄之間的聯(lián)系,在數(shù)據(jù)庫技術(shù)中使用模型的概念描述數(shù)據(jù)庫的結(jié)構(gòu)與語義。常用的三種數(shù)據(jù)模型:層次模型、網(wǎng)狀模型和關(guān)系模型。此外,還有面向?qū)ο竽P偷取?lt;/p

20、><p>  關(guān)系模型把數(shù)據(jù)之間的關(guān)系看成是一個二維表關(guān)系,因為二維表關(guān)系建立在集合代數(shù)關(guān)系理論基礎(chǔ)上的,所以,把這種建立模型基礎(chǔ)上的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫。</p><p>  數(shù)據(jù)庫與文件系統(tǒng)不同,其數(shù)據(jù)獨立于程序而存在 ,并可以提供給不同的用戶共享使用,其基本思想是對所有的數(shù)據(jù)實行統(tǒng)一的、集中的、獨立于程序的管理。關(guān)系數(shù)據(jù)庫管理系統(tǒng)很好地實現(xiàn)了這一基本思想。</p><

21、p><b>  1.5系統(tǒng)開發(fā)工具</b></p><p>  開發(fā)環(huán)境:WindowsXP Professional </p><p>  IIS 5.0(Internet Information Server 5.0)</p><p>  Internet Explorer 6.0</p><p>  腳本語言

22、:JavaScript、VBScript</p><p>  數(shù)據(jù)庫工具:Microsoft Access 2000</p><p>  ASP開發(fā)工具:Microsoft Visual InterDev 6.0 </p><p>  網(wǎng)頁設(shè)計:Macromedia DreamweaverMX</p><p>  二 可行性問題與需求分析&

23、lt;/p><p><b>  2.1問題的提出</b></p><p>  對于基于Web平臺的網(wǎng)上購物系統(tǒng),存在著一個前臺應(yīng)用和后臺管理的問題。而無論前臺還是后臺,都要對數(shù)據(jù)庫進行調(diào)用和操作。因此如何創(chuàng)建網(wǎng)絡(luò)數(shù)據(jù)庫,以及客戶端如何調(diào)用服務(wù)器端的數(shù)據(jù)庫成為實現(xiàn)網(wǎng)上購物的一個關(guān)鍵性問題。計算機技術(shù)的發(fā)展與普及,已經(jīng)改變了我們的生活方式,計算機應(yīng)用已逐漸滲透到社會發(fā)展的各個

24、領(lǐng)域。隨著計算機技術(shù)和通信技術(shù)的迅猛發(fā)展,社會資源的信息化、數(shù)據(jù)的分布處理、各種計算機資源共享等應(yīng)用需求推動計算機技術(shù)朝著群體化方向發(fā)展,促使計算機技術(shù)與通信技術(shù)緊密結(jié)合。Internet是目前世界上覆蓋范圍最大的計算機網(wǎng)絡(luò)群體。Internet是在通信網(wǎng)絡(luò)的基礎(chǔ)上,以TCP/IP協(xié)議為基準、以域名地址和IP地址為標(biāo)識、以網(wǎng)關(guān)和路由器為轉(zhuǎn)換協(xié)議工具構(gòu)成的網(wǎng)絡(luò)的集合。Internet實質(zhì)上是由遍布全球的各種計算機網(wǎng)絡(luò)互連而形成的網(wǎng)絡(luò)。In

25、ternet的出現(xiàn)不僅使得通信和資源共享的地理范圍擴展至全球,而且隨著其服務(wù)內(nèi)容和應(yīng)用領(lǐng)域的拓寬,正在改變?nèi)藗兊臅r空觀。</p><p>  以微電子、計算機、通信和網(wǎng)絡(luò)技術(shù)為代表的現(xiàn)代信息技術(shù)在經(jīng)濟領(lǐng)域的廣泛應(yīng)用,使得交易成本急劇下降,從而導(dǎo)致信息替代了資本在經(jīng)濟發(fā)展中的主導(dǎo)地位。作為重要的生產(chǎn)要素和戰(zhàn)略資源,通過互聯(lián)網(wǎng)傳遞的大量信息使得現(xiàn)有的社會資源獲得高效配置,社會勞動生產(chǎn)率大幅度提高,并推動經(jīng)濟結(jié)構(gòu)革新和

26、產(chǎn)業(yè)結(jié)構(gòu)的升級。    </p><p>  電子商務(wù)是互聯(lián)網(wǎng)發(fā)展日臻成熟的直接后果,是網(wǎng)絡(luò)技術(shù)應(yīng)用新的發(fā)展方向?;ヂ?lián)網(wǎng)自身所具有的開放性、全球性、低成本、高效率的特點,已成為電子商務(wù)的內(nèi)在特征,并使得電子商務(wù)大大超越了作為一種新的貿(mào)易形式所具有的價值。 電子商務(wù)對于社會生產(chǎn)力的推動作用突出表現(xiàn)在四個方面: </p><p> ?。?)大幅度降低信息成本,提高

27、信息使用效率。作為一個極為重要的商務(wù)信息載體和運送平臺,電子商務(wù)降低了信息來源成本;突破行業(yè)和產(chǎn)品物理特性的限制,使交易范圍急劇放大;彌補信息的不對稱性,實現(xiàn)交易信息互換和交易行為的虛擬市場化。從目前市場情況看,電子商城、網(wǎng)上書店和網(wǎng)上拍賣等交易行為,無不體現(xiàn)與傳統(tǒng)交易相比的信息成本優(yōu)勢。信息成本的低廉形成了對電子商務(wù)生存的最有力的支撐。     (2)大量減少中間環(huán)節(jié),降低銷售成本和購買成本。

28、電子商務(wù)為買賣雙方在網(wǎng)上直接交易提供了現(xiàn)實可能性,縮短了供求之間的距離。繞過傳統(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)資料要面對眾多零星的農(nóng)戶以外,大多數(shù)生產(chǎn)消費者都有可能直接上網(wǎng)采購生產(chǎn)資料。而對于普通消費者,則可以通過網(wǎng)絡(luò)購買降低購物成本。 

29、0;   (3)有利于形成高效流通、交換體制。電子商務(wù)構(gòu)成了虛擬社會中的整個汽車交易龐大網(wǎng)絡(luò),實體社會中汽車的盲目實物移動轉(zhuǎn)變?yōu)橛心繕?biāo)的實物</p><p><b>  2.2問題的解決</b></p><p>  在這里,我采用B/S模式來實現(xiàn)客戶端對服務(wù)器端的調(diào)用,所謂B/S模式即瀏覽器/服務(wù)器模式,是一種從傳統(tǒng)的二層C/S模式發(fā)展起

30、來的新的網(wǎng)絡(luò)結(jié)構(gòu)模式。在B/S模式中,客戶端運行瀏覽器軟件。瀏覽器以超文本形式向Web服務(wù)器提出訪問數(shù)據(jù)庫的要求,Web服務(wù)器接受客戶端請求后,將這個請求轉(zhuǎn)化為SQL語法,并交給數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器得到請求后,驗證其合法性,并進行數(shù)據(jù)處理,然后將處理后的結(jié)果返回給Web服務(wù)器,Web 服務(wù)器再一次將得到的所有結(jié)果進行轉(zhuǎn)化,變成HTML文檔形式,轉(zhuǎn)發(fā)給客戶端瀏覽器以友好的Web頁面形式顯示出來。</p><p&g

31、t;  而對于網(wǎng)絡(luò)數(shù)據(jù)庫的創(chuàng)建,則是利用ASP技術(shù)來解決。ASP(Active Server Pages動態(tài)網(wǎng)頁)是微軟公司推出的一種用以取代CGI(Common Gateway Interface通用網(wǎng)關(guān)接口)的技術(shù)。目前,Internet上的許多基于Windows平臺的Web站點已開始應(yīng)用ASP來替換CGI。 簡單地講,ASP是一個位于服務(wù)器端的腳本運行環(huán)境,通過這種環(huán)境,用戶可以創(chuàng)建和運行動態(tài)的交互式Web服務(wù)器應(yīng)用程序,如交互式

32、動態(tài)網(wǎng)頁,包括使用HTML表單收集和處理信息,上傳與下載等等。 </p><p>  在電子商務(wù)中,對用戶而言,進行網(wǎng)上信息查詢的目的是尋找自己需要的產(chǎn)品或服務(wù),而對于汽車或服務(wù)提供者來說,其目的則是向用戶推銷自己的產(chǎn)品或服務(wù)。因此,讓用戶通過瀏覽器查詢服務(wù)器的后端數(shù)據(jù)庫是許多Web服務(wù)提供者必需有的服務(wù),ASP通過內(nèi)置的ADODB組件來實現(xiàn)這一功能??梢允褂肁DO去編寫緊湊簡明的腳本以便連接到ODBC 兼

33、容的數(shù)據(jù)庫和 OLE DB 兼容的數(shù)據(jù)源。至于實現(xiàn)的細節(jié),在后續(xù)部分的網(wǎng)絡(luò)數(shù)據(jù)庫章節(jié)中有詳細介紹。</p><p><b>  2.3系統(tǒng)流程分析</b></p><p>  前臺客戶購物流程如圖1:</p><p><b>  圖1</b></p><p>  后臺訂單處理流程如圖2:</p

34、><p><b>  圖2</b></p><p>  多用戶系統(tǒng)的工作流程都是從用戶登錄模塊開始的,之后,對用戶的身份進行認證,確認用戶是否是有效的注冊用戶以決定用戶的操作權(quán)限,從而決定用戶的工作界面。</p><p><b>  2.4系統(tǒng)ER圖</b></p><p><b>  ER圖

35、</b></p><p><b>  三.概要設(shè)計</b></p><p>  3.1系統(tǒng)總體結(jié)構(gòu)圖</p><p>  Internet信息服務(wù)器</p><p><b>  Access</b></p><p><b>  數(shù)據(jù)源</b>

36、</p><p>  由圖可以看出,系統(tǒng)是基于B/S模式開發(fā)的。</p><p><b>  3.2系統(tǒng)功能描述</b></p><p>  網(wǎng)上購物系統(tǒng)分為前臺管理和后臺管理。前臺管理包括瀏覽汽車、查詢汽車、訂購汽車、購物車、用戶信息維護等功能。后臺管理包括公告管理、汽車管理、訂單管理、投訴管理和用戶管理等模塊。</p><

37、;p>  后臺管理具體描述如下:</p><p><b>  (1) 公告管理</b></p><p>  ◆ 添加公告,包括公告標(biāo)題和公告內(nèi)容等;</p><p><b>  ◆ 修改公告;</b></p><p><b>  ◆ 刪除公告。</b></p>

38、<p><b>  (2) 汽車管理</b></p><p><b>  ◆ 添加汽車類別;</b></p><p><b>  ◆ 修改汽車類別;</b></p><p><b>  ◆ 刪除汽車類別。</b></p><p>  ◆ 添加

39、汽車信息,包括汽車類別、名稱、編號、所屬公司等信息;</p><p>  ◆ 汽車圖片的上傳、修改和刪除;</p><p><b>  ◆ 修改汽車信息;</b></p><p><b>  ◆ 刪除汽車信息;</b></p><p><b>  ◆ 查看汽車信息。</b>&l

40、t;/p><p><b>  (3) 訂單管理</b></p><p><b>  ◆ 處理訂單;</b></p><p><b>  ◆ 辦理發(fā)貨;</b></p><p><b>  ◆ 辦理結(jié)帳;</b></p><p><

41、b>  ◆ 刪除訂單。</b></p><p><b>  (4) 投訴管理</b></p><p>  ◆ 錄入投訴的解決方法;</p><p>  ◆ 刪除已解決的投訴;</p><p><b>  ◆ 查看投訴用戶。</b></p><p>  (5)

42、 顧客用戶管理功能</p><p>  ◆ 注冊顧客用戶,包括用戶名、密碼等信息;</p><p>  ◆ 修改顧客用戶信息;</p><p>  ◆ 刪除顧客用戶信息。</p><p>  (6) 系統(tǒng)用戶管理功能</p><p>  ◆ 添加系統(tǒng)用戶,包括用戶名、密碼等信息;</p><p>

43、;  ◆ 修改系統(tǒng)用戶信息;</p><p>  ◆ 刪除系統(tǒng)用戶信息。</p><p><b>  3.3功能模塊劃分</b></p><p>  從功能描述的內(nèi)容可以看到,本系統(tǒng)可以實現(xiàn)六個完整的功能。根據(jù)這些功能,設(shè)計出系統(tǒng)的功能模塊,如圖4:</p><p>  圖4. 網(wǎng)上購物系統(tǒng)功能模塊示意圖</p&g

44、t;<p>  在本系統(tǒng)中,用戶管理模塊的功能比較簡單。在系統(tǒng)初始化時,有一個默認的“系統(tǒng)管理員”用戶Admin,由程序設(shè)計人員手動地添加到數(shù)據(jù)庫中。Admin用戶可以創(chuàng)建其他的管理員信息;普通用戶則可以修改自己注冊信息和密碼。</p><p>  用戶管理功能模塊的關(guān)系如圖5:</p><p>  `圖5. 用戶管理功能模塊關(guān)系圖</p><p> 

45、 3.4系統(tǒng)功能模塊圖</p><p><b>  系統(tǒng)模塊圖</b></p><p>  3.5 建立數(shù)據(jù)庫表(SuperMarket_Data.mdb)</p><p>  3.5.1用戶信息數(shù)據(jù)表(RegUser)</p><p>  表 RegUser </p><p>  3

46、.5.2管理員信息表(Manage_User)</p><p>  表Manage_User</p><p>  3.5.3汽車大類表(Class_1)</p><p>  表 Class_1 </p><p>  3.5.4汽車小類表(Class_2)</p><p><b>

47、  表 Class_2</b></p><p>  3.5.5汽車表(Product)</p><p><b>  表 Product</b></p><p>  3.5.6購物籃表(ShopList)</p><p>  表 ShopList </p><

48、p>  3.5.7訂單表(OrderList)</p><p>  表 OrderList</p><p>  四.系統(tǒng)功能模塊設(shè)計</p><p><b>  4.1客戶端</b></p><p><b>  4.1.1購物籃</b></p><p>  在設(shè)計購物籃

49、中,首先要考慮到的是購物籃中汽車信息的存儲,而且在整個的汽車購買中沒有改變,這里就要用到ASP中的內(nèi)置Session組件,它是訪問者從的到達某個特定主頁到離開為止的那段時間,服務(wù)器端給他分配一個用來儲存信息的全局變量的集合,這些變量可以自動生成,也可以是程序人員在服務(wù)器端腳本程序中定義的。</p><p>  Session可以用來存儲訪問者的特定信息,創(chuàng)建訪問者信息容器。我們使用它來作為虛擬購物籃,無論什么時候

50、用戶在我網(wǎng)站中選擇了一種汽車,那么這種汽車就會進入購物籃,當(dāng)用戶準備離開時,就可以立即進行以上所有選擇的汽車的訂購。這些購物信息可以保存在 Session中。用戶在Web應(yīng)用程序中訪問同一頁面時,Session變量始終存在,當(dāng)用戶在應(yīng)用程序的頁之間跳轉(zhuǎn)時,存儲在Session對象中的變量也不會清除。</p><p>  在建立購物籃中,其實是對全局變量的操作。在這里我定義了一個全局變量:ProductList =

51、 Session("ProductList"),將購物信息保存到此全局變量中。另外還定義了一個全局變量Products,通過函數(shù)PutToShopBag()將ProductList的值賦給Products,使用函數(shù)Split()將讀取到的字符串進行分割,以得到購物信息:Products = Split(Request("cpbm"), ", ")。</p><

52、;p> ?。?建立購物籃的詳細代碼*/</p><p>  ProductList = Session("ProductList")</p><p>  Products = Split(Request("cpbm"), ", ")</p><p>  For i=0 To UBound(Produc

53、ts)</p><p>  PutToShopBag Products(i), ProductList</p><p><b>  Next</b></p><p>  Session("ProductList") = ProductList</p><p>  /*函數(shù)PutToShopBag()代

54、碼*/</p><p><b>  <%</b></p><p>  Sub PutToShopBag( cpbm, ProductList )</p><p>  If Len(ProductList) = 0 Then</p><p>  ProductList = "'" &

55、; cpbm & "'"</p><p>  ElseIf InStr( ProductList, cpbm ) <= 0 Then</p><p>  ProductList = ProductList & ", '" & cpbm & "'"</p>

56、<p><b>  End If</b></p><p><b>  End Sub</b></p><p><b>  %></b></p><p>  購物籃界面如圖所示:</p><p>  在我的購物籃中可操作的事件為:</p><p

57、>  確認更改:在數(shù)量項目文本框中可以更改數(shù)目,該事件是用以更新購物籃中的汽車數(shù)量;</p><p>  繼續(xù)購物:該事件是關(guān)閉窗口;</p><p>  訂單取消:該事件清空購物籃;</p><p>  去收銀臺:該事件是用來關(guān)閉窗口并重新打開新的窗口。</p><p>  除了購物籃中的可視化操作外,還有就是汽車購入事件(即在網(wǎng)上商

58、店的點擊購買的事件)?,F(xiàn)在我們稱這些事件是用來觸發(fā)購物籃中的工作模式,在每次的觸發(fā)模式時,都有一個傳遞的數(shù)值變量通過來判斷觸發(fā)的是哪個工作模塊。下面詳細介紹購物籃(check.asp)各工作模式的具體實現(xiàn):</p><p>  Add模式(購買添加)</p><p>  用戶點擊他想購買的汽車的“訂購”鏈接時,通過調(diào)用函數(shù)OpenBag()來打開頁面check.asp,“訂購”鏈接把有關(guān)汽

59、車信息的資料字符傳到check.asp,如下例:</p><p>  function openbag(id) {</p><p>  window.open("check.asp?cpbm="+id,"","height=200,width=600,left=190,top=0,resizable=yes,scrollbars=yes,s

60、tatus=no,toolbar=no,menubar=no,location=no");}</p><p>  在該觸發(fā)事件觸發(fā)時,執(zhí)行check.asp, </p><p>  對購物車執(zhí)行了這次添加后,大部分其余的ASP代碼就不再執(zhí)行,因為它應(yīng)用于其他的工作模式,模式的選擇都是采用IF語句來實現(xiàn)的,而每次check.asp只會在一個模式下工作的。</p>&l

61、t;p>  Record模式(更新數(shù)量)</p><p>  該模式用于顧客項購買多件貨物時,自動重新計算所需的貨物總價格。用戶以用它馬上看到改過的數(shù)量后的結(jié)果。</p><p><b>  如下面的語句:</b></p><p><b>  Sum = 0</b></p><p>  Whi

62、le Not rs.EOF</p><p>  Quatity = CInt( Request( "Q_" & rs("Product_Id")) )</p><p>  If Quatity <= 0 Then </p><p>  Quatity = CInt( Session(rs("Produc

63、t_Id")) )</p><p>  If Quatity <= 0 Then Quatity = 1 end if</p><p><b>  End If</b></p><p>  Session(rs("Product_Id")) = Quatity</p><p>  Su

64、m = Sum + ccur(rs("P_NewPrice")) * Quatity</p><p>  在輸入文本框中時,該程序?qū)ζ漭斎氲闹颠M行判斷,是否是數(shù)字的字符,以避免存儲出錯,造成不必要的麻煩。其判斷函數(shù)如下(采用Javascript腳本語言編寫):</p><p>  //功能介紹:檢查是否為數(shù)字</p><p>  //參數(shù)說明:

65、要檢查的數(shù)字</p><p>  //返回值:1為是數(shù)字,0為不是數(shù)字</p><p>  function fucCheckNUM(NUM)</p><p><b>  {</b></p><p>  var i,j,strTemp;</p><p>  strTemp="012345

66、6789";</p><p>  if ( NUM.length== 0)</p><p><b>  return 0</b></p><p>  for (i=0;i<NUM.length;i++)</p><p><b>  {</b></p><p>

67、  j=strTemp.indexOf(NUM.charAt(i));</p><p>  if (j==-1)</p><p><b>  {</b></p><p>  //說明有字符不是數(shù)字</p><p><b>  return 0;</b></p><p>&l

68、t;b>  }</b></p><p><b>  }</b></p><p><b>  //說明是數(shù)字</b></p><p><b>  return 1;</b></p><p><b>  }</b></p>&l

69、t;p>  這種預(yù)先判斷的處理方式,很大的程度上解決了非法輸入對后面的存儲所帶來的一系列問題。</p><p>  DelAll模式(清空購物籃) </p><p>  這個是對購物籃的汽車進行清空的處理,其實就是對全局變量ProductList賦空值(Session("ProductList") = "")。通過調(diào)用函數(shù)clean()來執(zhí)

70、行clear.asp.</p><p>  LinkTo模式(去收銀臺)</p><p>  onclick="window.opener.location.href='PayMent.asp';window.close();"</p><p>  該模式通過點擊觸發(fā)事件onclick來調(diào)用并執(zhí)行PayMent.asp,并關(guān)閉當(dāng)前

71、購物籃。該事件不能對所購買的汽車數(shù)量的更改而更改,只能通過確認更改來實現(xiàn)。</p><p><b>  繼續(xù)購物</b></p><p>  該摸塊也是調(diào)用Window對象中的window.close()函數(shù),它回自動的關(guān)閉購物籃的窗口,該事件也不能對所購買的汽車數(shù)量的更改而更改。</p><p>  說明:在這里會出現(xiàn)一種情況,就是說如果未購

72、買任何汽車的話,則將返回一提示信息。</p><p><b>  4.1.2會員注冊</b></p><p><b>  會員注冊頁面:</b></p><p>  在會員注冊中,首先是檢查該顧客所申請的用戶名是否以被人申請了,若已被人申請了該用戶名,則系統(tǒng)將提示給用戶“該用戶名已存在”的信息。其方法還是使用對數(shù)據(jù)庫的操作

73、:</p><p>  set rs=server.createobject("adodb.recordset")</p><p>  sqltext="select * from RegUser where UserId='" & request.form("uid") & "'&quo

74、t;</p><p>  rs.open sqltext,conn,1,1</p><p>  '查找數(shù)據(jù)庫,檢查用戶名是否已經(jīng)注冊過</p><p>  if rs.recordcount >= 1 then </p><p>  if rs("userid")=request.form("uid

75、") then</p><p>  Response.Redirect "messagebox.asp?msg=此用戶名已經(jīng)注冊過,請選用其他用戶名!"</p><p>  response.end</p><p><b>  rs.close</b></p><p><b>  

76、end if</b></p><p><b>  end if</b></p><p>  之后進入用戶詳細資料登記的頁面(Reg_User_OK.asp)如圖6:</p><p>  在用戶登記個人的詳細資料時,仍然使用ASP中的Recordset的對象,對數(shù)據(jù)庫進行添加的操作,其方法如下:</p><p>

77、;<b>  rs.addnew</b></p><p>  rs("UserId")=request.form("uid")</p><p>  rs("PassWD")=request.form("pwd")</p><p>  rs("WtPass&

78、quot;)=request.form("question")</p><p>  rs("DaPass")=request.form("answer")</p><p>  rs("Name")=request.form("Name")</p><p>  rs(&

79、quot;Sex")=request.form("Sex")</p><p>  rs("Email")=request.form("Email")</p><p>  rs("Phone")=request.form("usephone")</p><p>

80、;  rs("Address")=request.form("haddr")</p><p>  rs("Zip")=request.form("postcode")</p><p><b>  rs.update</b></p><p><b>  %&

81、gt;</b></p><p><b>  <%</b></p><p>  set rs_detail=server.createobject("adodb.recordset")</p><p>  sqltext2="select * from RegUser where UserId=&#

82、39;" & request.form("uid") & "'"</p><p>  rs_detail.open sqltext2,conn,1,1</p><p><b>  圖6</b></p><p>  申請成功后進入提示界面,告訴用戶已經(jīng)申請成功。</p

83、><p><b>  4.1.3汽車查詢</b></p><p>  首先在主頁面default.asp中實現(xiàn)以汽車大類方式的查詢:</p><p>  While Not rs_class_1.EOF</p><p>  set rs_class_2=server.createobject("adodb.reco

84、rdset")</p><p>  sqltext3="select * from Class_2 where Class_1_Name='" & rs_class_1("Class_1_Name") & "'"</p><p>  rs_class_2.open sqltext3,con

85、n,1,1</p><p>  如果在文本輸入框中輸入了汽車名稱,則調(diào)用執(zhí)行ProductSearch.asp:</p><p>  ProductClass_2=request("ProductClass_2")</p><p>  set rs=server.createobject("adodb.recordset")&

86、lt;/p><p>  sqltext="select * from Product" </p><p>  if request("Product_Name")<>"" then</p><p>  sqltext=sqltext &" where Product_Name l

87、ike '%"& request("Product_Name") &"%' "</p><p><b>  else</b></p><p>  sqltext=sqltext &" where Product_Name like '%"& &

88、quot;" &"%' "</p><p><b>  end if</b></p><p>  if request("Product_Class")<>"" then</p><p>  sqltext=sqltext &"

89、and Class_1 like '%"& request("Product_Class") &"%' "</p><p><b>  end if</b></p><p>  rs.open sqltext,conn,1,1</p><p><b> 

90、 4.1.4訂單查詢</b></p><p>  Form_ID = Request.form("Form_Id")</p><p>  IF Session("LoginSuccess")="" Then</p><p>  response.redirect "FindOrderL

91、ogin.asp"</p><p><b>  Else</b></p><p>  set Rs3 = Server.CreateObject("ADODB.recordset")</p><p>  sql3="select * from OrderList where Form_Id="&

92、amp;Form_Id&""</p><p>  rs3.open sql3,conn,1,1</p><p>  IF rs3.RecordCount >=1 then</p><p>  IF Session("LoginSuccess")=rs3("User_Id") Then<

93、;/p><p><b>  查詢成功的頁面:</b></p><p>  在這里,如果查詢的不是屬于當(dāng)前用戶自己的訂單,則返回出錯信息:</p><p>  response.redirect "messagebox.asp?msg=您不能查看不屬于您的訂單,請重新輸入您自己的訂單號!"</p><p>

94、<b>  4.2后臺管理端</b></p><p>  后臺管理的功能主要包括:汽車的添加、汽車的審查、訂單的處理、發(fā)或的查詢、會員的審查以及管理員的添加和審查。</p><p>  4.2.1汽車的添加</p><p>  汽車的添加功能是通過三個步驟來實現(xiàn)的:汽車大類添加、汽車小類的添加、汽車的添加。</p><p&g

95、t;<b>  大類添加</b></p><p>  function FORM1_onsubmit()</p><p><b>  {</b></p><p>  if(document.FORM1.class_name.value.length<1)</p><p><b>  

96、{</b></p><p>  alert("您必須輸入汽車大類名稱!");</p><p>  document.FORM1.class_name.focus();</p><p>  return false;</p><p><b>  }</b></p><p&

97、gt;  sqltext="select * from Class_1 where Class_1_name='" & request.form("class_name") & "'"</p><p>  rs.open sqltext,conn,1,1</p><p>  '查找數(shù)據(jù)庫,檢

98、查汽車大類是否已經(jīng)存在</p><p>  if rs.recordcount >= 1 then </p><p>  if rs("Class_1_name")=request.form("class_name") then</p><p>  Response.Redirect "messagebox.a

99、sp?msg=此汽車大類已經(jīng)存在,請選用其它名稱!"</p><p>  response.end</p><p><b>  rs.close</b></p><p><b>  end if</b></p><p><b>  end if</b></p&g

100、t;<p>  set rs=server.createobject("adodb.recordset")</p><p>  sqltext="select * from Class_1"</p><p>  rs.open sqltext,conn,3,3</p><p>  '添加一個汽車大類到數(shù)據(jù)

101、庫</p><p><b>  rs.addnew</b></p><p>  rs("Class_1_name")=request.form("class_name")</p><p><b>  rs.update</b></p><p><b>

102、;  <%</b></p><p>  set rs_detail=server.createobject("adodb.recordset")</p><p>  sqltext2="select * from Class_1 where Class_1_name='" & request.form("c

103、lass_name") & "'"</p><p>  rs_detail.open sqltext2,conn,1,1</p><p><b>  %></b></p><p><b>  大類添加頁面:</b></p><p><b>

104、;  小類添加</b></p><p>  function FORM1_onsubmit()</p><p><b>  {</b></p><p>  if(document.FORM1.class_2_name.value.length<1)</p><p><b>  {</b&

105、gt;</p><p>  alert("您必須輸入汽車小類名稱!");</p><p>  document.FORM1.class_2_name.focus();</p><p>  return false;</p><p><b>  }</b></p><p>  s

106、et rs=server.createobject("adodb.recordset")</p><p>  sqltext="select * from Class_2 where Class_2_name='" & request.form("class_2_name") & "' and Class_1_n

107、ame='" & request.form("class_1_name") & "'"</p><p>  rs.open sqltext,conn,1,1</p><p>  '查找數(shù)據(jù)庫,檢查汽車小類是否已經(jīng)存在</p><p>  if rs.recordcount &g

108、t;= 1 then </p><p>  if rs("Class_2_name")=request.form("class_2_name") then</p><p>  Response.Redirect "messagebox.asp?msg=此汽車小類已經(jīng)存在,請選用其它名稱!"</p><p>

109、  response.end</p><p><b>  rs.close</b></p><p><b>  end if</b></p><p><b>  end if</b></p><p>  set rs=server.createobject("adod

110、b.recordset")</p><p>  sqltext="select * from Class_2"</p><p>  rs.open sqltext,conn,3,3</p><p>  '添加一個汽車小類到數(shù)據(jù)庫</p><p><b>  rs.addnew</b>

111、</p><p>  rs("Class_2_name")=request.form("class_2_name")</p><p>  rs("Class_1_name")=request.form("class_1_name")</p><p><b>  rs.updat

112、e</b></p><p>  set rs_detail=server.createobject("adodb.recordset")</p><p>  sqltext2="select * from Class_2 where Class_2_name='" & request.form("class_2_

113、name") & "' and Class_1_name='" & request.form("class_1_name") & "'"</p><p>  rs_detail.open sqltext2,conn,1,1</p><p><b>  小類添加頁面

114、:</b></p><p><b>  汽車的添加</b></p><p><b>  //所屬大類</b></p><p><b>  <%</b></p><p>  set rs=server.createobject("adodb.recor

115、dset")</p><p>  sqltext2="select * from Class_1 "</p><p>  rs.open sqltext2,conn,1,1</p><p><b>  %></b></p><p><b>  //所屬小類</b>

116、</p><p><b>  <%</b></p><p>  set rs=server.createobject("adodb.recordset")</p><p>  sqltext2="select * from Class_2 where Class_1_name='" &

117、; request.form("class_1_name") & "'"</p><p>  rs.open sqltext2,conn,1,1</p><p><b>  %></b></p><p>  //函數(shù)名:fucCheckNUM</p><p>

118、  //功能介紹:檢查是否為數(shù)字</p><p>  //參數(shù)說明:要檢查的數(shù)字</p><p>  //返回值:1為是數(shù)字,0為不是數(shù)字</p><p>  function fucCheckNUM(NUM)</p><p><b>  {</b></p><p>  var i,j,strTe

119、mp;</p><p>  strTemp="0123456789.";</p><p>  if ( NUM.length== 0)</p><p><b>  return 0</b></p><p>  for (i=0;i<NUM.length;i++)</p><p

120、><b>  {</b></p><p>  j=strTemp.indexOf(NUM.charAt(i));</p><p>  if (j==-1)</p><p><b>  {</b></p><p>  //說明有字符不是數(shù)字</p><p><b&

121、gt;  return 0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //說明是數(shù)字</b></p><p><b>  return 1;</b></p>

122、<p><b>  }</b></p><p>  set rs=server.createobject("adodb.recordset")</p><p>  sqltext="select * from Product where Product_name='"& request.form(&

123、quot;p_name") & "'"</p><p>  rs.open sqltext,conn,1,1</p><p>  '查找數(shù)據(jù)庫,檢查汽車是否已經(jīng)存在</p><p>  if rs.recordcount >= 1 then </p><p>  if rs(&quo

124、t;Product_name")=request.form("p_name") then</p><p>  Response.Redirect "messagebox.asp?msg=此汽車已經(jīng)存在,請?zhí)砑悠渌?"</p><p>  response.end</p><p><b>  rs.clo

125、se</b></p><p><b>  end if</b></p><p><b>  end if</b></p><p>  set rs=server.createobject("adodb.recordset")</p><p>  sqltext=&qu

126、ot;select * from Product"</p><p>  rs.open sqltext,conn,3,3</p><p>  '添加一個汽車到數(shù)據(jù)庫</p><p><b>  rs.addnew</b></p><p>  rs("Class_2")=request

127、.form("class_2_name")</p><p>  rs("Class_1")=request.form("class_1_name")</p><p>  rs("Product_name")=request.form("p_name")</p><p>

128、;  rs("Product_intro")=request.form("p_intro")</p><p>  rs("Product_show")=request.form("p_show")</p><p>  rs("P_newprice")=request.form("n

129、ewprice")</p><p>  rs("P_oldprice")=request.form("oldprice")</p><p>  rs("P_pic")=request.form("p_pic")</p><p>  rs("P_Full_pic&quo

130、t;)=request.form("p_full_pic")</p><p><b>  rs.update</b></p><p>  set rs_detail=server.createobject("adodb.recordset")</p><p>  sqltext2="select

溫馨提示

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

評論

0/150

提交評論