版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單位代碼01學(xué)號100301065分類號TP393密級要源程序請加QQ:365924186畢業(yè)設(shè)計說明書網(wǎng)上書店銷售系統(tǒng)的設(shè)計與實現(xiàn)院(系)名稱信息工程學(xué)院專業(yè)名稱計算機科學(xué)與技術(shù)學(xué)生姓名指導(dǎo)教師2012年5月12日網(wǎng)上書店銷售系統(tǒng)的設(shè)計與實現(xiàn)摘要本文從需求分析、總體設(shè)計、詳細(xì)設(shè)計、系統(tǒng)測試四個方面闡述了網(wǎng)絡(luò)圖書銷售系統(tǒng)的設(shè)計過程,對課題的實際需求提出了合理的解決方案,經(jīng)過論證得出該方案滿足實際需求,針對課題特點在MicrosoftVisualStudio2008環(huán)境下使用C#作為開發(fā)工具,經(jīng)過實際測試達(dá)到了我對軟件功能的需求。此網(wǎng)絡(luò)圖書銷售系統(tǒng)主要包括了庫存管理、管理員管理、訂單管理、用戶管理、公告管理、及系統(tǒng)退出六大模塊,該系統(tǒng)具有界面友好,使用方便的特點。從需求分析、系統(tǒng)概要設(shè)計、系統(tǒng)的詳細(xì)設(shè)計和實現(xiàn)等幾個方面來介紹系統(tǒng)的開發(fā)過程,最后對系統(tǒng)進(jìn)行了運行和測試。關(guān)鍵詞:圖書銷售,電子商務(wù)系統(tǒng),C#TheDesignandImplementationoftheOnlineBookstoreSalesAuthor:Tutor:AbstractThisarticleexpatiatedBooksalese-commercesystemdesignprocessfromneedsanalysis,design,detaileddesignandsystemtestingfouraspects,subjecttotheactualdemandputforwardareasonablesolution,afterproofthattheprogrammetomeetactualdemand,featurestopicsfortheMicrosoftVisualStudio2008useC#asatooltoachievearealtestsoftwareneeds.ThedesignandimplementationoftheonlinebookstoresalesIdidhasmainlyincludedtheinventorymanagement、theadministratorsmanagement、theordersmanagement、theusersmanagement、thebulletinmanagementandtheuserslogout.thefunctionofthissystemiscomplete,thecontactsurfaceisfriendly,operateeasily.Thisarticlemainlystartedwiththedemandanalysis,systemoutlinedesign,systemdetailedandrealization.Itmainlyintroducesthedevelopmentofthissystem,finallywecarriedonthemovementandtesttothissystem.Keywords:Booksales,e-commercesystem,C#
目錄TOC\o"1-3"\h\u131931緒論 頁1緒論隨著Internet的飛速發(fā)展,移動購物和網(wǎng)上購物越來越普及,B/S(Browser/Server)架構(gòu)應(yīng)運而生并在電子商務(wù)系統(tǒng)中得到廣泛應(yīng)用,網(wǎng)上購書的方式也越來越為廣大的上網(wǎng)愛好者接受和喜愛。圖書銷售電子商務(wù)系統(tǒng)簡單來說就是商業(yè)上的進(jìn)銷存管理系統(tǒng),是為適應(yīng)現(xiàn)代圖書銷售、管理而產(chǎn)生的。在各行各業(yè)競爭日益激烈的今天,加強工作管理,提高工作效率和工作質(zhì)量是每一個企業(yè)必須面臨并且必須解決的重大課題。圖書銷售業(yè)在面對圖書進(jìn)貨、銷售、存貨,圖書資料管理問題時,以前手工工作方式的管理已遠(yuǎn)不能夠滿足現(xiàn)今日益擴大的圖書銷售市場,企業(yè)只有采取信息化管理方式,才能夠保證企業(yè)的最大贏利及可持續(xù)發(fā)展。圖書銷售系統(tǒng)的建成,將使得企業(yè)的管理工作跨上一個新的臺階,為商家的指揮決策提供更有價值、更具時效性的分析數(shù)據(jù)。系統(tǒng)還將以前單據(jù)所需的大量紙張文字信息轉(zhuǎn)換成電子數(shù)據(jù),簡化了日后的查詢步驟,工作人員不再用手工翻閱查找各種登記冊和單據(jù)本,只需輸入查詢條件,計算機在很短的時間內(nèi)就會查到所需記錄,并將內(nèi)容顯示在屏幕上,大大加快了查詢速度。提高生產(chǎn)數(shù)據(jù)統(tǒng)計的速度和準(zhǔn)確性,減輕匯總統(tǒng)計人員的工作難度。同時圖書銷售電子商務(wù)系統(tǒng)通過數(shù)據(jù)統(tǒng)計,能夠及時統(tǒng)計圖書的種類和數(shù)量,對于擁有眾多的分銷點的大公司來說,這種統(tǒng)計不僅可以互相共享圖書資源而且可以及時有效的方便顧客,爭取更多的客源。針對該系統(tǒng)的特點,采用了MicrosoftVisualStudio2008和SQLServer2005設(shè)計并實現(xiàn)了基于Windows系統(tǒng)環(huán)境的圖書銷售電子商務(wù)系統(tǒng)。
2系統(tǒng)需求分析隨著Internet的飛速發(fā)展,移動購物和網(wǎng)上購物越來越普及,此次課題的選題的初衷,其實主要是順應(yīng)時代潮流,用IT方面的科技成果來打造全新的購物方式改善現(xiàn)有的生活方式。具體來說更方便現(xiàn)代的網(wǎng)絡(luò)用戶查找購買適合自己的圖書,從而彌補現(xiàn)實當(dāng)中購書方式不夠經(jīng)濟(jì)快捷的缺點。圖書銷售電子商務(wù)系統(tǒng)是目前Internet上廣泛使用的電子商務(wù)系統(tǒng)之一。在1997年,國外網(wǎng)上書店達(dá)兩百家以上。而在國內(nèi),自杭州新華書店創(chuàng)辦第一家網(wǎng)上書店后,網(wǎng)上書店如雨后春筍般涌現(xiàn)出來。其中最為有名的莫過于1999年1月1日開通的上海書城網(wǎng)上書店和3月9日正式營業(yè)的北京圖書大廈網(wǎng)上書店?,F(xiàn)在,到底有多少中文圖書的網(wǎng)上書店,恐怕很難統(tǒng)計完整。自從80年代中期以來,國際互聯(lián)網(wǎng)(Internet)在美國得到迅猛發(fā)展并獲得了巨大的成功,吸引了世界上許多國家和地區(qū)紛紛加入Internet的行列。Web是訪問Internet的一種最容易、最流行的方式,利用Web作為工具訪問Internet的人數(shù)占了絕大多數(shù),因此,網(wǎng)上購物得到了極大的商業(yè)發(fā)展,基于網(wǎng)上購物非常廣闊的前景。發(fā)展Web下的圖書銷售電子商務(wù)系統(tǒng)已成為了現(xiàn)在很多書城的基礎(chǔ)建設(shè)項目。中國即將成為世界第一網(wǎng)絡(luò)大國,網(wǎng)民數(shù)量已超過一億,近9000萬人已經(jīng)在網(wǎng)絡(luò)上買過東西,300萬家商戶在網(wǎng)絡(luò)上營銷和采購??墒?,由于過去電子商務(wù)的成本太高,在網(wǎng)絡(luò)上賣東西的人很少,這樣的商業(yè)機會真是百年不遇。先行一步才能先富起來,抓緊時間把生意做到網(wǎng)絡(luò)上去,這就是答案。電子商務(wù)(E-COMMERCE或E-BUSINESS)是信息時代商務(wù)模式的實質(zhì)性變革,是未來貿(mào)易方式的發(fā)展方向。其實施牽涉到社會信用體系、法律環(huán)境、經(jīng)濟(jì)秩序諸方面,是一個與社會大環(huán)境息息相關(guān)并獨具完整結(jié)構(gòu)體系的系統(tǒng)工程。電子商務(wù)網(wǎng)站(網(wǎng)站商場)是整個電子商務(wù)的一個組成部分,它與傳統(tǒng)商務(wù)相比具有五方面主要優(yōu)勢:(1)無需店鋪租金等,能使?fàn)I業(yè)成本大大低于傳統(tǒng)商店;(2)采用“零庫存”管理方式可大大縮短資金的周轉(zhuǎn)周期;(3)互聯(lián)網(wǎng)商務(wù)更有利于開拓全球市場;(4)實現(xiàn)24小時不間斷營業(yè),有利于提高營業(yè)額[1]。圖書銷售電子商務(wù)系統(tǒng)作為電子商務(wù)系統(tǒng)之一,從其主要功能和交易形式上來分主要算作B2C商務(wù)網(wǎng)站模式,是一種企業(yè)面向消費者的服務(wù)模式,但是如果在文化傳媒領(lǐng)域大力推進(jìn)這種商務(wù)模式,企業(yè)之間可以直接通過公共的文化傳媒電子商務(wù)系統(tǒng)來實現(xiàn)產(chǎn)品的相互流通,從而擴展到B2B商務(wù)網(wǎng)站模式。同時隨著將來互聯(lián)網(wǎng)的飛速發(fā)展和電子商務(wù)系統(tǒng)的不斷完善和技術(shù)創(chuàng)新,在基于B2B、B2C混合模式下的圖書銷售電子商務(wù)系統(tǒng),可以繼續(xù)創(chuàng)新擴展添加“二手圖書市場”子系統(tǒng)模塊,從而實現(xiàn)C2C的免費交易平臺,這樣不僅可以擴大用戶量實現(xiàn)更多的資源共享,同時不失為一種有效的網(wǎng)站推廣模式[2]。一個結(jié)構(gòu)完善、發(fā)展成熟的圖書銷售電子商務(wù)系統(tǒng),除了可以對傳統(tǒng)的圖書銷售模式進(jìn)行革新簡化,同時可以復(fù)制推廣到更多的文化傳媒產(chǎn)品領(lǐng)域,這樣不僅實現(xiàn)產(chǎn)品多元化,同時可以方便顧客購買,實現(xiàn)電子商務(wù)網(wǎng)站的綜合銷售模式。2.1功能需求2.1.1基本功能需求圖書銷售電子商務(wù)系統(tǒng)(后臺設(shè)計)主要包含以下六大功能模塊:庫存管理、管理員管理、訂單管理、用戶管理、公告管理、及系統(tǒng)退出[3]。(1)庫存管理:包括瀏覽現(xiàn)有書籍、瀏覽特價書籍、添加新書等;(2)管理員管理:包括添加管理員、刪除管理員、管理員信息查看等;(3)訂單管理:包括訂單列表查看、訂單詳細(xì)信息處理(確定、發(fā)送、查收、刪除及逆操作)等;(4)用戶管理:用戶(前臺注冊會員)列表查看、用戶詳細(xì)信息查看,用戶刪除等;(5)公告管理:公告列表瀏覽、公告詳細(xì)信息查看、公告刪除和公告添加;(6)系統(tǒng)退出:后臺管理員退出系統(tǒng)。2.1.2界面的需求圖書銷售電子商務(wù)系統(tǒng)作為一個實用的電子商務(wù)交易平臺,必須要求盡量滿足大部分客戶的操作習(xí)慣和使用要求,要本著明快簡潔,方便合理,簡單易用的網(wǎng)站要求來策劃設(shè)計。從總體功能上來看,這個電子商務(wù)系統(tǒng)包括前臺和后臺兩部分。在負(fù)責(zé)的后臺部分要求能讓公司的管理人員盡快且非常方便的進(jìn)入系統(tǒng),且進(jìn)入系統(tǒng)后能很容易根據(jù)導(dǎo)航欄進(jìn)行操作[4]。2.1.3系統(tǒng)維護(hù)需求(1)數(shù)據(jù)無論對于用戶還是系統(tǒng)本身來說都是非常寶貴的資產(chǎn)。數(shù)據(jù)是存放在計算機上的,但是即使是最可靠的硬件和軟件,也會出現(xiàn)系統(tǒng)故障和產(chǎn)品故障。所以,應(yīng)該在單個發(fā)生之前做好充分的準(zhǔn)備工作,以便在意外發(fā)生之后有相應(yīng)的措施能快速的恢復(fù)數(shù)據(jù)庫的運行,并使丟失的數(shù)據(jù)盡量減少到最小。對于該系統(tǒng),有許多的賬務(wù)數(shù)據(jù),關(guān)系到雙方的利益,所以,系統(tǒng)要能夠備份數(shù)據(jù)和還原數(shù)據(jù)。(2)為了信息安全,在管理員使用完畢時候要安全退出系統(tǒng),所以系統(tǒng)要設(shè)置退出功能,以便清空session中保存的信息[5]。2.2性能的需求2.2.1系統(tǒng)的靈活性電子商務(wù)系統(tǒng)能否順利的使用和推廣,其靈活性是一個重要指標(biāo)。在開發(fā)系統(tǒng)前,要進(jìn)行實際調(diào)查,確保盡量滿足客戶的需求。此系統(tǒng)后臺的設(shè)計庫存管理、管理員管理、訂單管理、用戶管理、公告管理等功能均可以對一些必要信息進(jìn)行多次修改,確保信息的動態(tài)性,這樣既方便用戶記憶使用,同時可以刪除一些不必要的信息節(jié)約存儲空間。2.2.2系統(tǒng)的可擴展性電子商務(wù)系統(tǒng)的可擴展性是評價系統(tǒng)性能的一個重要指標(biāo)。隨著圖書銷售行業(yè)的不斷發(fā)展和變化,圖書銷售電子商務(wù)系統(tǒng)的要求越來越多,因此新的功能需要不斷的被加進(jìn)系統(tǒng),使該系統(tǒng)日益完善。如果一個系統(tǒng)不能被擴展,那么只有重新開發(fā)一個新的系統(tǒng),這樣會浪費許多的人力物力。因此為了避免這些不利因素,在設(shè)計的過程中盡量對需求分析細(xì)分細(xì)化,對數(shù)據(jù)庫的設(shè)計尤為慎重,為以后擴展留有余地。2.2.3系統(tǒng)的安全性電子商務(wù)系統(tǒng)分為前臺后臺,前臺為會員注冊、登錄、購物的平臺,后臺是系統(tǒng)管理員實現(xiàn)系統(tǒng)管理的平臺,其中用戶(前臺注冊會員)信息和管理員信息都是一個重要的信息參數(shù),所以為了系統(tǒng)的安全性,這些敏感的數(shù)據(jù)都應(yīng)該采用加密傳輸和加密存儲。同時對不同的用戶進(jìn)入系統(tǒng),也應(yīng)該加以區(qū)別對待,所以要有進(jìn)入此系統(tǒng)的權(quán)限控制,只有具有相應(yīng)權(quán)限的人員才能夠操作該系統(tǒng)的某些功能。沒有權(quán)限的人員無論通過任何途徑都無法查看和修改系統(tǒng)的原始數(shù)據(jù)??梢栽L問整個系統(tǒng)的人員應(yīng)具有更高的權(quán)限,他負(fù)責(zé)系統(tǒng)的維護(hù)及運行。以上兩點都是基于系統(tǒng)安全方面的考慮,但是由于技術(shù)的局限性和時間的限制,這里沒有實現(xiàn),介于將來系統(tǒng)的完善有必要在這里提到。2.3開發(fā)工具及相關(guān)技術(shù)2.3.1前端軟件開發(fā)工具的選擇開發(fā)這套圖書銷售電子商務(wù)系統(tǒng),統(tǒng)一選擇了MicrosoftVisualStudio2005作為前端系統(tǒng)開發(fā)工具,其中的Web應(yīng)用程序基礎(chǔ)結(jié)構(gòu)ASP.NET提供Windows客戶端開發(fā)的瘦客戶端對應(yīng)物。通過顯著改善的性能、工作效率和安全性。VisualStudio2005和ASP.NET2.0帶來了簡化、高性能且強大的Web開發(fā)體驗。ASP.NET2.0具有一組新的控件和基礎(chǔ)結(jié)構(gòu),可簡化基于Web的數(shù)據(jù)訪問,并且將包含能夠促進(jìn)代碼重用、可視化一致性以及增強美感的功能。首先,通過引入用于與數(shù)據(jù)交互的新控件來調(diào)整ASP.NET2.0數(shù)據(jù)訪問。DataSource控件將以聲明方式或編程方式在應(yīng)用程序中使用,以便封裝使用數(shù)據(jù)(來自數(shù)據(jù)庫、XML文件、中間層業(yè)務(wù)對象和其他來源)所需的查詢邏輯。DataSource公開一組公共接口,以便數(shù)據(jù)綁定控件可以輕松地使用不同類型的數(shù)據(jù),而不必要求它支持的每個數(shù)據(jù)類型都具有唯一的API。ASP.NET2.0還提供用于顯示和操作數(shù)據(jù)的新控件。GridView控件是ASP.NETDataGrid的后繼控件,它添加了自動處理數(shù)據(jù)的分頁、排序、編輯和刪除的功能。DetailsView是一個數(shù)據(jù)綁定控件,它一次呈現(xiàn)其關(guān)聯(lián)數(shù)據(jù)源中的一個記錄。DetailsView提供分頁按鈕,以便在記錄之間進(jìn)行導(dǎo)航。開發(fā)人員可以在主控件-詳細(xì)信息控件方案中使用DetailsView控件來更新和插入新記錄,其中,主控件的選定記錄確定DetailsView顯示記錄。上述控件和其他控件的附加功能大大簡化了生成動態(tài)的、數(shù)據(jù)驅(qū)動Web站點和Web應(yīng)用程序[6]。其次,ASP.NET2.0包含能夠在Web站點中的頁之間確保一致性和代碼重用的功能。母版頁的引入能夠在多個頁之間快速共享布局,方法是設(shè)計指定控件、菜單欄、頁眉和頁腳位置的模板。與Windows窗體中的可視化繼承類似,母版頁使Web站點中的其他頁可從母版頁繼承從而自動獲得外觀。當(dāng)要更改所有頁的布局時,只需對母版頁進(jìn)行更新。其他的平臺工作效率增強功能包括一組可以簡化很多常見Web方案(如身份驗證、站點導(dǎo)航、管理、個性化等)的框架服務(wù)。這些增強功能可減少代碼膨脹,增加可維護(hù)性,并簡化大多數(shù)常見Web應(yīng)用程序開發(fā)任務(wù)的實現(xiàn)。第三,使用ASP.NET2.0的Web應(yīng)用程序,能夠利用SQL緩存無效化來提高其應(yīng)用程序性能。通過緩存從SQLServer數(shù)據(jù)庫中檢索的數(shù)據(jù)(更新該數(shù)據(jù)之前),這種數(shù)據(jù)緩存方法將顯著提高性能。通過當(dāng)前可用版本的SQLServer,ASP.NET將按照指定的時間間隔輪詢該數(shù)據(jù)庫,以確定是否已經(jīng)對該數(shù)據(jù)進(jìn)行更新。然后,只有當(dāng)有跡象顯示對該數(shù)據(jù)進(jìn)行了更新時,ASP.NET才會重新查詢該數(shù)據(jù)庫[7]。第四,通過使用VisualStudio2005IDE,Web應(yīng)用程序可以在工作效率方面得到顯著改善。在啟用新的Web開發(fā)人員IDE配置文件后,VisualStudio2005將只公開與Web應(yīng)用程序開發(fā)有關(guān)的功能,從而優(yōu)化開發(fā)環(huán)境和用戶體驗。此外新的基于目錄的項目模型將消除解決方案文件的系統(tǒng)開銷,同時通過對直接IIS枚舉、FTP和文件系統(tǒng)訪問的支持,使Web開發(fā)人員能夠享受傳統(tǒng)的基于文件系統(tǒng)的項目范型。最后,對ASP.NET代碼隱藏模型的增強消除了對由脆弱工具生成的代碼的依賴,這些代碼是傳統(tǒng)意義上協(xié)調(diào)ASP.NET2.0Web頁與其關(guān)聯(lián)類文件所需的。使用不完全類,ASP.NET提供一個更為可靠的模型,以分隔表示標(biāo)記與代碼。不完全類還將使開發(fā)人員能夠輕松地以內(nèi)聯(lián)方式編寫代碼,從而遵守很多Web開發(fā)人員所熟悉的模型。其他對Web開發(fā)的IDE工作效率增強功能包括:設(shè)計時驗證引擎、內(nèi)聯(lián)CSS支持、更靈活的調(diào)試等。通過在控件集、可視化設(shè)計器和編碼體驗中計劃的改進(jìn),ASP.NET2.0完成常見編碼方案所需的代碼量最多減少70%,從而大大簡化了Web應(yīng)用程序的開發(fā)。2.3.2后臺數(shù)據(jù)庫的選擇MicrosoftSQLServer是Microsoft公司開發(fā)的一個基于結(jié)構(gòu)化查詢語言(SQL)和客戶機/服務(wù)器模型的高性能的關(guān)系數(shù)據(jù)庫管理系統(tǒng),SQLServer2000的應(yīng)用可以穩(wěn)定運行在小到臺式機、筆記本,大到具有8-16個處理器、若干個G字節(jié)的內(nèi)存,若干個T字節(jié)的外部存儲器的對稱的多處理器服務(wù)器。由于今天Windows操作系統(tǒng)占領(lǐng)著主導(dǎo)地位,選擇SQLServer一定會在兼容性方面取得一些優(yōu)勢。另外,SQLServer2000除了具有擴展性,可靠性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯XML數(shù)據(jù),可以將搜索結(jié)果以XML格式輸出等特點,有利于構(gòu)建系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應(yīng)用和服務(wù)的基石。MicrosoftSQLServer2000非常明顯的改進(jìn)就是增加了OLAP(聯(lián)機分析處理)功能,這可以讓很多中小企業(yè)用戶也可以使用數(shù)據(jù)倉庫的一些特性進(jìn)行分析。OLAP可以通過多維存儲技術(shù)對大型、復(fù)雜數(shù)據(jù)集執(zhí)行快速、高級的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢,它允許組織或機構(gòu)最大限度的從數(shù)據(jù)中獲取價值。通過對現(xiàn)有數(shù)據(jù)進(jìn)行有效分析,這一功能可以對未來的趨勢進(jìn)行預(yù)測。MicrosoftSQLServer2000是在SQLServer7.0的基礎(chǔ)上對性能、可靠性、質(zhì)量以及易用性進(jìn)行了擴展。SQLServer2000中包含許多新特性,這些特性使其成為針對電子商務(wù)、數(shù)據(jù)倉庫和在線商務(wù)解決方案的卓越的數(shù)據(jù)庫平臺。其增強的特性包括對豐富的擴展標(biāo)記語言(XML)的支持、綜合分析服務(wù)以及便捷的數(shù)據(jù)庫管理[8]。SQLServer2000是一種企業(yè)級的數(shù)據(jù)庫管理系統(tǒng),主要是被設(shè)計來支持大容量的事務(wù)處理,例如超級市場的銷售系統(tǒng),銀行管理系統(tǒng),網(wǎng)絡(luò)中的數(shù)據(jù)庫支持應(yīng)用軟件及其他方面的企業(yè)極的應(yīng)用。因此選擇了SQLServer2000作為自己的后臺數(shù)據(jù)庫。2.3.2軟件開發(fā)平臺的選擇基于MicrosoftVisualStudio2005和SQLServer2000對運行環(huán)境的要求,并根據(jù)目前電子商務(wù)系統(tǒng)對計算機硬件設(shè)備的實際情況,選擇了現(xiàn)在主流的MicrosoftWindowsXP作為系統(tǒng)開發(fā)、測試和運行的平臺。2.3.4相關(guān)技術(shù)介紹ASP對象是ASP應(yīng)用開發(fā)的強大工具,ASP共包含有7個對象,使用這7個對象可以完成大多數(shù)Web應(yīng)用設(shè)計所需的功能。在ASP中,對象相當(dāng)于一個已經(jīng)被封裝好的CGI程序,它向使用者提供的只是屬性和方法,Web設(shè)計人員無需了解對象的工作原理和設(shè)計方法,只要直接調(diào)用對象的屬性和方法就能完成Web應(yīng)用程序的基本功能。ASP提供的7個對象為:Request:用于獲取客戶通過瀏覽器向服務(wù)器發(fā)送的信息。Response:用于將輸出結(jié)果發(fā)送到瀏覽器。Session:用于在一個用戶對話(Session)存儲公用的信息。Application:用于在ASP應(yīng)用的多個對象之間共享信息。Server:用于提供對服務(wù)器方法、屬性的存取。Asperror:用于ASP應(yīng)用的錯誤處理。Objectcontext:用于通過MicrosoftTransactionServer(MTS)來提交或終止一項交易。其中Asperror和Objectcontext是ASP3.0新增的對象。正確理解和掌握這些對象,是Web應(yīng)用程序的前提條件[9]。
3總體設(shè)計圖書銷售電子商務(wù)系統(tǒng)(后臺設(shè)計)其實是一個對數(shù)據(jù)庫進(jìn)行操作應(yīng)用的系統(tǒng),銷售系統(tǒng)的所有圖書信息、前臺會員注冊信息、新聞發(fā)布信息、管理員信息等都是保存在數(shù)據(jù)庫里面。在這種數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程中,在系統(tǒng)的總體設(shè)計中數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計是一個非常重要的問題。數(shù)據(jù)庫設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計將會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,數(shù)據(jù)庫設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計將會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,簡化基于此數(shù)據(jù)庫的應(yīng)用程序的實現(xiàn)等好處,所以數(shù)據(jù)庫的設(shè)計在圖書銷售電子商務(wù)系統(tǒng)(后臺設(shè)計)的總體設(shè)計中起著舉足輕重的作用[10]。3.1系統(tǒng)功能結(jié)構(gòu)設(shè)計本系統(tǒng)包括六大模塊,他們之下又劃分了多個子模塊分別完成不同的功能,來維護(hù)整個系統(tǒng)的運轉(zhuǎn)。具體如圖3.1所示。圖書銷售電子商務(wù)系統(tǒng)圖書銷售電子商務(wù)系統(tǒng)管理員管理訂單管理用戶管理公告管理庫存管理系統(tǒng)退出圖3.1圖書銷售電子商務(wù)系統(tǒng)(后臺設(shè)計)各大模塊下的子模塊如圖3.2—圖3.6所示。庫存管理書籍覽瀏添庫存管理書籍覽瀏添加書籍特價書籍圖3.2庫存管理圖3.2顯示的是庫存的管理信息,其中包括瀏覽書籍、添加書籍、特價書籍三個功能。圖3.3管理員管理圖3.3是超級管理員的管理圖示,其中包括添加管理員、管理員編輯、刪除管理員等功能。好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計將會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,數(shù)據(jù)庫設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。好的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計將會減少數(shù)據(jù)庫的存儲量,數(shù)據(jù)的完整性和一致性比較高,系統(tǒng)具有較快的響應(yīng)速度,簡化基于此數(shù)據(jù)庫的應(yīng)用程序的實現(xiàn)等好處,所以數(shù)據(jù)庫的設(shè)計在圖書銷售電子商務(wù)系統(tǒng)(后臺設(shè)計)的總體設(shè)計中起著舉足輕重的作用。數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的核心和基礎(chǔ),它要求對于指定的應(yīng)用環(huán)境。圖3.4訂單管理圖3.4是訂單管理功能的一個圖示,其中包括訂單確定、訂單發(fā)送、訂單查收、刪除訂單等功能。圖3.5用戶管理圖3.5顯示的是用戶管理的功能,其中包括用戶查看和用戶刪除兩個功能。圖3.6公告管理圖3.6顯示的是公告管理功能的模塊,其中包括瀏覽公告、瀏覽添加和刪除公告等三個功能。管理員可以在此界面對公告進(jìn)行管理,管理員需要先驗證登錄,登錄上之后在公告管理界面對公告進(jìn)行添加、刪除等操作。公告主要寫的是該系統(tǒng)在某段時間更新信息的發(fā)布。3.2系統(tǒng)流程設(shè)計根據(jù)需求分析和模塊設(shè)計設(shè)計出了系統(tǒng)的流程,這里主要是用戶登錄、起始頁、前臺收銀、庫存管理、經(jīng)理查詢、退出登錄。只有有權(quán)限的用戶才可以進(jìn)入相關(guān)模塊,而沒有權(quán)限的用戶不能進(jìn)入相關(guān)模塊。3.3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的核心和基礎(chǔ),它要求對于指定的應(yīng)用環(huán)境,構(gòu)造出較優(yōu)的數(shù)據(jù)庫模式,建立起數(shù)據(jù)庫應(yīng)用系統(tǒng),并使系統(tǒng)能有效地存儲數(shù)據(jù),滿足用戶的各種應(yīng)用需求。3.3.1系統(tǒng)數(shù)據(jù)表書籍信息(書籍編號,書籍名稱,書籍類型,書籍加入時間,內(nèi)容簡介,訂購描述,價格,書籍點擊率,書籍描述的圖片,是否是特價書籍,折扣價格)。書籍類型(書籍編號,類型名稱,類型的父類型號,是否有子類型,添加時間)。管理員信息(管理員編號,管理員用戶名,管理員密碼,真實姓名,Email地址,加入時間)。3.3.2數(shù)據(jù)庫詳細(xì)設(shè)計1、用戶信息表(UserInfo)的設(shè)計表3.1用戶信息表字段說明列名數(shù)據(jù)類長度主鍵允許空用戶編號User_IDint4√-用戶名User_Namevarchar50--用戶密碼User_Pswvarchar50--用戶真實姓名User_RealNamevarchar50--用戶電話User_Telvarchar50--用戶Email地址User_Emailvarchar200--用戶住址User_Addressvarchar200--郵編User_ZipCodevarchar20--2、管理員信息表(AdminInfo)的設(shè)計表3.2管理員信息表字段說明列名數(shù)據(jù)類型長度主鍵允許空管理員編號Admin_IDint4√管理員用戶名Admin_Namevarchar50--管理員密碼Admin_Pswvarchar50--真實姓名Admin_RealNamevarchar50--Email地址Admin_Emailvarchar200--加入時間Admin_AddDatedatetime8--3、公告信息表(BulletinInfo)的設(shè)計表3.3公告信息表字段說明列名數(shù)據(jù)類型長度主鍵允許空公告編號Bul_IDint4√-公告標(biāo)題Bul_Titlevarchar100--公告內(nèi)容Bul_contentvarchar4000--添加時間Bul_addDatedatetime8--添加人員Admin_IDint4--公告的瀏覽量Bul_pointint4--4、書籍信息表(GoodsInfo)的設(shè)計表3.4書籍信息表字段說明列名數(shù)據(jù)類型長度主鍵允許空書籍編號Goods_IDint4√-書籍名稱Goods_Namevarchar50--書籍類型Goods_TypeIDint4--書籍加入時間Goods_AddDatedatetime8--內(nèi)容簡介Goods_Introducevarchar4000--訂購描述Goods_OrderDescvarchar100--價格Goods_Pricevarchar50--5、書籍類型表(GoodsType)的設(shè)計表3.5書籍類型表字段說明列名數(shù)據(jù)類型長度主鍵允許空類型號Type_typeIDint4√類型名稱Type_namevarchar50類型的父類型號Type_fidInt4是否有子類型Type_haveChildvarchar2添加時間Type_addDatedatetime86、訂單信息表(OrderInfo)的設(shè)計表3.6訂單信息表字段說明列名數(shù)據(jù)類型長度主鍵允許空訂單號Order_noint4--訂單產(chǎn)生時間Order_timedatetime8--訂單確認(rèn)情況Order_isConfirmvarchar2--訂單確認(rèn)時間Order_confirmTimedatetime8-√確認(rèn)訂單管理員的IDOrder_confirmAdminIDint4-√訂單發(fā)送情況Order_sendStatusint4--訂單的收貨人姓名Order_recUserNamevarchar50--訂單的收貨人地址Order_addressvarchar200--訂單的收貨人郵編Order_zipvarchar20--產(chǎn)生訂單的用戶IDUser_userIDint4--訂單的總價Order_totalPricevarchar50--訂單的收貨人的EmailOrder_emailvarchar200--根據(jù)需求分析和模塊設(shè)計設(shè)計出了系統(tǒng)的流程,這里主要是用戶登錄、起始頁、前臺收銀、庫存管理、經(jīng)理查詢、退出登錄。數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的核心和基礎(chǔ),它要求對于指定的應(yīng)用環(huán)境,只有有權(quán)限的用戶才可以進(jìn)入相關(guān)模塊,而沒有權(quán)限的用戶不能進(jìn)入相關(guān)模塊。7、訂單詳細(xì)信息表(OrderDetail)的設(shè)計表3.7訂單詳細(xì)信息表字段說明列名數(shù)據(jù)類型長度主鍵允許空訂單詳細(xì)表號Order_detailIDint4--該項所對應(yīng)的訂單號Order_noint4--該項所對應(yīng)的書籍Order_IDint4--該書籍所購買的數(shù)量Order_goodsNumint4--該書籍總價Order_pricevarchar50--
4詳細(xì)設(shè)計與實現(xiàn)4.1系統(tǒng)功能設(shè)計簡介4.1.1添加主功能面板管理員所要做的工作可以分為以下幾部分。登錄:這是對管理員身份的確認(rèn)。庫存管理:包括查看書籍列表,查看書籍詳細(xì)信息,修改書籍詳細(xì)信息,添加新書,以及特價書籍管理。管理員管理:包括添加管理員,查看修改管理員信息,以及刪除管理員。訂單管理:包括查看訂單列表,查看單個訂單的詳細(xì)信息,以及對訂單的狀態(tài)進(jìn)行設(shè)置。用戶管理:既查看已有注冊用戶信息,也要求能夠刪除用戶。公告管理:發(fā)布當(dāng)前商務(wù)信息公告,同時要求能夠更改刪除。(1)在項目中添加一個文件夾,取名為Admin。在Admin文件夾中添加一個新的模板頁,取名為admin.master。(2)首先在模版頁上添加一個表單,然后在這個表單上添加5個HyperLink控件,用來鏈接到其他頁面。一個LinkButton控件用來完成退出功能。如下圖4.1所示。圖4.1表單控件4.1.2添加歡迎控件(1)通過一個用戶控件來顯示歡迎信息。在Admin文件夾內(nèi)添加一個新的用戶控件,取名為AdminWelcome.ascx。(2)打開該頁面,在其中添加一個Table控件和一個Lable控件用來顯示用戶名,還有HyperLink控件用來鏈接到修改管理員信息的功能頁面。界面如下圖4.2所示。圖4.2Lable控件(3)添加后臺代碼。WebServicewebService=newWebService();protectedvoidPage_Load(objectsender,EventArgse){stringstrSql="SelectAdmin_namefromz_AdminInfowhereAdmin_ID='"+Session["AdminID"].ToString()+"';";DataTabledtTable=webService.ExcuteSelect(strSql);this.lblName.Text=dtTable.Rows[0]["Admin_name"].ToString();}添加LinkButton的Click函數(shù)體,代碼如下。protectedvoidLinkButton1_Click(objectsender,EventArgse){Response.Redirect("Admin_Info.aspx?aid="+Session["AdminID"].ToString());}(5)將這個控件拖入模板頁中相應(yīng)的位置。4.1.3添加分類導(dǎo)航面板這里用到的用戶控件就是前面提到的已經(jīng)構(gòu)建的SortTree.ascx控件,這里直接使用即可。最后的后臺模塊下整體界面如圖4.3所示。圖4.3分類導(dǎo)航面板4.2登錄界面設(shè)計與實現(xiàn)管理員模塊要求管理員首先進(jìn)行身份確認(rèn),然后才能進(jìn)入管理模塊,所以這里需要增加一個身份確認(rèn)的模塊頁面。(1)在Admin文件夾下添加一個新頁面,取名為Admin_Login.aspx。這個頁面不需要使用前面構(gòu)建的模板頁。(2)往頁面中添加一個表格,在表格中添加兩個TextBox控件,用來得到用戶的輸入,在添加兩個Button控件,分別表示“提交”和“重填”。最后添加一個Label控件,用來輸出信息。最后界面如下圖4.4所示。圖4.4登錄頁面(3)雙擊“提交”按鈕,添加其Click事件函數(shù)體(4)雙擊“重填”按鈕,添加其Click事件函數(shù),代碼如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){this.tbUserName.Text="";this.tbPsw.Text="";4.3庫存管理模塊設(shè)計與實現(xiàn)4.3.1書籍列表頁面為了方便管理員管理書籍商品,需要有個頁面來顯示出書籍的列表。(1)在Admin中添加一個新的頁面,取名為Goods_List.aspx。注意選擇其模板頁為admin.Master。(2)在其中添加3個HyperLink,分別表示“瀏覽書籍”、“添加書籍”、“特價書籍”。再在這里添加一個DataList控件來顯示書籍?dāng)?shù)據(jù),打開DataList控件的ItemTemplete模板,往其中添加3個label控件,既一個Image控件,兩個LinkButton控件,注意其中的數(shù)據(jù)綁定。然后在DataList控件上方添加一些控件來進(jìn)行頁面控制。最后的界面如下圖4.5所示。圖4.5書籍列表界面(3)界面完成后添加后臺代碼,最后代碼參照附錄源代碼書籍列表頁面代碼。(4)增加對“詳細(xì)信息”這個LinkButton控件的處理代碼,然后添加其Command事件處理函數(shù),代碼如下。Response.Redirect("Goods_Info.aspx?gid="+e.CommandArgument);通過CommandArgument參數(shù)把被點擊查看詳細(xì)信息的商品的ID傳遞過去。(5)添加對刪除這個LinkButton的處理代碼。同樣需要確認(rèn)其CommandArgument參數(shù)已經(jīng)綁定到Goods_ID上,然后在其中Command事件處理函數(shù)中添加如下代碼。protectedvoidlbtnDel_Command(objectsender,CommandEventArgse){stringstrSql="Deletefromz_GoodsInfowhereGoods_ID='"+e.CommandArgument+"';";webService.ExcuteSql(strSql);Response.Redirect("Goods_List.aspx");(6)新建一個頁面Goods_Special.aspx來顯示特價書籍列表,對特價書籍的列表方法幾乎和書籍列表一樣,但這里不需要對其處理SortTree.Ascx控件傳來的Type參數(shù),所以可以直接就進(jìn)行的數(shù)據(jù)的讀取。數(shù)據(jù)讀取過程中有點不一樣,因為只是選出特價商品,所以其SQL語句變?yōu)椋篠electz_GoodsInfo.*,z_GoodsType.*fromz_GoodsInfoINNERJOINz_GoodsTypeONz_GoodsInfo.Type_typeID=z_GoodsType.Type_typeIDwherez_GoodsInfo.Goods_isSpecial='y''orderbyGoods_addDatedesc;4.3.2添加書籍界面在Admin文件夾下添加一個新頁面,取名為Goods_Add.aspx,往其中添加4個TextBox控件,一個DropDownList控件和一個Fileupload控件,然后添加8個TextBox控件和一個Image控件,注意前7個TextBox控件用來顯示相關(guān)信息,不能修改,并對這幾個控件都分別添加一個驗證控件以驗證其完整性,然后添加兩個按鈕,用來表示“提交”和“取消”。添加一個SqlDataSource控件來獲得DropDownList控件的數(shù)據(jù),最后頁面如下圖4.6所示。圖4.6添加書籍頁面添加“提交”按鈕的事件處理函數(shù),當(dāng)管理員單擊“提交”按鈕后,首先獲得用戶的各項輸入,然后將獲得的信息插入到z_GoodsInfo表中。添加“取消”按鈕的事件處理函數(shù),功能是返回“書籍列表”頁面,代碼如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Goods_List.aspx");}4.3.3設(shè)置特價書籍價格頁面在Admin文件夾中添加一個新頁面,取名為Goods_SpecialPrice.aspx,同樣是在頁面中添加一個表格,然后添加8個TextBox控件和一個Image控件,注意前7個TextBox控件用來顯示相關(guān)信息,不能修改,即其Readonly屬性設(shè)為true,最后一個用來獲得用戶輸入的新價格的TextBox才允許用戶輸入,然后添加兩個Button按鈕,分別用來表示提交和取消獲得相應(yīng)的顯示信息,最后界面如下圖4.7所示。圖4.7設(shè)置特價書籍價格頁面添加“確認(rèn)”按鈕的Click事件方法,即獲得管理員輸入的新價格,代碼如下。if(Page.IsValid){stringstrSpecialPrice=this.tbIsSpecial.Text;Goods_isSpecial='y',Goods_specialPrice='"+strSpecialPrice+"'whereGoods_ID='"+gid+"';";webService.ExcuteSql(strSql);Response.Redirect("Goods_Special.aspx");}添加對“取消”按鈕的Click事件方法,代碼為。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Goods_List.aspx");}4.3.4書籍詳細(xì)信息查看頁面添加一個新頁面,取名為Goods_Info.aspx。首先添加3個LinkButton作為導(dǎo)航欄,然后添加一個表格,在其中添加8個TextBox控件和一個Image控件,用來顯示相應(yīng)的信息,最后添加兩個Button控件,一個表示“編輯”,一個表示“設(shè)為特價書籍”。最后的界面如下圖4.8所示。圖4.8書籍詳細(xì)信息查看頁面(2)添加對兩個Button控件的Click事件處理函數(shù)。對這兩個按鈕,當(dāng)單擊“編輯“按鈕”時,頁面會跳轉(zhuǎn)到書籍信息編輯頁面,代碼如下。protectedvoidbtnEdit_Click(objectsender,EventArgse){Response.Redirect("Goods_Edit.aspx?gid="+gid);}當(dāng)單擊“設(shè)為特價書籍”按鈕時,則跳轉(zhuǎn)到設(shè)置特價書籍價格頁面,代碼如下。protectedvoidbtnSpecial_Click(objectsender,EventArgse){Response.Redirect("Goods_SpecialPrice.aspx?gid="+gid);}4.3.5書籍信息修改頁面添加一個新頁,取名為Goods_Edit.aspx。先往其中添加3個HyperLink控件,作為頁面導(dǎo)航欄,然后往其中添加一個表格,往表格中添加7個TextBox控件、一個DropDownList控件和一個fileupload控件。其中書籍ID、添加日期、“是否為特價”這3個TextBox的ReadOnly屬性設(shè)為true,表示這3相不能被修改,其余的TextBox設(shè)為可以被修改,并為每一個可以修改的TextBox添加一個相應(yīng)的驗證控件,最后添加兩個Button控件,一個表示提交,一個表示取消,如下圖4.9所示。圖4.9書籍信息修改頁面考慮到書籍的種類只能為葉子節(jié)點,即只能為沒有子節(jié)點的類型,所以表示種類的DropDownList控件所顯示出來的選項只能為z_GoodsType中的Type_haveChild值為n的屬性,這里通過添加一個SqlDataSource控件來獲得這些葉子的類型。設(shè)置其語句為:SELECT[Type_name],[Type_fid],[Type_typeID]FROM[z_GoodsType]WHERE([Type_haveChild]=@Type_haveChild)最后把DropDownList控件的數(shù)據(jù)源設(shè)為剛生成的SqlDataSource控件就可以了。如下圖4.10所示。圖4.10配置數(shù)據(jù)源然后設(shè)置“提交”按鈕的Click事件方法,最后設(shè)置“取消”按鈕的Click事件方法,當(dāng)用戶單擊“取消”按鈕之后,直接返回書籍列表頁面。4.4管理員管理模塊設(shè)計實現(xiàn)在這個頁面中會列出所有管理員的列表,同時可以提供“查看詳細(xì)信息”和“刪除”兩個重要功能。在Admin文件夾中添加一個新頁,命名為Admin_Manage.aspx,在其中添加兩個HyperLink控件,一個用來表示“添加管理員”,一個用來表示“管理員信息”這兩個HyperLink控件構(gòu)成一個管理員管理模塊的導(dǎo)航欄,再往其中添加一個Label控件,用來顯示錯誤信息。往其中添加一個SqlDataSource控件,用來獲得所有管理員的列表,設(shè)置其SQL語句為。SELECT[Admin_ID],[Admin_name],[Admin_realName]FROM[z_AdminInfo]添加一個GridView控件,在控件上單擊右鍵,選擇顯示智能標(biāo)記然后在GridView任務(wù)面板中選中啟用分頁、啟用“啟用刪除”兩個選項,并選擇其數(shù)據(jù)源為剛添加的SqlDataSource控件,設(shè)置好的GridView任務(wù)面板如圖4.11所示[11]。圖4.11GridView控件設(shè)置添加一個新的TemplateField列,在其中添加一個LinkButton控件,顯示為詳細(xì),和前面一樣,注意把這個LinkButton控件的CommandArgument參數(shù)綁定為Admin_ID字段,最后界面如下圖4.12所示。圖4.12管理員列表添加對表示詳細(xì)信息的LinkButton的Command事件處理函數(shù),代碼如下。protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("Admin_Info.aspx?aid="+e.CommandArgument);}在Admin_Manage.aspx頁面中選中GridView控件,選擇其屬性切換到“事件”標(biāo)簽,添加其Row_Deleting事件。這個事件是發(fā)生在對數(shù)據(jù)源執(zhí)行Delete命令之前激發(fā),所以可以在這個事件處理函數(shù)中添加對刪除行的判斷代碼,代碼如下。protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){if(e.RowIndex==0){this.lblMsg.Text="超級管理員,不允許刪除";e.Cancel=true;}elseif(e.Keys["Admin_ID"].ToString()==Session["AdminID"].ToString()){this.lblMsg.Text="不允許刪除自己";e.Cancel=true;}else{e.Cancel=false;}}判斷條件很簡單,重要的是終止Deleteing命令的語句e.Cancel=true;通過設(shè)置eCancel屬性的真假,就能夠很隨意地設(shè)定是否刪除當(dāng)行。在刪除成功后就給出提示,這里需要用到的事件是Row_Deleted事件,這個事件發(fā)生在對數(shù)據(jù)源執(zhí)行Delete命令之后激發(fā),代碼如下。protectedvoidGridView1_RowDeleted(objectsender,GridViewDeletedEventArgse){this.lblMsg.Text="刪除成功";}至此管理員列表頁面就已經(jīng)構(gòu)建完成。4.4.1管理員詳細(xì)頁面在Admin文件夾中添加一個新頁,取名為admin_info.aspx,同前面一樣往其中添加兩個HyperLink控件來形成導(dǎo)航欄,然后往其中添加一個SqlDataSource控件,通過這個控件獲得查看的管理員的詳細(xì)信息,設(shè)置其SQL語句為:SELECT*FROM[z_AdminInfo]WHERE([Admin_ID]=@Admin_ID)其中@Admin_ID為在管理員列表頁面中傳遞過來的QueryString中的“aid”。添加一個label控件,用來顯示相應(yīng)的信息,再添加一個DetailsView控件,設(shè)置其數(shù)據(jù)源為前面添加的SqlDataSource控件,然后往其中添加一個CommandField,按鈕類型選擇Button,命令按鈕選擇“編輯更新”,如左下圖4.13所示。圖4.13添加字段設(shè)置圖4.14SqlDataSource控件屬性設(shè)置為了能夠讓DetailsView能夠自動更新數(shù)據(jù),還有一個必須得工作是設(shè)定DetailsView的數(shù)據(jù)源的UpdateQuery的命令,右鍵選中SqlDataSource控件,選擇其屬性,找到其UpdateQuery屬性,如右上圖3.14所示。設(shè)定其屬性,在彈出的命令和參數(shù)編輯器面板中添加相應(yīng)的SQL命令,這里可以使用提供的查詢生成器,最后生成的Update語句為UPDATEz_AdminInfoSETAdmin_name=@Admin_name,Admin_psw=@Admin_psw,Admin_realName=@Admin_realName,Admin_email=@Admin_emailWHERE(Admin_ID=@Admin_ID)這個語句是一個簡單的Update語句,重要的是其中的參數(shù),單擊刷新參數(shù)按鈕,所有的SQL語句中的參數(shù)都會在下面的參數(shù)框中顯示出來,這里對于前面的表示新值的參數(shù),選擇其參數(shù)源為Control,ControlID選擇為添加的DetailsView控件的ID,如下圖4.15所示。圖4.15命令和參數(shù)編輯器屬性設(shè)置注意最后的Admin_ID參數(shù),這個參數(shù)是通過QueryString來傳遞的,所以這個參數(shù)的參數(shù)源選項設(shè)為QueryString,QueryStingField自然是“aid”,如下圖4.16所示。圖4.16參數(shù)源選項設(shè)置單擊“確定”按鈕,這樣SqlDataSource控件的UpdateQuery屬性已經(jīng)設(shè)置完畢,DetailsView控件就能夠自動編輯了。在管理員列表頁面的構(gòu)建中已經(jīng)使用了GridView的Row_Deleting和Row_deleted事件,在DetailsView中也存在著這種類型的事件。選擇DetailsView控件的屬性,在其“事件”標(biāo)簽下找到ItemUpdating事件,這個事件是在對數(shù)據(jù)源執(zhí)行Update命令之前激發(fā),在這里可以執(zhí)行對輸入的有效性檢查。最后添加一個修改成功后的提示信息,同前面一樣,這里用到ItemUpdated事件,代碼如下。protectedvoidDetailsView1_ItemUpdated(objectsender,DetailsViewUpdatedEventArgse){this.lblMsg.Text="修改成功";}這樣管理員詳細(xì)信息查看/修改頁面就構(gòu)建完成了。4.4.2添加管理員頁面在Admin文件夾中添加一個新頁,命名為Add_Admin.aspx,先添加導(dǎo)航欄,然后添加一個表格,再添加4個TextBox控件用來獲得用戶輸入,同樣對每一個輸入控件都添加一個驗證控件,同時添加一個Label控件用來顯示信息,最后添加兩個Button控件來表示“提交”和“取消”,最后界面如下圖4.17所示。圖4.17添加管理員頁面添加“提交”按鈕的事件處理函數(shù),當(dāng)管理員單擊“提交”按鈕之后,通過獲得的輸入,首先驗證其用戶名的唯一性,如果沒有問題,則把這個新的管理員信息插入到z_AdminInfo表中。添加“取消”按鈕代碼,當(dāng)管理員單擊“取消”按鈕時,就直接返回管理員列表頁面,代碼如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Admin_Manage.aspx");}至此管理員管理模塊構(gòu)建完成。4.5訂單管理模塊設(shè)計實現(xiàn)4.5.1訂單列表頁面在這個頁面中管理員可以查看所有用戶訂單,構(gòu)建方法和前面的用戶訂單列表頁面相似,只是查詢的范圍不同。在Admin文件中添加一個新頁,命名為Order_List.aspx。往其中添加一個DataList控件,并向前面的用戶訂單列表頁面中一樣,添加相應(yīng)的控制分頁控件,編輯DataList控件的項模版往其中添加一個表格,然后添加5個Label控件,分別綁定數(shù)據(jù)項Order_no、User_name、OrderConfirmStatus、Order_time、OrderSendStatus,用來顯示“訂號”、“訂購人”、“訂購狀態(tài)”、“訂購日期”、“發(fā)送狀態(tài)”。最后一個LinkButton的CommandArgument參數(shù)綁定為Order_no,用來鏈接到訂單的詳細(xì)信息顯示頁面。最后界面如下圖4.18所示。圖4.18訂單列表頁面添加其后臺代碼,代碼參照附錄源代碼“訂單列表”部分代碼。添加導(dǎo)向訂單詳細(xì)信息的頁面的LinkButton的Command事件函數(shù)。protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("Order_Manage.aspx?oid="+e.CommandArgument);}4.5.2訂單詳細(xì)信息查看及處理頁面當(dāng)管理員單擊訂單列表中某個訂單下的詳細(xì)進(jìn)入鏈接后,就會進(jìn)入這個訂單的詳細(xì)信息查看及處理頁面,這里要完成兩個功能,即確認(rèn)訂單/取消確認(rèn);設(shè)置訂單的發(fā)送接收狀態(tài),包括未發(fā)送、已發(fā)送、已查收。(1)在Admin文件夾中添加一個頁面,命名為Order_Manage.aspx,往其中添加一個SqlDataSource控件,用來獲取某個訂單的詳細(xì)信息,其SQL語句為SELECTz_OrderDetail.Order_DetailID,z_OrderDetail.Order_NoASExpr1,z_OrderDetail.Goods_ID,z_OrderDetail.Order_goodsNum,z_OrderDetail.Order_price,z_GoodsInfo.Goods_IDASExpr2,z_GoodsInfo.Goods_nameFROMz_GoodsInfoINNERJOINz_OrderDetailONz_GoodsInfo.Goods_ID=z_OrderDetail.Goods_IDWHERE(z_OrderDetail.Order_No=@Order_No)其中參數(shù)“@Order_No”是通過QueryString傳遞過來的“oid”。(2)添加一個GridView控件,設(shè)置數(shù)據(jù)源為前面建立的SqlDataSource控件,但是不要自動生成列,只是添加“書籍名稱”、“數(shù)量”、“總價”3個列即可。(3)添加一個Table控件,并往其中添加9個Label控件,用來顯示訂單的詳細(xì)信息,然后添加6個Button按鈕,分別表示“確認(rèn)該訂單”、“設(shè)為非確定”、“設(shè)為已發(fā)送”、“設(shè)為未發(fā)送”、“設(shè)為已查收”、“刪除該訂單”。其中,這幾個按鈕中有幾對不能同時出現(xiàn)在一個頁面中,而這個可以通過Button控件的Visible屬性來控制,最后界面如下圖4.19所示。圖4.19訂單查看及處理頁面添加后臺代碼,首先是訂單詳細(xì)信息的顯示代碼,代碼如參照附錄源代碼“訂單詳情查看頁面”。訂單狀態(tài)控制按鈕的事件代碼,這里前5個按鈕都是用來控制訂單的狀態(tài)的,每單擊一個按鈕,就需要更改訂單的詳細(xì)信息表z_OrderInfo中的條目,同時還要更改這些按鈕的顯示情況。添加“刪除該訂單”按鈕的事件處理函數(shù),當(dāng)管理員單擊“刪除該訂單”按鈕時,該訂單即被從z_OrderInfo和z_OrderDetail表中刪除,代碼如下。protectedvoidbtnDel_Click(objectsender,EventArgse){strSql="Deletefromz_OrderDetailwhereOrder_no='"+oid+"';";webService.ExcuteSql(strSql);Response.Redirect("Order_List.aspx");}訂單管理模塊到此完成。4.6用戶管理模塊實現(xiàn)4.6.1用戶列表頁面用戶列表頁面的構(gòu)建方法如前在Admin文件中添加一個新頁,命名為User_Manage.aspx。往其中添加一個Label控件,用來顯示信息,再添加一個SqlDataSource控件,這里給出其SQL語句為SELECT[User_ID],[User_name],[User_realname]FROM[z_UserInfo]添加一個GridView控件,用來顯示用戶列表,同管理員列表頁面一樣,添加一個新的TemplateField列,往其中添加一個LinkButton控件,用來表示“詳細(xì)”信息,同時選擇這個GridView控件的“啟用分頁”、“啟用刪除”的選項,最后界面如下圖4.20所示。圖4.20用戶列表頁面添加導(dǎo)向詳細(xì)信息的LinkButton控件的Command事件處理方法,代碼如下。protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("User_Info.aspx?uid="+e.CommandArgument);}添加刪除完畢后的提示信息,這個利用到GridView控件的Row_Deleted事件,代碼如下。protectedvoidGridView1_RowDeleted(objectsender,GridViewDeletedEventArgse){this.lblMsg.Text="刪除成功";}4.6.2用戶信息查看頁面管理員可以查看用戶的詳細(xì)信息,但是不能修改用戶信息。設(shè)計如下。(1)添加一個SqlDataSource控件,設(shè)置其SQL語句為SELECTDISTINCT*FROM[z_UserInfo]WHERE([User_ID]=@User_ID)其中參數(shù)“@User_ID”為從QueryString上傳來的參數(shù)“uid”。(2)添加一個DetailsView控件,設(shè)置其數(shù)據(jù)源為前面建立的SqlDataSource控件,同時注意設(shè)置列,不要顯示用戶密碼這一列。最后界面如下圖4.21所示。圖4.21用戶信息查看頁面4.7公告管理模塊設(shè)計實現(xiàn)4.7.1公告列表頁面在Admin中添加一個新頁,取名Bulletin_List.aspx,往其中添加兩個HyperLink控件,分別表示“瀏覽公告”、“添加公告”,作為公告管理模塊的導(dǎo)航欄。往其中添加一個GridView控件,但是這個GridView控件沒有數(shù)據(jù)源,先在其中添加4個BoundField,分別表示“序號”、“標(biāo)題”、“添加日期”、“瀏覽量”并且將它們的DataField屬性分別綁定到no、Bul_title、BUl_addDate、Bul_point這4個字段上,再添加一個TemplateField字段,往其中添加兩個LinkButton控件,這兩個控件的CommandArgument參數(shù)都綁定為Bul_ID字段,同時對這個GridView控件啟用分頁。最后界面如下圖4.22所示[12]。圖4.22公告列表頁面(3)添加后臺代碼,首先是GridView控件的數(shù)據(jù)源,代碼如下。WebServicewebService=newWebService();stringstrSql;DataTabledtTable;protectedvoidPage_Load(objectsender,EventArgse){if(Session["UserLevel"]==null||Session["UserLevel"].ToString()!="Admin"){Response.Redirect("error.aspx");}strSql="SelectBul_ID,Bul_title,Bul_addDate,Bul_pointfromz_BulletinInfoorderbyBul_addDateDesc;";dtTable=webService.ExcuteSelect(strSql);DataColumncolumn1=newDataColumn("no");dtTable.Columns.Add(column1);for(inti=0;i<dtTable.Rows.Count;i++){dtTable.Rows[i]["no"]=(i+1);}this.GridView1.DataSource=dtTable.DefaultView;this.GridView1.DataBind();}然后是“詳細(xì)”和“刪除”這兩個LInkButton控件的Command事件處理函數(shù),代碼如下。protectedvoidLinkButton2_Command(objectsender,CommandEventArgse){strSql="Deletefromz_BulletinInfowhereBul_ID="+e.CommandArgument;webService.ExcuteSql(strSql);Response.Redirect("Bulletin_List.aspx");}protectedvoidLinkButton1_Command(objectsender,CommandEventArgse){Response.Redirect("Bulletin_Info.aspx?bid="+e.CommandArgument);}4.7.2公告添加頁面管理員可以通過添加公告頁面來添加新的公告顯示在主頁上面,下面構(gòu)建此頁面。在Admin文件夾中添加一個新頁,命名為Bulletin_Add.aspx,首先添加同前面一樣的導(dǎo)航欄,然后添加一個表格,往表格中添加兩個TextBox控件,用來獲得管理員輸入,再為每一個TextBox控件添加一個驗證控件,最后添加兩個Button控件,分別表示“提交”和“取消”。界面如下圖4.23所示。圖4.23添加公告頁面添加“提交”按鈕事件處理函數(shù),代碼如下。protectedvoidbtnSubmit_Click(objectsender,EventArgse){if(Page.IsValid){webService.ExcuteSql(strSql);Response.Redirect("Bulletin_List.aspx");}}添加“取消”按鈕事件處理函數(shù),即跳轉(zhuǎn)到公告列表頁面,代碼如下。protectedvoidbtnCancel_Click(objectsender,EventArgse){Response.Redirect("Bulletin_List.aspx");}4.8系統(tǒng)退出及出錯提示模塊設(shè)計出現(xiàn)4.8.1系統(tǒng)退出功能實現(xiàn)至此整個網(wǎng)站的后臺基本完成,但是主功能面板中還有一個“退出”這個LinkButton控件的Click事件處理函數(shù)還需要加上,代碼如下。protectedvoidLinkButton1_Click(objectsender,EventArgse){Session["UserLevel"]=null;Session["AdminID"]=null;Response.Redirect("Admin_Login.aspx");}4.8.2出錯提示頁面即將此管理員的所有Session都設(shè)為null,然后返回管理員登錄頁面。最后由于前面每一頁對管理員的身份的判斷條件中,如果出錯了則會跳轉(zhuǎn)到一個error.aspx頁面中,下面添加一個簡單的出錯提示頁面。添加一個新頁面,命名為error.aspx,在頁面中添加一個表格,在其中填寫一些信息,并給出一個鏈接返回,界面如下圖4.24所示。圖4.24出錯提示頁面
5系統(tǒng)測試一個系統(tǒng)功能的實現(xiàn),首先把大致的骨架給設(shè)計好,然后根據(jù)系統(tǒng)要求寫代碼,接著是調(diào)試程序,最后完善總結(jié)。其中最重要的兩步就是中間的兩步。5.1系統(tǒng)調(diào)試連接數(shù)據(jù)庫的時候出現(xiàn)錯誤提示,原因是TerminalService沒有開啟,導(dǎo)致SQLClient無法運行。還有在調(diào)試中因為修改數(shù)據(jù)庫,導(dǎo)致AdminInfo表的標(biāo)識置為“否”以致主鍵Admin_ID無法插入,從而“添加管理員”操作始終無法實現(xiàn)。還有在刪除管理員的時候,以前只考慮到判斷“超級管理員不能刪除”和“不能刪除自己”兩種情況,但沒有考慮到有些管理員因為處理過訂單,所以在數(shù)據(jù)庫中存在外鍵關(guān)聯(lián)情況,一旦刪除這些管理員,程序就會出錯,所以后來請教別人加了一個判斷函數(shù)才解決這個問題。在調(diào)試過程中學(xué)到了很多東西,包括平時不注意的不起眼的小問題都可能成為大的阻礙。在錄入時,由于輸入數(shù)據(jù)格式不匹配導(dǎo)致頻繁出錯[13]。5.2系統(tǒng)測試測試分以下幾個模塊系統(tǒng)登錄:輸入正確的登錄信息后進(jìn)入系統(tǒng),說明登錄系統(tǒng)正常運行。庫存管理:包括瀏覽現(xiàn)有書籍、瀏覽特價書籍、添加新書等。此界面是一個重要的頁面,通過自己逐一對書籍進(jìn)行添加、查看、修改、刪除,基本功能運行正常。管理員管理:包括添加管理員、刪除管理員、管理員信息
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年重交瀝青項目資金申請報告代可行性研究報告
- 教育領(lǐng)域中環(huán)保教育的方法與實踐研究
- 軟件工程專業(yè)就業(yè)前景與職業(yè)規(guī)劃指導(dǎo)
- 語文教學(xué)中小學(xué)生批判性思維的培養(yǎng)途徑
- 小學(xué)德育活動的信息化教學(xué)策略研究
- 編程教育助力孩子成長科技時代的必由之路
- 緊急情況下用電設(shè)備的快速反應(yīng)與急救措施
- 質(zhì)量管理體系在教育行業(yè)的推廣與應(yīng)用
- 2024年不見面審批投資申請報告代可行性研究報告
- 2025年蘇州百年職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 人教版《道德與法治》四年級下冊教材簡要分析課件
- 2023年MRI技術(shù)操作規(guī)范
- 辦公用品、易耗品供貨服務(wù)方案
- 自行聯(lián)系單位實習(xí)申請表
- 醫(yī)療廢物集中處置技術(shù)規(guī)范
- 媒介社會學(xué)備課
- 2023年檢驗檢測機構(gòu)質(zhì)量手冊(依據(jù)2023年版評審準(zhǔn)則編制)
- 三相分離器原理及操作
- 新教科版五年級下冊科學(xué)全冊每節(jié)課后練習(xí)+答案(共28份)
- 葫蘆島尚楚環(huán)??萍加邢薰踞t(yī)療廢物集中處置項目環(huán)評報告
- 全國物業(yè)管理項目經(jīng)理考試試題
評論
0/150
提交評論