產(chǎn)品銷售管理系統(tǒng)的設計與實現(xiàn)_第1頁
產(chǎn)品銷售管理系統(tǒng)的設計與實現(xiàn)_第2頁
產(chǎn)品銷售管理系統(tǒng)的設計與實現(xiàn)_第3頁
產(chǎn)品銷售管理系統(tǒng)的設計與實現(xiàn)_第4頁
產(chǎn)品銷售管理系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

年4月19日產(chǎn)品銷售管理系統(tǒng)的設計與實現(xiàn)資料內(nèi)容僅供參考,如有不當或者侵權,請聯(lián)系本人改正或者刪除。引言隨著現(xiàn)代科學技術的迅猛發(fā)展,計算機技術已經(jīng)滲透到各個領域,成為各行業(yè)必不可少的工具,特別是Internet技術的推廣和信息高速公路的建立,使IT產(chǎn)業(yè)在市場競爭中越來越顯示出其獨特的優(yōu)勢,步入數(shù)字時代。而面對市場各企業(yè)的管理,高效的處理企業(yè)中管理問題在適應市場的發(fā)展中突顯出尤為重要的作用。產(chǎn)品的銷售管理在現(xiàn)代企業(yè)經(jīng)營管理中占據(jù)著重要的地位,一個企業(yè)產(chǎn)品銷售管理的水平幾乎決定著企業(yè)的經(jīng)濟命脈。企業(yè)的所有功能、信息、組織管理方面都是一個集成整體的各個部分。管理信息系統(tǒng)(MIS)是企業(yè)CIMS工程中的一個分支,產(chǎn)品銷售管理系統(tǒng)是企業(yè)MIS建設中重要的組成部分。計算機集成制造系統(tǒng)(CIMS:ComputerIntegratedManufacturingSystem)是在自動化技術、信息技術及制造技術的基礎上,經(jīng)過計算機及其軟件,把企業(yè)全部生產(chǎn)活動所需的各種分散的自動化系統(tǒng)有機的集成起來,是適合于多品種、中小批量生產(chǎn)的總體高效益系統(tǒng)。MIS(管理信息系統(tǒng))是CIMS中很重要的一個部分,是企業(yè)信息化的直接體現(xiàn)。管理信息系統(tǒng)(MIS)的概念起成熟于20世紀70年代。管理信息系統(tǒng)(MIS)就是借助以計算機、互聯(lián)網(wǎng)等先進技術為代表的信息手段,將企業(yè)的經(jīng)營及管理流程在線實現(xiàn),并使企業(yè)管理層真正能夠在線獲得完整而明晰的”信息”,信息化是一項長期的事業(yè),無論是跨國企業(yè),還是國內(nèi)的企業(yè),都是在過去幾十年中的不同時間、不同切入點開始信息化建設的。我們能夠想象,在企業(yè)中,使用人工的方式管理各項產(chǎn)品銷售信息不但效率低下,而且容易出錯,安全性也很差。而且在實際的操中數(shù)據(jù)的查找以及客戶信息的保管等都不容易實現(xiàn)。這些不但將導致管理費用的增加,服務質(zhì)量也難以得到保證,從而影響企業(yè)的競爭力。本次畢業(yè)設計將完成北京東洋貿(mào)易有限公司產(chǎn)品銷售管理系統(tǒng),本系統(tǒng)的研究目的在于:實現(xiàn)該公司產(chǎn)品信息、銷售信息管理及信息檢索;實現(xiàn)客戶信息管理,從而提高公司的工作效率和質(zhì)量。本文將在后面對本系統(tǒng)各個功能模塊一一加以詳細闡述。1.項目概述1.1項目背景經(jīng)過20多年的時間,中國企業(yè)的信息化建設工作取得了長足進展,但由于對企業(yè)信息化建設的途徑缺乏系統(tǒng)而科學的認識,以往許多企業(yè)的信息化建設工作走了不少彎路,出現(xiàn)了一些誤區(qū),其中表現(xiàn)最為明顯的傾向是不顧本單位信息化建設的現(xiàn)實條件,盲目地追求業(yè)務處理的自動化、決策自動化等更高層次的信息化建設,而忽視了企業(yè)信息庫的構建這一信息化建設的第一步基礎性工作。這種傾向又有許多不同的形式,在產(chǎn)品銷售管理方面具體表現(xiàn)為:(1)不重實施,急于求成有的人認為將產(chǎn)品銷售管理軟件買來即可,對實施的重要性理解不夠,有的甚至說只要提供說明書即可,還有的急于求成,要求在短時間內(nèi)見到成效,這些做法是不切實際的。(2)企業(yè)與產(chǎn)品銷售管理軟件提供商配合不夠企業(yè)在實施過程中配合不夠,認為買產(chǎn)品銷售管理軟件出了錢,其它的事情都是軟件公司的,企業(yè)被動地等著使用。應該說企業(yè)經(jīng)過重復考查和選型,一旦選定了軟件,企業(yè)應該與產(chǎn)品銷售管理軟件提供商建立一種長期合作的關系,更準確地說應是建立合作伙伴關系,二者應密切配合,以使所購的產(chǎn)品銷售管理軟件在企業(yè)能充分用好,為企業(yè)解決實際問題,帶來直接的經(jīng)濟效益。(3)企業(yè)的標準太老或沒有標準企業(yè)現(xiàn)有的標準太老,不太適合計算機處理。隨著制造業(yè)信息化的發(fā)展,標準化落后于新技術的發(fā)展,滿足不了企業(yè)需求的矛盾逐步顯現(xiàn)。這些新技術很快就被利用為企業(yè)信息化管理平臺,以及新的企業(yè)與客戶、企業(yè)與企業(yè)、個人之間的溝通渠道。最為重要的是無淪信息來自哪項技術、哪個渠道,它都去更改同一個數(shù)據(jù)庫,而保證了不同渠道看到的信息是同步的。這包括客戶、供應鏈和其它各種企業(yè)信息。(4)企業(yè)的需求超前企業(yè)提出一些超前或不切實際的功能要求,而產(chǎn)品銷售管理軟件暫時不能滿足。有的企業(yè)認為越先進的功能越好,在選型過程中一味追求先進,而沒有考慮是否實用、是否可靠、是否有局限性等等問題。(5)企業(yè)推行的力度不夠有人說:企業(yè)信息化的決心和態(tài)度,問題不在技術,關鍵在于企業(yè)領導人對信息化的參與和掌控。企業(yè)信息化實際上并不只是錢的問題,還涉及到企業(yè)的管理和運作是否能夠配合改變。其實企業(yè)實施信息化不但要求產(chǎn)品銷售管理軟件提供商有豐富的經(jīng)驗和完善的產(chǎn)品,而且需要企業(yè)產(chǎn)品銷售管理者參與到整個產(chǎn)品銷售管理系統(tǒng)的設計和實施中去,否則管理思想就不能與產(chǎn)品銷售管理軟件技術相結合,從而功虧一簣,因此,企業(yè)信息化應該是”一把手”工程,企業(yè)決策者一定要堅定信心,貫徹到底,支持到底,這才是企業(yè)信息化成功的法寶。在企業(yè)信息化建設過程中涉及的各方面如產(chǎn)品銷售管理系統(tǒng)的應用上與整個企業(yè)信息化的發(fā)展是同步前進的。1.2項目開發(fā)意義本課題的工作就是在企業(yè)CIMS和MIS建設中開發(fā)的一個產(chǎn)品銷售信息管理軟件--北京東洋貿(mào)易有限公司產(chǎn)品銷售管理系統(tǒng)。北京東洋貿(mào)易有限公司產(chǎn)品銷售管理系統(tǒng)是基于ASP.NET和SQLServer數(shù)據(jù)庫開發(fā)的應用系統(tǒng)。使用ASP.NET技術能夠動態(tài)生成管理頁面,能夠使產(chǎn)品的銷售和管理變得很輕松。管理員登陸后只需添加或修改相應產(chǎn)品信息元素就能夠了,系統(tǒng)將自動生成對應的信息。而使用SQLServer數(shù)據(jù)庫將減輕維護人員的工作量,使系統(tǒng)便于維護和管理。本系統(tǒng)的研究目的在于:實現(xiàn)該公司產(chǎn)品信息、銷售信息管理及信息檢索;實現(xiàn)客戶信息管理,從而提高公司的工作效率和質(zhì)量。1.3軟硬件需求本系統(tǒng)的軟硬件需求如下:在Windows平臺上運行后臺數(shù)據(jù)庫:SQLServerExpress運行環(huán)境:InternetExplorer、IIS7.5個人計算機,AMDCPU,1G內(nèi)存2項目需求分析隨著經(jīng)濟的不斷發(fā)展和完善,企業(yè)的經(jīng)營行為正迅速地由以生產(chǎn)為中心轉(zhuǎn)向以營銷為中心,經(jīng)過強化銷售來指導生產(chǎn),從而創(chuàng)造更多的利潤。當前,許多企業(yè)在銷售管理環(huán)節(jié)上存在著大量的問題,如產(chǎn)品結構不合理、產(chǎn)品庫存積壓嚴重等等,這些因素嚴重制約著企業(yè)的發(fā)展,影響企業(yè)的生存。為了解決這些問題,決定開發(fā)商品銷售管理系統(tǒng)。該系統(tǒng)從企業(yè)管理的實際需求出發(fā),以市場為導向,經(jīng)過對客戶、商品庫存、銷售行為、銷售過程等環(huán)節(jié)的記錄、管理,建立彈性和靈活的銷售業(yè)務流程及制度,從而使企業(yè)銷售管理工作從經(jīng)驗走向科學。2.1系統(tǒng)的功能需求北京東洋貿(mào)易有限公司產(chǎn)品銷售管理系統(tǒng)是一個實用的產(chǎn)品銷售管理系統(tǒng),能夠?qū)崿F(xiàn)該公司產(chǎn)品信息、銷售信息管理及信息檢索;實現(xiàn)客戶信息管理,從而提高公司的工作效率和質(zhì)量。(1).客戶信息管理實現(xiàn)客戶信息的增刪改查等功能,而且能查看客戶的購買記錄,有效提高企業(yè)對客戶信息管理的力度和效率。(2).產(chǎn)品信息管理產(chǎn)品信息查詢查看:以表格形式呈現(xiàn)數(shù)據(jù)庫中的產(chǎn)品信息,而且允許查找功能。產(chǎn)品信息的增刪改管理,以表格形式呈現(xiàn)產(chǎn)品信息,而且有增添新產(chǎn)品的鏈接,表格上有修改和刪除選項直接導入修改頁面修改產(chǎn)品信息,或者刪除該行。進貨入庫管理:輸入產(chǎn)品編號后能夠快速添加該產(chǎn)品的庫存數(shù)量。退貨出庫管理:輸入產(chǎn)品編號后能夠快速減少該產(chǎn)品的庫存數(shù)量。(3).銷售信息管理訂單管理:能夠顯示訂單狀況,而且打上處理標志,表格方式呈現(xiàn)利于管理。顯示銷售年份信息:選擇銷售年份后,即可顯示該年份的月供銷信息。修改銷售年份信息,增加新的銷售年份,或者修改原有銷售年份中某個年份中的信息,將該年份以表格形式展示12個月份的信息,支持直接在表格上進行修改,查詢統(tǒng)計功能:能夠顯示某年的年供銷額,支持自動計算,支持顯示圖表。(4).庫存管理庫存統(tǒng)計:以表格形式呈現(xiàn)數(shù)據(jù)庫中的產(chǎn)品庫存情況,而且允許查找功能。庫存預警:以表格形式呈現(xiàn)數(shù)據(jù)庫中的產(chǎn)品庫存情況,只顯示庫存不足的產(chǎn)品。(5).保密信息管理模塊修改當前用戶的密碼:允許用戶修改當前用戶的管理員登陸密碼。(6).用戶管理用戶查詢查看:允許總經(jīng)理級別管理員查看所有后臺管理員的賬號,同樣以表格方式呈現(xiàn),顯示出用戶的姓名,地址,電話等信息。用戶的增刪改:以表格形式呈現(xiàn)用戶信息,而且有增添新用戶的鏈接,表格上有修改和刪除選項直接導入修改頁面修改用戶信息,或者刪除該行。(7).數(shù)據(jù)維護該功能可實現(xiàn)對數(shù)據(jù)的備份和還原,保證數(shù)據(jù)的可恢復性和安全性。(8).退出系統(tǒng):離開本系統(tǒng)。本系統(tǒng)功能圖如下:登錄權限管理登錄權限管理驗證登錄信息并賦予相應權限驗證登錄信息并賦予相應權限歷史購買記錄信息客戶訂單信息退換貨信息按指定方式搜索客戶信息歷史購買記錄信息客戶訂單信息退換貨信息按指定方式搜索客戶信息客戶交易信息管理客戶信息管理模、客戶交易信息管理客戶信息管理模、客戶信息的增刪改查客戶信息的增刪改查北京東洋貿(mào)易有限公司產(chǎn)品銷售管理系統(tǒng)按指定方式搜索產(chǎn)品信息北京東洋貿(mào)易有限公司產(chǎn)品銷售管理系統(tǒng)按指定方式搜索產(chǎn)品信息產(chǎn)品詳細信息的增刪改查產(chǎn)品信息管理模、產(chǎn)品詳細信息的增刪改查產(chǎn)品信息管理模、進貨管理進貨管理退貨管理退貨管理顯示銷售年份信息添加、修改、刪除銷售年份信息訂單管理查詢統(tǒng)計功能銷售報表管理顯示銷售年份信息添加、修改、刪除銷售年份信息訂單管理查詢統(tǒng)計功能銷售報表管理查詢銷售情況銷售信息管理查詢銷售情況銷售信息管理商品庫存情況商品庫存情況庫存統(tǒng)計庫存統(tǒng)計庫存管理庫存管理庫存預警庫存預警數(shù)據(jù)維護數(shù)據(jù)維護用戶用戶管理退出系統(tǒng)退出系統(tǒng)圖2-1銷售管理系統(tǒng)功能圖2.2數(shù)據(jù)流圖分析數(shù)據(jù)流圖是結構化分析方法中用于表示系統(tǒng)邏輯模型的一種工具。它以直觀的圖形清晰地描述了系統(tǒng)數(shù)據(jù)的流動和處理過程,圖中沒有任何具體的物理元素,主要強調(diào)的是數(shù)據(jù)流和處理過程。即使不是計算機專業(yè)技術人員也很容易理解,數(shù)據(jù)流圖是軟件開發(fā)人員和用戶之間很好的通信工具。圖2-2為本此畢業(yè)設計系統(tǒng)的數(shù)據(jù)流圖頂層圖,它體現(xiàn)了系統(tǒng)名稱:F=f1客戶信息+f2產(chǎn)品信息+f3銷售信息+f4庫存信息F1=f2產(chǎn)品信息+f3銷售信息圖2-2商品銷售管理系統(tǒng)數(shù)據(jù)流圖頂層圖數(shù)據(jù)流0層圖體現(xiàn)了系統(tǒng)的主要功能框架,本系統(tǒng)的0層圖如圖2-3所示:圖2-3商品銷售管理系統(tǒng)數(shù)據(jù)流圖0層圖0層圖中的每個邏輯功能都需要細化,直到足夠簡單具體為止。圖2-4對處理訂單功能進行了細化:圖2-4商品銷售管理系統(tǒng)數(shù)據(jù)流圖-處理訂單功能細化圖2-5是對添加訂單功能的細化,經(jīng)過輸入要添加的訂單信息點擊確認以后,即可把新的訂單信息保存到數(shù)據(jù)庫中:圖2-5商品銷售管理系統(tǒng)數(shù)據(jù)流圖-添加訂單功能細化圖2-6是對處理訂單功能的細化,首先也進行用戶信息的匹配驗證,進入系統(tǒng)后,點擊修改按鈕即可對訂單信息進行修改操作,確認后系統(tǒng)進行信息保存:圖2-6商品銷售管理系統(tǒng)數(shù)據(jù)流圖-修改訂單功能細化3項目概要設計3.1設計原則為了使本系統(tǒng)功能完備,操作簡便,最大限度的提高軟件的質(zhì)量,從而滿足用戶的實際需要,在設計開發(fā)過程中遵守了如下原則:(1)合法性原則:依據(jù)產(chǎn)品核算系統(tǒng)的工作規(guī)定以及要求,參照核算實際的工作情況,進行諸如產(chǎn)品進貨、銷售等工作。(2)實用性原則:適合產(chǎn)品信息管理工作的實際需求,并能夠處理一些特殊情況的要求,另外,盡可能預留空間,一邊擴充功能。(3)易操作原則:要求設計的系統(tǒng)功能齊全,界面友好,操縱方便,必要的地方進行提示。(4)源程序可讀性原則:為了便于其它設計,維護人員讀懂代碼或以后的代碼修改,軟件升級維護,盡可能做好代碼注釋工作。(5)安全性原則:能夠為該系統(tǒng)的用戶設置用戶權限。3.2系統(tǒng)開發(fā)平臺依開題報告中的各種平臺的對比分析,比較權衡后確定開發(fā)平臺為:表3-1系統(tǒng)開發(fā)平臺開發(fā)工具MicrosoftVisualStudioExpress使用語言C#.NET數(shù)據(jù)庫SQLServerExpress開發(fā)模式B/S開發(fā)環(huán)境MicrosoftVisualStudioExpress、SQLServerExpress、InternetExplorer、IIS7.5根據(jù)銷售管理系統(tǒng)的特性,從程序入口(登陸窗口)開始,以各個部門將項目分塊進行設計,做到分類清楚,一目了然,在系統(tǒng)界面,以及物理文件的路徑結構上都進行分類規(guī)劃,有利于日后進行內(nèi)容的更新和擴充。由分塊的性質(zhì),采用適宜的樹狀結構劃分整個系統(tǒng),依照系統(tǒng)的需求將系統(tǒng)分為:用戶登陸,客戶信息管理,產(chǎn)品信息管理,銷售信息管理,庫存信息管理,用戶信息管理,保密信息管理(修改密碼)幾大類。并在各類下按照需求進行小類的劃分。用戶信息管理模塊包括登陸驗證,用戶類別檢查兩個功能模塊??蛻粜畔⒐芾砟K下包括客戶信息查詢查看,客戶交易信息管理,客戶信息的增刪改管理。產(chǎn)品信息管理包括產(chǎn)品信息查詢查看,產(chǎn)品信息的增刪改管理,進貨入庫管理,退貨出庫管理。銷售信息管理模塊包括訂單管理,顯示銷售年份信息,修改銷售年份信息,查詢統(tǒng)計功能。庫存管理包括庫存統(tǒng)計和庫存預警模塊,保密信息管理包括修改當前用戶的密碼。用戶管理包括用戶查詢查看,用戶的增刪改。以及系統(tǒng)的各種功能,例如退出系統(tǒng)。3.3系統(tǒng)架構設計--B/S模式隨著網(wǎng)絡規(guī)模的日益擴大,應用程序的復雜程度不斷提高,傳統(tǒng)的數(shù)據(jù)庫應用架構已經(jīng)不能勝任。為了充分利用網(wǎng)絡資源,越來越多的信息需要在

www(WoridWideWeb)上發(fā)布,實現(xiàn)信息最大程度的共享。Browser/Serve結構伴隨著Intemet的發(fā)展而很快地發(fā)展起來。Browser/Serve體系結構是一種三層結構,其三級結構組成如圖1-2所示:圖3-1B/S結構示意圖B/S系統(tǒng)體系結構的特點:(1).友好、統(tǒng)一的圖形用戶界面在Browser/Server系統(tǒng)中,由于遵循了統(tǒng)一的標準協(xié)議,而且使用瀏覽器作為統(tǒng)一的客戶軟件,用戶無須再花費大量的時間與精力去學習和熟悉不同的系統(tǒng)的使用方法,用戶能夠把大部分的精力集中在系統(tǒng)的內(nèi)容上,而不是去記住系統(tǒng)的使用說明書。(2).減少網(wǎng)絡中的數(shù)據(jù)流量在Browser/server系統(tǒng)中,由于數(shù)據(jù)的處理工作是由服務器來執(zhí)行的,因此在讀取數(shù)據(jù)和保存數(shù)據(jù)時,這些數(shù)據(jù)只在幾臺服務器之間傳輸,不需要經(jīng)過瀏覽器與服務器之間的網(wǎng)絡。一般來說,瀏覽器與服務器之間的網(wǎng)絡大都是距離較長而且速度較低的,而服務器與服務器之間的網(wǎng)絡則是距離較短而且速度較高的,因此采用Browser/Server后,能夠充分地利用服務器之間的高速連接通路,而減少在瀏覽器與服務器之間的長距離低速網(wǎng)絡中的數(shù)據(jù)流量。(3).更好的開放性開放性是發(fā)揮分布式系統(tǒng)優(yōu)勢的基本保障,它為不同廠商生產(chǎn)的產(chǎn)品協(xié)同工作創(chuàng)造了條件,可是這些產(chǎn)品還應當遵循統(tǒng)一的標準。在Browser/server系統(tǒng)中,采用了一致的HTTP協(xié)議以及其它一些共同的規(guī)則,不同系統(tǒng)之間的沖突將會大大減少。(4).平臺無關性在Browser/Server系統(tǒng)中,程序的主體分布在Mid-Server上,客戶機上只有一個標準的瀏覽器,它與服務器之間采用標準的TCP/IP及HTTP等協(xié)議進行通信,因此客戶端的平臺是相對獨立的,它不依賴于服務器方所采用的軟硬平臺。用戶能夠自由地選擇自己熟悉的平臺進行工作。(5).有效地解決異種數(shù)據(jù)庫聯(lián)合使用的問題在Browser/Serve系統(tǒng)中,由于采用了Browser/Mid-Server/Server的三層體系結構,只需在中間層服務器上安裝數(shù)據(jù)庫的驅(qū)動程序,或者使用專門的服務器用作與數(shù)據(jù)庫連接的橋梁。因為程序的主體是運行在中間服務器上的,客戶端只是一個瀏覽器,避免了在客戶端重復安裝數(shù)據(jù)庫驅(qū)動程序的問題,從而能夠有效地解決異種數(shù)據(jù)庫聯(lián)合使用的問題。(6).客戶端的維護工作簡單Brower/Serve系統(tǒng)中,由于采用了通用的客戶軟件,維護工作主要集中在服務器端,而服務器是由專門的管理人員集中管理的,對系統(tǒng)的維護相對簡單得多。因此本系統(tǒng)采用B/S架構設計系統(tǒng)。3.4開發(fā)工具簡介3.4 選擇MicrosoftSQLServer開發(fā)工具是由于其本身的巨大優(yōu)勢,具體如下:(1).性能和可伸縮性行業(yè)標準測試結果表明,SQLServer能夠承受世界上最強的負載。諸如Unilever,Citi,BarclaysCapital,以及MediterraneanShipping這些使用SQLServer支持最關鍵應用程序的客戶以及運行SQLServer的客戶都體驗到了可伸縮性的增強。最終,諸如Siemens以及RedPrairie這樣的大型ISV廠商也歷史性的從推廣Oracle轉(zhuǎn)變?yōu)橥茝VSQLServer.(2).更加安全(漏洞更少)NationalVulnerabilityDatabase(NIST)報告顯示了在過去四年時間里,Oracle的數(shù)據(jù)庫產(chǎn)品中有超過250個致命的安全漏洞。而同一時期SQLServer卻一個漏洞都沒有。微軟所取得的成功來自于可靠性計算項目中的安全引擎進程,全方位的安全特性,以及強大的更新系統(tǒng),它們都能夠降低安全風險并減少客戶由于打補丁所造成的停機時間。專家表示在補丁管理方面的技術,Oracle比微軟要落后五年,而且只有三分之一的Oracle數(shù)據(jù)庫管理員會進行打補丁的操作。(3).開發(fā)效率SQLServer能夠同VisualStudio團隊協(xié)同工作,提供集成化的開發(fā)體驗,并讓開發(fā)人員在統(tǒng)一的環(huán)境中跨越客戶端、中間層以及數(shù)據(jù)層進行開發(fā)。SQLServer在新的開發(fā)功能方面領先了一步。而反觀Oracle經(jīng)過附加的方式提供較為混亂的工具集和SDK,使得開發(fā)人員需要不斷學習并跨越多個接口進行工作。事實上,IDC的報告表明,微軟在提供應用程序平臺的廠商中排名首位。(4).商業(yè)智能(BI)SQLServer作為微軟集成化BI平臺的組成部分,能夠提供數(shù)據(jù)倉庫、分析報表、績效考核以及規(guī)劃預算等功能。在Gartner的MagicQuadrantforBI報告和MagicQuadrantforDataWarehousing報告中,SQLServer都處于領先地位。SQLServer在數(shù)據(jù)倉庫和商務智能方面都有很多創(chuàng)新功能。(5).與Office的集成SQLServer經(jīng)過與大家所熟知的MicrosoftOffice用戶界面緊密集成(例如DataMining結合Excel這樣的免費管理單元),能夠幫助客戶實現(xiàn)更好的商業(yè)洞察力并快速做出商業(yè)決策。正因如此,IDC認為微軟是發(fā)展速度最快的BI廠商。(6).總體擁有成本(TCO)和Oracle相比,SQLServer最強的優(yōu)勢在于能夠以很低的TCO來提供上述好處。其主要原因是:1)業(yè)界領先的自我調(diào)優(yōu)及自動管理功能能夠降低人力成本。2)高效、集成的環(huán)境能夠加快解決方案制定的時間從而快速實現(xiàn)商業(yè)洞察力。3)與Oracle有所不同,SQLServer并不需要額外付費就能夠使用很多重要的功能,例如壓縮、加密以及獲取產(chǎn)品更新和安全補丁。因此本系統(tǒng)采用MicrosoftSQLServer作為后臺數(shù)據(jù)庫的開發(fā)工具。3.4.2 ASP.NET是一種建立在通用語言上的程序構架。一個已編譯的、基于.NET的環(huán)境,把基于通用語言的程序在服務器上運行。將程序在服務器端首次運行時進行編譯,比ASP即時解釋程序速度上要快很多。微軟公司發(fā)布了包括VisualBasic.NET、C#.NET、VisualC++.NET等與.NET兼容的語言來創(chuàng)作應用程序。ASP.NET是在服務器上運行的編譯好的公共語言運行庫代碼,它可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務。這相當于在編寫代碼行之前便顯著提高了性能。(1)世界級的工具支持ASP.NET框架補充了VisualStudio集成開發(fā)環(huán)境中的大量工具箱和設計器。編輯、拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。(2)靈活性由于ASP.NET基于公共語言運行庫,因此Web應用程序開發(fā)人員能夠利用整個平臺的威力和靈活性。Microsoft.NET框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從Web無縫訪問。ASP.NET也與語言無關,因此能夠選擇最適合應用程序的語言,或跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到ASP.NET時保留基于COM的開發(fā)中的現(xiàn)有投資。(3)簡易性ASP.NET使執(zhí)行常見任務變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET頁框架使您能夠生成將應用程序邏輯與表示代碼清楚分開的用戶界面,和在類似VisualBasic的簡單窗體處理模型中處理事件并不相同。另外,公共語言運行庫利用托管代碼服務(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。(4)可管理性ASP.NET采用基于文本的分層配置系統(tǒng),簡化了將設置應用于服務器環(huán)境和Web應用程序。由于配置信息是以純文本形式存儲的,因此能夠在沒有本地管理工具幫助的情況下應用新設置。此”零本地管理”哲學也擴展到了ASP.NET框架應用程序的部署。只需將必要的文件復制到服務器,即可將ASP.NET框架應用程序部署到服務器。不需要重新啟動服務器,即使是在部署或替換運行的編譯代碼時。(5)可縮放性和可用性ASP.NET在設計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到ASP.NET運行庫的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)立新進程,以幫助保持應用程序始終可用于處理請求。(6)自定義性和擴展性ASP.NET隨附了一個設計周到的結構,它使開發(fā)人員能夠在適當?shù)募墑e”插入”代碼。實際上,能夠用自己編寫的自定義組件擴展或替換ASP.NET運行庫的任何子組件。(7)安全性借助內(nèi)置的Windows身份驗證和基于每個應用程序的配置,能夠保證應用程序是安全的。3.4 ADO.NET對象模型中有五個主要的組件,分別是Connection對象、Command對象、DataAdapter、DataSet以及DataReader。這些組件中負責建立聯(lián)機和數(shù)據(jù)操作的部分我們稱為數(shù)據(jù)操作組件(ManagedProviders)分別由Connection對象、Command對象、DataAdapter對象以及DataReader對象所組成。數(shù)據(jù)操作組件最主要是當作DataSet對象以及數(shù)據(jù)源之間的橋梁,負責將數(shù)據(jù)源中的數(shù)據(jù)取出后植入DataSet對象中,以及將數(shù)據(jù)存回數(shù)據(jù)源的工作。圖3-2ADO.NET對象模型Connection組件Connection對象主要是開啟程序和數(shù)據(jù)庫之間的連結。沒有利用連結對象將數(shù)據(jù)庫打開,是無法從數(shù)據(jù)庫中取得數(shù)據(jù)的。這個物件在ADO.NET的最底層,我們能夠自己產(chǎn)生這個對象,或是由其它的對象自動產(chǎn)生。Command組件Command對象主要能夠用來對數(shù)據(jù)庫發(fā)出一些指令,例如能夠?qū)?shù)據(jù)庫下達查詢、新增、修改、刪除數(shù)據(jù)等指令,以及呼叫存在數(shù)據(jù)庫中的預存程序等。這個對象是架構在Connection對象上,也就是Command對象是透過連結到數(shù)據(jù)源的Connection對象來下命令的。因此Connection連結到哪個數(shù)據(jù)庫,Command對象的命令就下到哪里。DataAdapter組件DataAdapter對象主要是在數(shù)據(jù)源以及DataSet之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ?它能夠透過Command對象下達命令后,并將取得的數(shù)據(jù)放入DataSet對象中。這個對象是架構在Command對象上,并提供了許多配合DataSet使用的功能。DataSet組件DataSet這個對象能夠視為一個暫存區(qū)(Cache),能夠把從數(shù)據(jù)庫中所查詢到的數(shù)據(jù)保留起來,甚至能夠?qū)⒄麄€數(shù)據(jù)庫顯示出來。DataSet的能力不只是能夠儲存多個Table而已,還能夠透過DataAdapter對象取得一些例如主鍵等的數(shù)據(jù)表結構,并能夠記錄數(shù)據(jù)表間的關聯(lián)。DataSet對象能夠說是ADO.NET中重量級的對象,這個對象架構在DataAdapter對象上,本身不具備和數(shù)據(jù)源溝通的能力,也就是說我們是將DataAdapter對象當做DataSet對象以及數(shù)據(jù)源間傳輸數(shù)據(jù)的橋梁。DataReader組件當我們只需要循序的讀取數(shù)據(jù)而不需要其它操作時,能夠使用DataReader對象。DataReader對象只是一次一筆向下循序的讀取數(shù)據(jù)源中的數(shù)據(jù),而且這些數(shù)據(jù)是只讀的,并不允許作其它的操作。因為DataReade在讀取數(shù)據(jù)的時候限制了每次只讀取一筆,而且只能只讀,因此使用起來不但節(jié)省資源而且效率很好。使用DataReader對象除了效率較好之外,因為不用把數(shù)據(jù)全部傳回,故能夠降低網(wǎng)絡的負載。3.5數(shù)據(jù)庫結構設計3.5本系統(tǒng)的E-R圖如圖3-3所示:用戶實體:記錄登陸該系統(tǒng)的用戶的相關信息。產(chǎn)品實體:記錄產(chǎn)品的相關信息。銷售年份實體:記錄銷售年份的相關信息??蛻魧嶓w:記錄客戶的相關信息。訂單實體:記錄訂單的相關信息。歷史訂單實體:記錄歷史訂單的相關信息退還貨信息實體:記錄退換貨的相關信息圖3-3系統(tǒng)的E-R圖3.5數(shù)據(jù)庫結構設計是整個系統(tǒng)中最重要的組成部分,用以實現(xiàn)用戶的各種操作,以下分別進行介紹。北京東洋貿(mào)易有限公司產(chǎn)品銷售管理系統(tǒng)數(shù)據(jù)庫是由8張表組成。見表3-2表3-2所有表ID數(shù)據(jù)表名稱數(shù)據(jù)表用途1用戶表保存登陸該系統(tǒng)的所有用戶的信息2銷售年份表保存銷售年份的銷售信息3銷售年表保存銷售年信息4退換貨表保存退換貨信息5歷史訂單表保存歷史訂單信息6客戶表保存客戶信息7訂單表保存訂單信息8產(chǎn)品表保存所有產(chǎn)品的相關信息用戶表結構、表3-3用戶表字段類型長度說明用戶名varchar20用戶名密碼varchar20密碼用戶類型varchar20用戶類型真實姓名varchar20真實姓名電話varchar20電話地址varchar20地址銷售年份表結構表3-4銷售年份表字段類型長度說明年份nchar10年份月份int月份銷售額float銷售額銷售利潤float銷售利潤表3-5銷售年表字段類型長度說明年份nchar10年份退換貨表結構表3-6退換貨表字段類型長度說明姓名nchar10姓名產(chǎn)品名稱nchar10產(chǎn)品名稱[退/換貨]nchar10[退/換貨]數(shù)量int數(shù)量提交時間datetimer接收時間是否處理bit是否處理歷史訂單表結構表3-7歷史訂單字段類型長度說明姓名nvarchar10姓名產(chǎn)品名稱nvarchar20產(chǎn)品名稱購買時間datetime購買時間購買數(shù)量int購買數(shù)量處理時間datetime處理時間客戶表結構表3-8客戶表字段類型長度說明客戶編號nvarchar10客戶編號姓名nvarchar10姓名性別nchar1性別年齡int年齡電話nvarchar20電話地址nvarchar20地址訂單表結構表3-9訂單表字段類型長度說明訂單編號nchar10訂單編號姓名nchar10姓名產(chǎn)品名稱nchar10產(chǎn)品名稱購買數(shù)量int購買數(shù)量下單時間nchar10下單時間是否處理bit是否處理產(chǎn)品表結構表3-10產(chǎn)品表字段類型長度說明產(chǎn)品編號nvarchar10產(chǎn)品編號產(chǎn)品名稱nvarchar20產(chǎn)品名稱產(chǎn)品產(chǎn)地nvarchar20產(chǎn)品產(chǎn)地產(chǎn)品型號nvarchar20產(chǎn)品型號產(chǎn)品介紹nvarcharMAX產(chǎn)品介紹添加日期datetime添加日期數(shù)量int數(shù)量4項目實現(xiàn)4.1公用模塊及相關技術說明4.1.1圖4-1母版頁模塊母版頁是ASP.NET2.0的一項功能,其工作方式與WindowsSharePointServices3.0和OfficeSharePointServer在ASP.NET2.0中的工作方式相同。利用母版頁,您能夠創(chuàng)立單個網(wǎng)頁模板并在應用程序中將該模板用作多個網(wǎng)頁的基礎,這樣就無需從頭創(chuàng)立所有新網(wǎng)頁。為了在瀏覽器中呈現(xiàn),母版頁實際上要求兩個獨立的部件,即母版頁自身和內(nèi)容網(wǎng)頁。母版頁定義公用布局和導航欄,以及附加到該母版頁的所有內(nèi)容網(wǎng)頁的默認公用內(nèi)容。內(nèi)容網(wǎng)頁是一個特有的網(wǎng)頁。在瀏覽器中呈現(xiàn)網(wǎng)頁時,母版頁提供公用內(nèi)容,而內(nèi)容網(wǎng)頁則提供該網(wǎng)頁所特有的內(nèi)容。以下代碼是母版頁中的內(nèi)容位置,將會被其它頁面替代。<asp:ContentPlaceHolderID="ContentPlaceHolder1"runat="server"></asp:ContentPlaceHolder> 同時在母版頁加入了一個ScriptManager,作為服務器端的控件,ScriptManager回應ASP.NET頁面生命周期中的事件,利用這些事件協(xié)調(diào)ASP.NETAJAX使用的所有控件、選項和代碼的活動。ScriptManager將關聯(lián)某一特定事件,當事件發(fā)生時獲得通知,并根據(jù)環(huán)境配置多個設置;此過程將經(jīng)過ASP.NET頁面的呈現(xiàn)循環(huán)多次重復進行。 <asp:ScriptManagerID="ScriptManager1"runat="server"></asp:ScriptManager>同時在母版頁上設計了一個時間指示的文本標簽,該Label能自動獲取當前時間并進行顯示,主要是由后臺的代碼實現(xiàn),在這里說明一下Page_Load函數(shù),這是一個后臺由系統(tǒng)自動調(diào)用的函數(shù),在頁面讀入或者回發(fā)的時候均會觸發(fā)這個函數(shù),執(zhí)行里面的函數(shù)體,在這邊對Label進行賦值,其內(nèi)容由系統(tǒng)內(nèi)置的類DateTime來自動獲取當前時間,并由ToString按照M月d日H時m分的格式轉(zhuǎn)換成字符串,完成顯示。protectedvoidPage_Load(objectsender,EventArgse){Label1.Text=DateTime.Now.ToString("M月d日H時m分",DateTimeFormatInfo.InvariantInfo);}4.1.2在有表格呈現(xiàn)的地方采用GridView控件來實現(xiàn),GridView控件顯示表格的參數(shù)繁多,功能強大,以Cus_View.aspx來說明,首先放入一個GridView控件而且調(diào)整其外觀參數(shù),GridView的外觀參數(shù)非常多,這里用到了間隔行不同的外觀設定,即可得到如下圖所示的間隔效果。圖4-2GridView控件實現(xiàn)表格顯示數(shù)據(jù)外觀設定完畢后,對不同的列,根據(jù)數(shù)據(jù)庫中的列名,依次進行設置,HeaderText設置該列第一行表頭的文字,DataField設置數(shù)據(jù)庫中的列名,綁定的時候?qū)@示其在數(shù)據(jù)庫中的數(shù)據(jù)部分。列又分為BoundField,CheckBoxField,HyperLinkField,ImageField,ButtonField,CommandField,TemplateField。本系統(tǒng)將使用其中的5種,BoundField是文字區(qū)域,普通數(shù)據(jù)則使用BoundField,如果當前列是能夠點擊的超鏈接,則使用HyperLinkField,HyperLinkField的設置里有導航地址,能夠設置如”~/abc.aspx?id={0}”的格式,由{0}表示該行的值,這樣的格式將使每一行導向不同的頁面。單選框Field的Value設置由True或False控制,而最重要的CommandField則提供了刪除,更新的操作,與其它控件相同,設置了OnRowDeleting和OnRowUpdating后在后臺設置其執(zhí)行函數(shù)。執(zhí)行函數(shù)采用SQL語句,DELETE,UPDATE來操作數(shù)據(jù)庫,具體實現(xiàn)能夠從源代碼中查看,關于GridView的數(shù)據(jù)綁定,同樣也要用到SQL的Select語句,由實例化的BaseClass1中的ReadTable獲取某個數(shù)據(jù)表內(nèi)的數(shù)據(jù),然后用DataBind方法來綁定數(shù)據(jù)。關于GridView的分頁,采用了兩種方法實現(xiàn),其一是內(nèi)部提供的方法,控件提供下面的頁碼索引和上一頁、下一頁等按鈕,只需給響應事件的函數(shù)GridView1_PageIndexChanging添加改變頁碼和重新綁定的C#代碼即可。另一種則用到了新的類PagedDataSource,由該類來為數(shù)據(jù)表分頁,而且需要自己編寫函數(shù)實現(xiàn)翻頁功能,其優(yōu)點是有更大的靈活性,能夠自由安排翻頁控制的顯示方式,例如還能夠顯示總頁數(shù),當前頁碼等額外信息。由于很多情況下頁面沒有辦法填充整個PageSize,而控件本身也不提供自動填充的功能。因此本系統(tǒng)使用了GridView1_DataBound響應函數(shù),在其中計算該頁欠缺的行數(shù),然后進行填充,生成足夠多的新行,而且給每行的所有單元格附上一個空格。4.1.3圖4-3StyleSheet.css和web.configStyleSheet.css是外部鏈接樣式表文件,在該文件內(nèi)部定義好css樣式后,鏈接該文件如下,即可使用id=”xxx”來引用StyleSheet.css中定義的樣式。<linkhref="~/StyleSheet.css"rel="stylesheet"type="text/css"/>定義樣式的格式,例子:#MainDiv{width:740px;margin-top:0px;margin-left:auto;margin-right:auto;}而web.config是一些網(wǎng)站的具體設置,其中大部分設置除了能夠編輯該文件來實現(xiàn)外,還能夠經(jīng)過圖形界面的設置來修改該文件,在這里需要將數(shù)據(jù)庫的ConnectionString內(nèi)容放在web.config里面,具體內(nèi)容為:<connectionStrings><addname="ConnectionString"connectionString="DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\db.MDF;IntegratedSecurity=True;UserInstance=True"providerName="System.Data.SqlClient"/></connectionStrings>其中,DataSource=.\SQLEXPRESS表示這里使用的是SQLServerExpress,AttachDbFilename=|DataDirectory|\db.MDF表示數(shù)據(jù)庫文件是本地目錄下的APPDATA目錄下的db.MDF,IntegratedSecurity=True;UserInstance=True是安全性設置以及是否新建用戶例程的選項。4.1.4在App_CODE中新建一個.cs文件,該文件包含了一個命名空間GROUP.Base。在命名空間下設立基礎的SQL調(diào)用函數(shù)類Class_Base,該類主要由以下幾個函數(shù)構成,完成的功能包括,執(zhí)行SQL語句,讀寫數(shù)據(jù)表DataTable,讀寫數(shù)據(jù)集DataSet,獲得數(shù)據(jù)集DataSet,獲得SQLDataReader,以及讀取一行中的某個字段的值。其內(nèi)容按照ADO.NET數(shù)據(jù)模型來設計,具體內(nèi)容見下。//讀寫數(shù)據(jù)表publicDataTableReadTable(StringstrSql)//讀寫數(shù)據(jù)集publicDataSetReadDataSet(StringstrSql)publicDataSetGetDataSet(StringstrSql,StringtableName)publicSqlDataReaderreadrow(Stringsql)//讀某一行中某個字段的值publicstringReadstr(StringstrSql,intflag)publicvoidExecsql(StringstrSql)ReadTable:該函數(shù)返回類型為DataTable,首先創(chuàng)立一個數(shù)據(jù)表dt,定義一個新的連接控件而且初始化,打開連接,定義初始化新的連接適配器而且用來填充數(shù)據(jù)到dt,關閉連接,返回這個dt。ReadDataSet:該函數(shù)返回類型為DataSet,首先創(chuàng)立一個數(shù)據(jù)集ds,定義一個新的連接控件而且初始化,打開連接,定義初始化新的連接適配器而且用來填充數(shù)據(jù)到ds,關閉連接,返回這個ds。GetDataSet:該函數(shù)返回類型為DataSet,首先創(chuàng)立一個數(shù)據(jù)集ds,定義一個新的連接控件而且初始化,打開連接,定義初始化新的連接適配器而且用來填充數(shù)據(jù)到ds,關閉連接,返回這個ds。同上一個函數(shù)相比多了一個參數(shù),Readrow:該函數(shù)的返回類型為SqlDataReader,定義一個新的連接控件而且初始化,打開連接,定義初始化新的連接適配器,關閉連接,若Reader中有數(shù)據(jù)則返回。Readstr:該函數(shù)返回類型為string,首先創(chuàng)立一個數(shù)據(jù)集ds,定義一個新的連接控件而且初始化,打開連接,定義初始化新的連接適配器而且用來填充數(shù)據(jù)到ds,關閉連接,返回這個ds中的某個元素。Execsql:定義一個新的連接控件而且初始化,打開連接,執(zhí)行SQL語句,關閉連接。4.1.5當用戶驗證成功時,進入管理頁面,管理頁面左側是導航樹,該樹是由ASP.NET提供的控件TreeView構成。不同權限的頁面,由完整和部分的樹組成。TreeView控件的外觀調(diào)整與其它ASP.NET控件類似,不再復述。而<Node>里的內(nèi)容部分則以<asp:TreeNodeText="銷售管理"Value="銷售管理"></asp:TreeNode>來表示,其中Text是文字標簽,Value是Node的值,用于區(qū)分不同Node,<asp:TreeNode>能夠互相嵌套,以區(qū)分樹根,樹枝和樹葉,形成一個完整的樹的如圖4-4所示圖4-4管理導航樹導航樹的點擊事件由switch(TreeView1.SelectedNode.Text)語句來完成,對每個不同的點擊,判斷其Value值,用改變this.iframe1.Attributes["Src"]到不同的頁面。右側是功能實現(xiàn)的主面板,即iframe1。Iframe相當于在瀏覽器內(nèi)又設置了一個小型瀏覽器,在內(nèi)部顯示不同的網(wǎng)頁和外部沒有影響,而且瀏覽器地址欄也不會顯示出iframe里頁面的URL,對保護整個系統(tǒng)不被侵犯有很大作用。其默認值是一個歡迎頁面。4.2功能實現(xiàn)4.2.1該功能主要由左邊的IMG控件和右邊的Login控件組成,左邊的IMG控件使用較為簡單,指定大小和圖片的URL即可實現(xiàn)圖片的顯示:<asp:ImageID="Image2"runat="server"Height="248px"ImageUrl="~/Image/images.jpg"style="height:248px"Width="300px"/>而右邊的登陸窗口,則需要進行復雜的設置:其中我們需要對外觀進行設置,其中包括BackColor(背景顏色),BorderColor(邊框顏色),BorderPadding(邊框距離),BorderStyle(邊框樣式),BorderWidth(邊框?qū)挾?,Font-Names(字體),Font-Size(字號),ForeColor(字體顏色),以及Height(高度),Width(寬度),這僅是外框的Style,內(nèi)部TextBox的樣式設置了文字大小和寬度,登陸按鈕設置了背景顏色,邊框顏色,邊框樣式,邊框?qū)挾?字體,字號,字體顏色等不再說明。進行完外觀設置以后,在OnAuthenticate時間里面添加函數(shù)名Login1_Authenticate1,該按鈕將觸發(fā)后臺定義的函數(shù)Login1_Authenticate1。我們對Login1_Authenticate1進行如下定義:stringstrsql="select*from用戶where用戶名='"+Login1.UserName.ToString()+"'and密碼='"+Login1.Password.ToString()+"'";DataTabledt=newDataTable();dt=BaseClass1.ReadTable(strsql);Stringusertype=BaseClass1.Readstr(strsql,2);if(dt.Rows.Count>0){Session["admin"]=Login1.UserName.ToString();Session["type"]=usertype;if(usertype=="總經(jīng)理")Response.Redirect("admin_default.aspx");if(usertype=="部門經(jīng)理")Response.Redirect("mag_default.aspx");}當觸發(fā)函數(shù)Login1_Authenticate1開始運行時,首先進行SQL查詢,選擇輸入的用戶名和密碼匹配的行,保存到數(shù)據(jù)表dt,如果dt中的行大于0,即有匹配的行,則將用戶名存入Session中的admin字段,將用戶類型存入Session中的type字段,并進行用戶類型的選擇,分別導入兩個不同頁面,跳轉(zhuǎn)頁面采用的是Response類下的Redirect方法。經(jīng)過在所有頁面的Page_Load方法里面加入以下代碼來驗證是否是合法用戶,只有合法用戶的Session[”admin”]值才能經(jīng)過驗證,否則強行跳轉(zhuǎn)至登陸頁面。if(Session["admin"]==null||Convert.ToString(Session["type"])!="總經(jīng)理"){Response.Redirect("Default.aspx");}圖4-5登陸界面4.2.2查看客戶信息:本部分由上面的查詢模塊和下面的數(shù)據(jù)表格模塊組成,數(shù)據(jù)表格部分由4.1.2章節(jié)的GridView提供,查詢功能的按鈕事件代碼如下:Response.Redirect("~/customer/cus_find.aspx?id="+TextBox1.Text);這里解釋一下后面的?id=的部分,這是ASP.NET提供的QueryString傳遞參數(shù)的功能。QueryString集合是在ServerVariables集合中QUERY_STRING變量的分析版本。它能夠讓您以名稱檢索QUERY_STRING變量。Request.QueryString(參數(shù))的值是出現(xiàn)在QUERY_STRING中所有參數(shù)的值的數(shù)組。經(jīng)過調(diào)用Request.QueryString(parameter).Count能夠確定參數(shù)有多少個值。如果變量未關聯(lián)多個數(shù)據(jù)集,則計數(shù)為1。如果找不到變量,計數(shù)為0。經(jīng)過QueryString將輸入的查詢字符串傳遞給cus_find.aspx。在這個頁面中將傳遞過來的參數(shù)id放入SQL查詢中,檢查出符合條件的行用GridView進行顯示。 同理,點擊客戶信息中姓名行將跳轉(zhuǎn)至查看該客戶的歷史購買記錄,同樣利用了參數(shù)傳遞的QueryString。圖4-6查看客戶信息4.2.3使用GridView顯示數(shù)據(jù)包括歷史購買記錄,退換貨記錄和客戶訂單信息。這個部分主要進行數(shù)據(jù)的呈現(xiàn)操作,實現(xiàn)方法即建立GridView綁定DataTable中的對應項,DataTable則由數(shù)據(jù)庫查詢得到。GridView提供了很多外觀設定,例如能夠另隔行顏色有差異,由此我們能夠得到漂亮美觀的表格。圖4-7交易信息管理4.2.4產(chǎn)品信息管理查看產(chǎn)品信息本部分由上面的查詢模塊和下面的數(shù)據(jù)表格模塊組成,數(shù)據(jù)表格部分由3.5章節(jié)的GridView提供,查詢功能的按鈕事件代碼如下:Response.Redirect("~/customer/cus_find.aspx?id="+TextBox1.Text);這里解釋一下后面的?id=的部分,這是ASP.NET提供的QueryString傳遞參數(shù)的功能。QueryString集合是在ServerVariables集合中QUERY_STRING變量的分析版本。它能夠讓您以名稱檢索QUERY_STRING變量。Request.QueryString(參數(shù))的值是出現(xiàn)在QUERY_STRING中所有參數(shù)的值的數(shù)組。經(jīng)過調(diào)用Request.QueryString(parameter).Count能夠確定參數(shù)有多少個值。如果變量未關聯(lián)多個數(shù)據(jù)集,則計數(shù)為1。如果找不到變量,計數(shù)為0。經(jīng)過QueryString將輸入的查詢字符串進行傳遞。在這個頁面中將傳遞過來的參數(shù)id放入SQL查詢中,檢查出符合條件的行用GridView進行顯示。圖4-8查看產(chǎn)品信息 產(chǎn)品信息管理原理同用戶信息管理,不同點是增加了添加新產(chǎn)品的鏈接,能夠進入如果編輯產(chǎn)品信息的頁面,輸入新產(chǎn)品信息數(shù)據(jù)后,由提交按鈕觸發(fā)Insert的SQL語句將新信息寫回數(shù)據(jù)庫,完成產(chǎn)品增添操作。 圖4-9產(chǎn)品信息管理進、退貨管當進入此頁面時,只能進行輸入產(chǎn)品編號提交的操作,進退貨提交操作的按鈕處于Disable的狀態(tài),呈現(xiàn)為灰色。當輸入產(chǎn)品編號提交后,由Readrow讀出一行信息,將信息各個部分填寫入不同的文本框內(nèi),不能進行修改,而且使下面的進退貨提交按鈕處于Enable的狀態(tài),當輸入進退貨數(shù)量并提交后,后臺首先計算出操作后的產(chǎn)品數(shù)量,然后Update回數(shù)據(jù)庫。圖4-10退貨管理4.2.5庫存管理庫存統(tǒng)計/庫存預警庫存管理的統(tǒng)計部分是為用戶提供一個簡潔的庫存表,能夠方便查看各個產(chǎn)品的庫存數(shù)量,實現(xiàn)方法同產(chǎn)品信息的查看,使用GridView來綁定數(shù)據(jù),進行直觀、直接的顯示,在庫存預警頁面,由Select語句的限定條件<x能夠查看數(shù)量小于x個的產(chǎn)品數(shù)量。 圖4-11庫存預警4.2.6銷售信息管理訂單管理同產(chǎn)品信息管理類似,編輯選項有CheckBox控件。圖4-12訂單管理 顯示銷售年份信息首先由DropList選擇年份,DropList與GridView一樣,與數(shù)據(jù)庫的年份表進行綁定,選擇年份之后,將年份信息作為QueryString,顯示該年份的信息記錄,信息記錄使用GridView實現(xiàn)。加入打印報表的功能,實現(xiàn)方法:調(diào)用window.print,如下所示:<inputtype="button"onclick="window.print()"value="打印報表">圖4-13顯示銷售年份信息修改銷售年份信息 首先由DropList選擇年份,DropList與GridView一樣,與數(shù)據(jù)庫的年份表進行綁定,選擇年份之后,將年份信息作為QueryString,顯示該年份的信息記錄,信息記錄使用GridView實現(xiàn),加入了編輯功能,與跳轉(zhuǎn)到編輯頁面不同,該表編輯能夠直接在表上進行,實現(xiàn)原理是運用GridView將需要編輯的行標記為編輯行,編輯后Update的工作與前述一致。 增添年份原理:首先在年份表增添該年份的信息(SQLINSERT),然后于銷售表中創(chuàng)立12個月份,詳細資料都為NULL,實現(xiàn)方法是進行12次循環(huán)SQL插入語句,完成后將頁面跳轉(zhuǎn)到該年份資料的修改畫面,進行數(shù)據(jù)錄入。圖4-14修改銷售年份信息查詢統(tǒng)計首先由DropList選擇年份,DropList與GridView一樣,與數(shù)據(jù)庫的年份表進行綁定,選擇年份之后,將年份信息作為QueryString,顯示該年份的信息記錄,信息記錄由SELECT選擇后進行累加,最后輸出(亦可使用SQL語句實現(xiàn)累加),表格圖由Execl另外制作,文件名與年份一樣存入upload_img目錄中便能夠?qū)崿F(xiàn)自動顯示。商品的庫存情況顯示基本與查看產(chǎn)品信息一致,包括搜索功能等。圖4-15查詢統(tǒng)計功能4.2.7數(shù)據(jù)維護主要涉及兩個方面,數(shù)據(jù)庫的備份功能和還原功能,由于必須對物理路徑進行讀寫,首先必須保證IIS對App_Data有足夠的權限進行操作,另外,我們需要獲得服務器的App_Data的真實物理路徑,Server.MapPath能夠幫助我們做到這一點。備份還原的具體操作由SQlSERVER來執(zhí)行,因此我們使用BACKUPDATABASEmyDataBaseTODISK……和RESTOREDATABASEmyDataBaseFROMDISK……來實現(xiàn)此功能。數(shù)據(jù)庫能夠在線備份,當需要還原的時候必須先將數(shù)據(jù)庫離線(當前使用中文件無法覆蓋),進行還原,后在將數(shù)據(jù)庫設置成在線。AlterdatabasemyDataBaseSetOfflineWithRollbackimmediate;RESTOREDATABASEmyDataBaseFROMDISK='"+Server.MapPath("~/App_Data")+"\\"+TextBox2.Text+".ba

溫馨提示

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

評論

0/150

提交評論