日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

基于asp.net的网上书店商城设计与实现

發(fā)布時(shí)間:2025/3/15 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于asp.net的网上书店商城设计与实现 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

歡迎添加微信互相交流學(xué)習(xí)哦!

項(xiàng)目源碼:https://gitee.com/oklongmm/biye

目 ?錄
前言?? ?1
第1章 系統(tǒng)概述?? ?2
第1.1節(jié) ASP.NET簡(jiǎn)介?? ?2
第1.2節(jié) 系統(tǒng)開發(fā)環(huán)境及配置?? ?2
第2章 系統(tǒng)需求分析?? ?3
第3章 系統(tǒng)總體設(shè)計(jì)?? ?4
第3.1節(jié) 系統(tǒng)設(shè)計(jì)思想?? ?4
第3.2節(jié) 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)?? ?4
第3.3節(jié) 系統(tǒng)功能模塊?? ?4
第4章 系統(tǒng)詳細(xì)設(shè)計(jì)?? ?6
第5章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)?? ?8
第5.1節(jié) 數(shù)據(jù)庫(kù)需求分析?? ?8
第5.2節(jié) 數(shù)據(jù)庫(kù)結(jié)構(gòu)分析設(shè)計(jì)?? ?8
第5.3節(jié) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)?? ?9
第6章 系統(tǒng)編碼實(shí)現(xiàn)?? ?10
第6.1節(jié) 首頁(yè)設(shè)計(jì)和編碼?? ?10
第6.2節(jié) 用戶界面的設(shè)計(jì)?? ?12
第6.3節(jié) 后臺(tái)管理界面的設(shè)計(jì)?? ?19
第7章 總結(jié)?? ?23
參考文獻(xiàn)?? ?24
致謝?? ?25
附錄?? ?26
?

前言
隨著中國(guó)加入WTO,全球經(jīng)濟(jì)一體化的逐步深入,網(wǎng)上書店已是現(xiàn)代傳統(tǒng)書店必不可少的經(jīng)營(yíng)策略。目前,網(wǎng)上書店在國(guó)際互聯(lián)網(wǎng)上可以實(shí)現(xiàn)的商務(wù)功能已經(jīng)多樣化,可以說(shuō)從最基本的對(duì)外溝通展示功能、信息發(fā)布功能,在線圖書展示功能、在線洽談功能、在線交易功能、在線采購(gòu)功能、在線客戶服務(wù)功能、在線網(wǎng)站管理功能等等,幾乎以往傳統(tǒng)書店功能都可以在互聯(lián)網(wǎng)上進(jìn)行電子化的高效運(yùn)作。
技術(shù)的進(jìn)步對(duì)傳統(tǒng)書店上網(wǎng)解決方案提出更嚴(yán)格的要求和挑戰(zhàn)。為了保護(hù)傳統(tǒng)書店的投資,書店上網(wǎng)解決方案應(yīng)切合傳統(tǒng)書店實(shí)際的需求和發(fā)展的趨向,使投入回報(bào)和管理效益最大化,傳統(tǒng)書店在實(shí)施上網(wǎng)方案的之前,必須對(duì)一系列問(wèn)題進(jìn)行科學(xué)的論證,如網(wǎng)上書店的需求分析、網(wǎng)上書店總體規(guī)劃、網(wǎng)上書店系統(tǒng)的功能和實(shí)施方案、網(wǎng)上書店的傳播與推廣、運(yùn)行網(wǎng)上書店系統(tǒng)的軟件和硬件配置、網(wǎng)上書店的管理系統(tǒng)和管理方法等等。網(wǎng)上書店具體實(shí)施的質(zhì)素直接影響傳統(tǒng)書店在Internet的實(shí)際效果和經(jīng)濟(jì)效益,這不僅是技術(shù)問(wèn)題,同時(shí)也涉及到管理的因素。
綜上所述,網(wǎng)上書店已經(jīng)成為互聯(lián)網(wǎng)時(shí)代傳統(tǒng)書店的必由之路。


第1章 系統(tǒng)概述
第1.1節(jié) ASP.NET簡(jiǎn)介
ASP.NET是ASP的下一代版本,然而ASP.NET又并非從ASP3.0自然演化而來(lái),在許多方面,ASP.NET與ASP有著本質(zhì)的不同。ASP.NET完全基于模塊與組件,具有更好的可擴(kuò)展性與可定制性,數(shù)據(jù)處理方面更是引入了許多激動(dòng)人心的新技術(shù),正是這些具有革新意義的新特性,讓ASP.NET遠(yuǎn)遠(yuǎn)超越了ASP,同時(shí)也提供給web開發(fā)人員更好的靈活性,有效縮短了web應(yīng)用程序的開發(fā)周期。ASP.NET與Windows 2000 Server/Advanced Server的完美組合,為中小型乃至企業(yè)級(jí)的web商業(yè)模型提供了一個(gè)更為穩(wěn)定,高效,安全的運(yùn)行環(huán)境。
ASP.NET 是統(tǒng)一的 Web 應(yīng)用程序平臺(tái),它提供了為建立和部署企業(yè)級(jí) Web 應(yīng)用程序所必需的服務(wù)。ASP.NET 為能夠面向任何瀏覽器或設(shè)備的更安全的、更強(qiáng)的可升級(jí)性、更穩(wěn)定的應(yīng)用程序提供了新的編程模型和基礎(chǔ)結(jié)構(gòu)。
ASP.NET 是 Microsoft .NET Framework 的一部分,是一種可以在高度分布的 Internet 環(huán)境中簡(jiǎn)化應(yīng)用程序開發(fā)的計(jì)算環(huán)境。.NET Framework 包含公共語(yǔ)言運(yùn)行庫(kù),它提供了各種核心服務(wù),如內(nèi)存管理、線程管理和代碼安全。它也包含 .NET Framework 類庫(kù),這是一個(gè)開發(fā)人員用于創(chuàng)建應(yīng)用程序的綜合的、面向?qū)ο蟮念愋图稀?br /> 第1.2節(jié) 系統(tǒng)開發(fā)環(huán)境及配置
首先ASP.NET的運(yùn)行環(huán)境:
Win2000 Server+IIS(Win2000 Server 中IIS是默認(rèn)安裝) /
Win2000 Advance Server+IIS(這里IIS也是默認(rèn)安裝) /
WinXP+IIS / Win2003+IIS
除了上面的環(huán)境,Visual Studio 2008自帶編譯器和Web服務(wù)器進(jìn)行調(diào)試,在部署網(wǎng)站之前,所有工作都可以在Visual Studio 2008中完成。
部署網(wǎng)站到IIS時(shí),可以直接復(fù)制網(wǎng)站,也可以采用ClickOnce部署,兩者的區(qū)別是前者快速方便,后者靈活性較強(qiáng)。
?

第2章 系統(tǒng)需求分析
21世紀(jì)以來(lái),人類經(jīng)濟(jì)高速發(fā)展,人們發(fā)生了日新月異的變化,特別是計(jì)算機(jī)的應(yīng)用及普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。使原本的舊的管理方法越來(lái)越不適應(yīng)現(xiàn)在社會(huì)的發(fā)展。許多人還停留在以前的跑書店買需要的圖書。這大大地阻礙了人類經(jīng)濟(jì)的發(fā)展。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,網(wǎng)上書店為大家?guī)?lái)了極大的方便。我所開發(fā)的這個(gè)網(wǎng)站所采用的是當(dāng)前較為流行的軟件Visual Studio2008 + DreamWeaver 8作為實(shí)現(xiàn),以數(shù)據(jù)庫(kù)SQL Server 2008作為系統(tǒng)的后臺(tái)操作。
《網(wǎng)上書店》系統(tǒng)特點(diǎn):
(1)、先進(jìn)的購(gòu)書流程
引入購(gòu)物車購(gòu)物方式,把記錄客戶所有的購(gòu)書臨時(shí)信息寫入數(shù)據(jù)庫(kù)表中,訂單結(jié)束后,自動(dòng)清除相關(guān)數(shù)據(jù),客戶不用再擔(dān)心訂購(gòu)時(shí)臨時(shí)數(shù)據(jù)的丟失,確保客戶購(gòu)書準(zhǔn)確無(wú)誤。
(2)、科學(xué)的書店管理模式
通過(guò)完善的信息發(fā)布系統(tǒng),客戶可以及時(shí)得到書店最新圖書的相關(guān)信息,掌握行業(yè)動(dòng)向;后臺(tái)結(jié)構(gòu)化管理模式,涵蓋了欄目設(shè)置、圖書資料編輯、用戶管理、訂單管理、基礎(chǔ)信息管理等等,為書店的電子化管理提供了一套良好的管理模式。
(3)、人性化的操作界面
一個(gè)網(wǎng)站,能否吸引顧客的經(jīng)常光顧,界面的美觀也顯得非常重要。本書店系統(tǒng)經(jīng)過(guò)精心打造,同時(shí)也可根據(jù)書店客戶的品味專門訂制,讓書店的設(shè)計(jì)充分體現(xiàn)電子商務(wù)時(shí)期的時(shí)尚、大眾化。
(4)、完善的在線幫助
?? ? 提供詳細(xì)的在線幫助信息,如交款方式、退換圖書原則、交易條款等。幫助用戶了解購(gòu)書流程,清楚書店在退換圖書等各方面的原則及條款。


第3章 系統(tǒng)總體設(shè)計(jì)
第3.1節(jié) 系統(tǒng)設(shè)計(jì)思想
(1) 書店前臺(tái)
功能強(qiáng)大 、操作方便
前臺(tái)作為與用戶直接交互的界面,在考慮功能的同時(shí),也考慮了操作的簡(jiǎn)潔和方便性,目的是讓大多數(shù)不在懂電腦操作的客戶,也能輕松的享受電子商務(wù)給他們帶來(lái)的便利。
(2) 書店后臺(tái)
本系統(tǒng)后臺(tái)管理在考慮書店管理操作簡(jiǎn)便的同時(shí),提供了強(qiáng)大的書店管理模式。它包括用戶資料管理,圖書分類管理,圖書資料管理,訂單管理,圖片管理,圖書推薦管理,圖書打折管理、物流管理、版權(quán)信息等等。
第3.2節(jié) 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
前臺(tái):用戶注冊(cè)—>用戶登錄—>查看圖書信息—>添加圖書到購(gòu)物車—>在線支付
后臺(tái):管理員登錄—>訂單管理、圖書管理、會(huì)員管理、物流管理、圖片管理—>退出
第3.3節(jié) 系統(tǒng)功能模塊
根據(jù)系統(tǒng)功能分析,可以畫出系統(tǒng)的功能模塊圖,系統(tǒng)模塊圖如下圖所示,圖3-1和圖3-2分別為前臺(tái)和后臺(tái)的功能結(jié)構(gòu)圖。


圖3-1 ?前臺(tái)系統(tǒng)功能結(jié)構(gòu)圖

?

圖3-2 ?后臺(tái)系統(tǒng)功能結(jié)構(gòu)圖


第4章 系統(tǒng)詳細(xì)設(shè)計(jì)
通過(guò)以上的系統(tǒng)需求分析和系統(tǒng)總體設(shè)計(jì),就已經(jīng)有了一個(gè)網(wǎng)上系統(tǒng)的大體輪廓了
1、前臺(tái)主要功能包括
注冊(cè)/登錄、購(gòu)物車、聯(lián)系方式、圖書查詢、圖書分類瀏覽、圖書展示、打折專區(qū)、熱門推薦、精品推薦、在線幫助功能等等。
2、書店系統(tǒng)前臺(tái)設(shè)計(jì)的特色
(1) 購(gòu)物車?
每個(gè)注冊(cè)的用戶,都擁有一個(gè)屬于自已的購(gòu)物車管理界面,客戶可以輕松的查看購(gòu)物車中的圖書。本系統(tǒng)充分考慮到了本模塊對(duì)于客戶的重要性,所以界面盡量做的簡(jiǎn)捷,采用開放式結(jié)構(gòu),一目了然,方便客戶輕松掌控自已的信息。
(2) 購(gòu)書的詳細(xì)過(guò)程
會(huì)員注冊(cè)-->選擇圖書-->放入購(gòu)物車-->去下訂單
購(gòu)物車與下訂單:
? ? ?? ? 推出了全新的網(wǎng)上商務(wù)理念,這也是本系統(tǒng)與其他書店較大的不同的地方之一。
(3) 靈活多樣的圖書展示區(qū)
網(wǎng)站前臺(tái)圖書顯視欄目分為以下幾種方式:?
(1)精品推薦 (2) 圖書打折區(qū) (3)熱銷圖書 (4)圖書分類
(4) 詳細(xì)的用戶幫助信息
?? ? 主要包括交款方式、退換圖書原則、配送信息和交易條款的信息。
3、系統(tǒng)提供完善的系統(tǒng)管理
在主頁(yè)的管理入口,點(diǎn)擊進(jìn)入。出現(xiàn)驗(yàn)證管理員窗口,輸入用戶名和密碼,進(jìn)入系統(tǒng)管理器。后臺(tái)分為訂單管理、圖書管理、用戶管理、管理員帳號(hào)管理、物流管理和圖片管理。 ??
(1) 訂單管理模塊主要實(shí)現(xiàn)的是對(duì)訂單信息的審核,如果訂單信息不合格,可以進(jìn)行刪除。此模塊中加入了訂單的搜索,以便查看特定訂單的信息。可以更改訂單的狀態(tài):是否已確認(rèn)、是否已付款、是否已發(fā)貨和是否已歸檔。
(2) 圖書管理是對(duì)圖書信息進(jìn)行管理,添加或刪除圖書信息,也可對(duì)圖書信息進(jìn)行修改。動(dòng)態(tài)添加圖書信息,信息內(nèi)容要求完善。
(3) 用戶管理和管理員帳號(hào)管理可以添加、刪除用戶和管理員帳號(hào),可以對(duì)用戶和管理員進(jìn)行統(tǒng)一的管理。
(4) 物流管理模塊主要實(shí)現(xiàn)的是支付方式管理、配送方式管理、配送地點(diǎn)管理
(5) 圖片管理模塊主要實(shí)現(xiàn)的是圖書和圖書類別相關(guān)圖片的添加和刪除。


第5章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
第5.1節(jié) 數(shù)據(jù)庫(kù)需求分析
在網(wǎng)上書店系統(tǒng)中,數(shù)據(jù)庫(kù)應(yīng)當(dāng)解決如下需求。
● 保存注冊(cè)用戶的個(gè)人信息,包括聯(lián)系資料等。
● 保存圖書信息,包括書名、價(jià)格、作者、圖片等信息。
● 保存購(gòu)物車的詳細(xì)信息
● 保存購(gòu)書信息,包括用戶ID、圖書ID、數(shù)量、總價(jià)等。
● 保存訂單信息,包括日期、支付方式、是否確認(rèn)等。
第5.2節(jié) 數(shù)據(jù)庫(kù)結(jié)構(gòu)分析設(shè)計(jì)
得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的數(shù)據(jù)表,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。分析此系統(tǒng)的需求,可以得到數(shù)據(jù)庫(kù)關(guān)系圖,如圖5-1所示

?

圖5-1 數(shù)據(jù)庫(kù)關(guān)系圖
第5.3節(jié) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)
數(shù)據(jù)庫(kù)的設(shè)計(jì)
數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)完畢后,可以將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。如圖5-2所示

?

圖5-2 數(shù)據(jù)庫(kù)表

系統(tǒng)部分?jǐn)?shù)據(jù)庫(kù)表的邏輯結(jié)構(gòu)
表設(shè)計(jì)詳細(xì)信息見附錄

第6章 系統(tǒng)編碼實(shí)現(xiàn)
第6.1節(jié) 首頁(yè)設(shè)計(jì)和編碼
如圖6-1所示,為網(wǎng)上書店首頁(yè),主要向用戶展示各種圖書信息。

?

圖6-1 網(wǎng)上書店首頁(yè)

數(shù)據(jù)庫(kù)連接代碼
public SqlConnection GetConnection() {
? ? ? ? string myStr = ConfigurationManager.
AppSettings["ConnectionString"].ToString();
? ? ? ? SqlConnection myConn = new SqlConnection(myStr);
? ? ? ? return myConn;
}

登錄判定
當(dāng)用戶進(jìn)行添加圖書到購(gòu)物車、在線充值、在線付款、修改個(gè)人信息等操作時(shí),程序需要驗(yàn)證用戶是否已經(jīng)登錄作為前提條件,如果用戶沒(méi)有登錄,則不應(yīng)該訪問(wèn)這些頁(yè)面,因此需要制作一個(gè)判斷用戶是否登錄并加以處理的模塊。
/// <summary>
/// 判斷用戶是否存在
/// </summary>
/// <param name="P_Str_Name">會(huì)員登錄名</param>
/// <param name="P_Str_Password">會(huì)員登錄密碼</param>
/// <returns></returns>
public int UserExists(string P_Str_Name, string P_Str_Password) {
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_UserExists", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數(shù)
SqlParameter Name = new SqlParameter("@Name", SqlDbType.VarChar, 50);
Name.Value = P_Str_Name;
myCmd.Parameters.Add(Name);
SqlParameter Password = new SqlParameter("@Password", SqlDbType.VarChar, 50);
Password.Value = P_Str_Password;
myCmd.Parameters.Add(Password);
SqlParameter returnValue = myCmd.Parameters.Add("returnValue",?
SqlDbType.Int, 4);
returnValue.Direction = ParameterDirection.ReturnValue;
//執(zhí)行過(guò)程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
int P_Int_returnValue = Convert.ToInt32(returnValue.Value.ToString());
return P_Int_returnValue;
}
第6.2節(jié) 用戶界面的設(shè)計(jì)
用戶注冊(cè)代碼
/// <summary>
/// 向用戶表中插入信息
/// </summary>
/// <param name="P_Str_Name">會(huì)員名</param>
/// <param name="P_Bl_Sex">性別</param>
/// <param name="P_Str_Password">密碼</param>
/// <param name="P_Str_TrueName">真實(shí)姓名</param>
/// <param name="P_Str_Questions">找回密碼問(wèn)題</param>
/// <param name="P_Str_Answers">找回密碼答案</param>
/// <param name="P_Str_Phonecode">電話號(hào)碼</param>
/// <param name="P_Str_Emails">E_Mail</param>
/// <param name="P_Str_City">會(huì)員所在城市</param>
/// <param name="P_Str_Address">會(huì)員詳細(xì)地址</param>
/// <param name="P_Str_PostCode">郵編</param>
/// <param name="P_Flt_AdvancePayment">預(yù)付金額</param>
/// <param name="P_Date_LoadDate">登錄日期</param>
public int AddUInfo(string P_Str_Name, bool P_Bl_Sex, string P_Str_Password, string P_Str_TrueName, string P_Str_Questions, string P_Str_Answers, string P_Str_Phonecode, string P_Str_Emails, string P_Str_City, string P_Str_Address, string P_Str_PostCode)
{
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_InsertUInfo", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數(shù)
SqlParameter Name = new SqlParameter("@Name", SqlDbType.VarChar, 50);
Name.Value = P_Str_Name;
myCmd.Parameters.Add(Name);
SqlParameter sex = new SqlParameter("@sex", SqlDbType.Bit, 1);
sex.Value = P_Bl_Sex;
myCmd.Parameters.Add(sex);
SqlParameter Password = new SqlParameter("@Password", SqlDbType.VarChar, 50);
Password.Value = P_Str_Password;
myCmd.Parameters.Add(Password);
SqlParameter TrueName = new SqlParameter("@TrueName", SqlDbType.VarChar, 50);
TrueName.Value = P_Str_TrueName;
myCmd.Parameters.Add(TrueName);
SqlParameter Questions = new SqlParameter("@Questions",?
SqlDbType.VarChar, 50);
Questions.Value = P_Str_Questions;
myCmd.Parameters.Add(Questions);
SqlParameter Answers = new SqlParameter("@Answers", SqlDbType.VarChar, 50);
Answers.Value = P_Str_Answers;?
myCmd.Parameters.Add(Answers);
SqlParameter Phonecode = new SqlParameter("@Phonecode",?
SqlDbType.VarChar, 20);
Phonecode.Value = P_Str_Phonecode;
myCmd.Parameters.Add(Phonecode);
SqlParameter Emails = new SqlParameter("@Emails", SqlDbType.VarChar, 50);
Emails.Value = P_Str_Emails;
myCmd.Parameters.Add(Emails);
SqlParameter City = new SqlParameter("@City", SqlDbType.VarChar, 50);
City.Value = P_Str_City;
myCmd.Parameters.Add(City);
SqlParameter Address = new SqlParameter("@Address", SqlDbType.VarChar, 200);
Address.Value = P_Str_Address;
myCmd.Parameters.Add(Address);
SqlParameter PostCode = new SqlParameter("@PostCode", SqlDbType.Char, 10);
PostCode.Value = P_Str_PostCode;
myCmd.Parameters.Add(PostCode);
SqlParameter MemberId = myCmd.Parameters.Add("@MemberId",?
SqlDbType.BigInt, 8);
MemberId.Direction = ParameterDirection.Output;
//執(zhí)行過(guò)程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
return Convert.ToInt32(MemberId.Value.ToString());
}
用戶登錄
protected void btnLoad_Click(object sender, EventArgs e) {
Session["UID"] = null;
Session["Username"] = null;
if (txtName.Text.Trim() == "" || txtPassword.Text.Trim() == "") {
Response.Write("<script>alert('登錄名和密碼不能為空!');
location='javascript:history.go(-1)';</script>");
}
else {
if (txtValid.Text.Trim() == lbValid.Text.Trim()) {
int P_Int_IsExists = uiObj.UserExists(txtName.Text.Trim(),?
txtPassword.Text.Trim());
if (P_Int_IsExists == 100) {
DataSet ds = uiObj.ReturnUIDs(txtName.Text.Trim(),?
txtPassword.Text.Trim(), "UserInfo");
Session["UID"] = Convert.ToInt32(ds.Tables["UserInfo"].
Rows[0][0].ToString());
Session["Username"] = ds.Tables["UserInfo"].Rows[0][1].ToString();
Response.Redirect("index.aspx");
}
else {
Response.Write("<script>alert('您的登錄有誤,請(qǐng)核對(duì)后再重新登錄!');
location='javascript:history.go(-1)';</script>");
}
}
else {
Response.Write("<script>alert('請(qǐng)正確輸入驗(yàn)證碼!');
location='javascript:history.go(-1)';</script>");
? ? ? ?}
}
}
購(gòu)物車代碼
/// <summary>
/// 向購(gòu)物車中添加信息
/// </summary>
/// <param name="P_Int_BookID">圖書編號(hào)</param>
/// <param name="P_Flt_MemberPrice">會(huì)員價(jià)格</param>
/// <param name="P_Int_MemberID">會(huì)員編號(hào)</param>
public void AddShopCart(int P_Int_BookID, float P_Flt_MemberPrice, int P_Int_MemberID)
{
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_InsertShopCart", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數(shù)
SqlParameter BookID = new SqlParameter("@BookID", SqlDbType.BigInt, 8);
BookID.Value = P_Int_BookID;
myCmd.Parameters.Add(BookID);
SqlParameter MemberPrice = new SqlParameter("@SumPrice", SqlDbType.Float, 8);
MemberPrice.Value = P_Flt_MemberPrice;
myCmd.Parameters.Add(MemberPrice);
SqlParameter MemberID = new SqlParameter("@MemberID", SqlDbType.BigInt, 8);
MemberID.Value = P_Int_MemberID;
myCmd.Parameters.Add(MemberID);
//執(zhí)行過(guò)程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
}
/// <summary>
/// 顯示購(gòu)物車中的信息
/// </summary>
/// <param name="P_Str_srcTable">信息表名</param>
/// <param name="gvName">控件名</param>
/// <param name="P_Int_MemberID">會(huì)員編號(hào)</param>
public void SCIBind(string P_Str_srcTable, GridView gvName, int P_Int_MemberID) {
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_GetShopCart", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數(shù)
SqlParameter MemberID = new SqlParameter("@MemberID", SqlDbType.BigInt, 8);
MemberID.Value = P_Int_MemberID;
myCmd.Parameters.Add(MemberID);
//執(zhí)行過(guò)程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
SqlDataAdapter da = new SqlDataAdapter(myCmd);
DataSet ds = new DataSet();
da.Fill(ds, P_Str_srcTable);
gvName.DataSource = ds.Tables[P_Str_srcTable].DefaultView;
gvName.DataBind();
}
/// <summary>
/// 返回合計(jì)總數(shù)的Ds
/// </summary>
/// <param name="P_Str_srcTable">信息表名</param>
/// <param name="P_Int_MemberID">員工編號(hào)</param>
/// <returns>返回合計(jì)總數(shù)的Ds</returns>
public DataSet ReturnTotalDs(int P_Int_MemberID, string P_Str_srcTable) {
SqlConnection myConn = dbObj.GetConnection();
SqlCommand myCmd = new SqlCommand("Pr_TotalInfo", myConn);
myCmd.CommandType = CommandType.StoredProcedure;
//添加參數(shù)
SqlParameter MemberID = new SqlParameter("@MemberID", SqlDbType.BigInt, 8);
MemberID.Value = P_Int_MemberID;
myCmd.Parameters.Add(MemberID);
//執(zhí)行過(guò)程
myConn.Open();
try {
myCmd.ExecuteNonQuery();
}
catch (Exception ex) {
throw (ex);
}
finally {
myCmd.Dispose();
myConn.Close();
}
SqlDataAdapter da = new SqlDataAdapter(myCmd);
DataSet ds = new DataSet();
da.Fill(ds, P_Str_srcTable);
return ds;
}
第6.3節(jié) 后臺(tái)管理界面的設(shè)計(jì)
管理員登錄后臺(tái)代碼
protected void btnLogin_Click(object sender, EventArgs e) {
if (txtAdminName.Text.Trim() == "" || txtAdminPwd.Text.Trim() == "") {
Response.Write("<script>alert('登錄名和密碼不能為空!');
location='javascript:history.go(-1)';</script>");
}
else {
if (txtAdminCode.Text.Trim() == Session["Valid"].ToString().Trim()) {
int P_Int_IsExists = mcObj.AExists(txtAdminName.Text.Trim(),?
txtAdminPwd.Text.Trim());
if (P_Int_IsExists == 100) {
DataSet ds = mcObj.ReturnAIDs(txtAdminName.Text.Trim(),?
txtAdminPwd.Text.Trim(), "AInfo");
Session["AID"] =?
Convert.ToInt32(ds.Tables["AInfo"].Rows[0][0].ToString());
Session["Aname"] = ds.Tables["AInfo"].Rows[0][1].ToString();
Response.Write("<script language=javascript>
window.open('AdminIndex.aspx');window.close();</script>");
}
else {
Response.Write("<script>alert('您輸入的用戶名或密碼錯(cuò)誤,
請(qǐng)重新輸入!');location='javascript:history.go(-1)';</script>");
}
}
else {
Response.Write("<script>alert('驗(yàn)證碼輸入有誤,
請(qǐng)重新輸入!');location='javascript:history.go(-1)';</script>");
}
}
}
后臺(tái)設(shè)計(jì)
后臺(tái)的設(shè)計(jì)主要分為6大塊:訂單管理、管理員管理、會(huì)員管理、物流管理、圖書管理和圖片管理。
1) 訂單管理模塊主要實(shí)現(xiàn)的是對(duì)訂單信息的審核,如果訂單信息不合格,可以進(jìn)行刪除。此模塊中加入了訂單的搜索,以便查看特定訂單的信息。可以更改訂單的狀態(tài):是否已確認(rèn)、是否已付款、是否已發(fā)貨和是否已歸檔。
2) 管理員管理和會(huì)員管理模塊的主要實(shí)現(xiàn)的是管理員和用戶的添加、修改和刪除。
3) 物流管理模塊主要實(shí)現(xiàn)的是支付方式管理、配送方式管理、配送地點(diǎn)管理。
4) 圖書管理模塊主要實(shí)現(xiàn)的是圖書和圖書類別信息的添加、修改和刪除。
5) 圖片管理模塊主要實(shí)現(xiàn)的是圖書和圖書類別相關(guān)圖片的添加和刪除。

? ? 如圖6-2所示,為后臺(tái)圖書管理頁(yè)面,管理員可以查看圖書相關(guān)信息,可以對(duì)圖書進(jìn)行信息修改和刪除操作。

?

圖6-2 圖書管理頁(yè)面


如圖6-3所示,為后臺(tái)訂單管理頁(yè)面,管理員可以對(duì)定單進(jìn)行核實(shí),也可以刪除相應(yīng)的訂單信息。

?

圖6-3 訂單管理頁(yè)面

如圖6-3所示,為圖片管理頁(yè)面,管理員可以進(jìn)行圖片的上傳和刪除操作。
?

圖6-3 圖片管理頁(yè)面

第7章 總結(jié)
短短兩個(gè)月畢業(yè)設(shè)計(jì),每天忙忙碌碌,一步一步走來(lái),今天終于迎來(lái)了自己的成果。在這期間,經(jīng)常遇到各種各樣的問(wèn)題,時(shí)常為不能解決的問(wèn)題而一籌莫展,但這并未因此打消我的信心,而是使我更加專著的去解決問(wèn)題,也因此這相對(duì)短暫的時(shí)間卻是三年來(lái)過(guò)得最為充實(shí)的日子,充滿了挑戰(zhàn)的艱辛與樂(lè)趣。
在老師的指導(dǎo)和督促下,經(jīng)過(guò)兩個(gè)月的緊張?jiān)O(shè)計(jì)與開發(fā),我的畢業(yè)設(shè)計(jì)基于 ASP.NET的網(wǎng)上書店系統(tǒng)終于開發(fā)完成了。 通過(guò)本系統(tǒng)的開發(fā)使我所學(xué)的專業(yè)知識(shí)得到了綜合的運(yùn)用,對(duì)以前很多抽象、枯燥的理論知識(shí)加深了理解,同時(shí)也使我學(xué)會(huì)了利用結(jié)構(gòu)化程序設(shè)計(jì)思想開發(fā)管理信息系統(tǒng),并用模塊化方法加以實(shí)現(xiàn)。?
通過(guò)本次的系統(tǒng)開發(fā),我深刻地認(rèn)識(shí)到信息系統(tǒng)開發(fā)的每一步都是以上一步為基礎(chǔ)的。因此每一步文檔的編寫都必須正確、完整,否則就會(huì)給下一步的工作帶來(lái)不必要的麻煩,加大工作量。因?yàn)橄到y(tǒng)是為用戶服務(wù)的,所以要充分了解用戶的需求,考慮用戶的特點(diǎn)和使用方面的習(xí)慣,以協(xié)調(diào)人機(jī)關(guān)系。在系統(tǒng)實(shí)施中應(yīng)結(jié)合各方面的要求,盡可能選擇自己熟悉的程序設(shè)計(jì)語(yǔ)言。系統(tǒng)測(cè)試中要根據(jù)實(shí)際情況設(shè)計(jì)有效的測(cè)試方法。 在系統(tǒng)設(shè)計(jì)過(guò)程中,從用戶的角度出發(fā),在系統(tǒng)的可用性和易用性上做了很多功夫,力求能達(dá)到最好的效果。但由于我的編程實(shí)現(xiàn)能力和畢業(yè)設(shè)計(jì)的時(shí)間都有限,我對(duì)學(xué)生檔案管理這一系列工作的具體內(nèi)容也不是特別地了解,所以目前我還不能把網(wǎng)上書店這個(gè)系統(tǒng)較為完善地實(shí)現(xiàn)出來(lái),希望以后有機(jī)會(huì)能夠彌補(bǔ)這個(gè)遺憾。
能夠順利的完成這次畢業(yè)設(shè)計(jì),也得益于指導(dǎo)教師的幫助,在他們的幫助下,通過(guò)到網(wǎng)上查資料,借閱圖書等一些途徑,使困難很快的得到解決。
短短的兩個(gè)月,終于按照設(shè)計(jì)說(shuō)明書的要求完成了自己的畢業(yè)設(shè)計(jì),由于時(shí)間有限、自身知識(shí)水平不足,我的設(shè)計(jì)還難免存在著很多不足的地方,請(qǐng)各位老師給予指正和提出寶貴的建議,我堅(jiān)信在今后的工作中我會(huì)做得更好。


參考文獻(xiàn)
[1]龔赤兵.《精通ASP.NET 2.0電子商務(wù)網(wǎng)站開發(fā)》.2008年1月,第1版,人民郵電出版社
[2]劉乃麗.《精通ASP.NET 2.0 + SQL Server 2008項(xiàng)目開發(fā)》.2008年5月,第1版,人民郵電出版社
[3]陳冠軍.《精通ASP.NET 2.0典型模塊設(shè)計(jì)與實(shí)現(xiàn)》.2007年2月,第1版,人民郵電出版社
[4]鄭耀東.《精通ASP.NET 2.0的Web 2.0應(yīng)用》.2007年9月,第1版,人民郵電出版社
[5]呂洋波.《ASP.NET 2.0寶典》.2007年4月,第1版,電子工業(yè)出版社


致謝
大學(xué)3年的學(xué)習(xí)生活即將結(jié)束,在這4年的學(xué)習(xí)生涯中得到了許多人的關(guān)心和幫助,在此,我要衷心感謝所有曾經(jīng)教導(dǎo)過(guò)我的老師和關(guān)心過(guò)我的同學(xué),他們?cè)谖页砷L(zhǎng)的過(guò)程中給予了我很大的幫助。
經(jīng)過(guò)近幾個(gè)月的忙碌,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)專科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒(méi)有導(dǎo)師的督促指導(dǎo),以及同學(xué)們的支持,想要完成這個(gè)設(shè)計(jì)是難以想象的。
這次做畢業(yè)設(shè)計(jì)的經(jīng)歷也會(huì)使我受益良多,我感受到做畢業(yè)設(shè)計(jì)是要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過(guò)程和研究的過(guò)程,沒(méi)有學(xué)習(xí)就不可能有研究的能力,沒(méi)有自己的研究,就不會(huì)有所突破。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中激勵(lì)我繼續(xù)進(jìn)步。不積跬步何以至千里。
本設(shè)計(jì)能夠順利的完成,要特別感謝幫助我完成畢業(yè)設(shè)計(jì)的指導(dǎo)老師蘇凱英的關(guān)懷和教導(dǎo),她對(duì)我的畢業(yè)設(shè)計(jì)提出了很多的建議,還給我提供了大量的資料。她嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、誨人不倦的教學(xué)作風(fēng)給我留下了深刻的印象。此外還要感謝各位任課老師,正是他們平時(shí)的認(rèn)真負(fù)責(zé),使我能夠很好的掌握和運(yùn)用專業(yè)知識(shí),并在設(shè)計(jì)中得以體現(xiàn)。正是有了他們的悉心幫助和支持,才使我的畢業(yè)設(shè)計(jì)工作順利完成,在此向全體老師表示由衷的謝意,感謝他們?nèi)陙?lái)的辛勤栽培。
?

附錄

列名?? ?數(shù)據(jù)類型?? ?是否允許空?? ?說(shuō)明
AdminID?? ?bigint?? ?否?? ?管理員ID,自動(dòng)編號(hào)
Admin?? ?varchar(50)?? ?否?? ?管理員帳號(hào)
Password?? ?varchar(50)?? ?否?? ?管理員密碼

表1:Admin管理員表


列名?? ?數(shù)據(jù)類型?? ?是否允許空?? ?說(shuō)明
AreaID?? ?bigint?? ?否?? ?區(qū)域ID,自動(dòng)編號(hào)
AreaName?? ?varchar(50)?? ?否?? ?區(qū)域名稱
AreaKM?? ?int?? ?否?? ?區(qū)域與本地的距離

表2:Area區(qū)域表


列名?? ?數(shù)據(jù)類型?? ?是否允許空?? ?說(shuō)明
BookID?? ?bigint?? ?否?? ?圖書ID,自動(dòng)編號(hào)
ClassID?? ?bigint?? ?否?? ?類型ID,外鍵
BookName?? ?varchar(50)?? ?否?? ?圖書名稱
BookIntroduce?? ?ntext?? ?是?? ?圖書詳細(xì)介紹
ISBN?? ?varchar(20)?? ?否?? ?ISBN序號(hào)
PageNum?? ?varchar(20)?? ?是?? ?圖書頁(yè)碼
Publisher?? ?varchar(100)?? ?否?? ?出版社
PublishDate?? ?varchar(20)?? ?否?? ?出版時(shí)間
Author?? ?varchar(50)?? ?否?? ?作者
BookUrl?? ?varchar(50)?? ?否?? ?圖書對(duì)應(yīng)圖片的URL地址
MarketPrice?? ?float?? ?否?? ?圖書市場(chǎng)價(jià)格
MemberPrice?? ?float?? ?否?? ?圖書會(huì)員價(jià)格
Isrefinement?? ?bit?? ?否?? ?是否推薦
IsHot?? ?bit?? ?否?? ?是否熱銷
AddDate?? ?datetime?? ?否?? ?圖書信息添加日期
IsDiscount?? ?bit?? ?否?? ?是否打折

表3:BookInfo圖書信息表


列名?? ?數(shù)據(jù)類型?? ?是否允許空?? ?說(shuō)明
BuyID?? ?bigint?? ?否?? ?購(gòu)書信息ID,自動(dòng)編號(hào)
BookID?? ?bigint?? ?否?? ?圖書ID,外鍵
Num?? ?int?? ?否?? ?購(gòu)買的圖書數(shù)量
OrderID?? ?bigint?? ?否?? ?訂單ID,外鍵
SumPrice?? ?float?? ?否?? ?總價(jià)
MemberID?? ?bigint?? ?否?? ?會(huì)員ID,外鍵

表4:BuyInfo購(gòu)書信息表

列名?? ?數(shù)據(jù)類型?? ?是否允許空?? ?說(shuō)明
CartID?? ?bigint?? ?否?? ?購(gòu)物車ID,自動(dòng)編號(hào)
BookID?? ?bigint?? ?否?? ?圖書ID,外鍵
Num?? ?int?? ?否?? ?購(gòu)買數(shù)量
SumPrice?? ?float?? ?否?? ?總價(jià)格
MemberID?? ?bigint?? ?否?? ?會(huì)員ID,外鍵

表5:ShopCart購(gòu)物車表

列名?? ?數(shù)據(jù)類型?? ?是否允許空?? ?說(shuō)明
MemberID?? ?bigint?? ?否?? ?用戶ID,自動(dòng)編號(hào)
Name?? ?varchar(50)?? ?否?? ?用戶帳號(hào)
Sex?? ?bit?? ?否?? ?性別
Password?? ?varchar(50)?? ?否?? ?用戶密碼
TrueName?? ?varchar(50)?? ?是?? ?真實(shí)姓名
Questions?? ?varchar(50)?? ?是?? ?安全提問(wèn)
Answers?? ?varchar(50)?? ?是?? ?安全答案
Phonecode?? ?varchar(20)?? ?是?? ?電話號(hào)碼
Emails?? ?varchar(50)?? ?是?? ?電子郵件
City?? ?varchar(50)?? ?是?? ?所在城市
Address?? ?varchar(200)?? ?是?? ?具體地址
PostCode?? ?char(10)?? ?是?? ?郵政編碼
AdvancePayment?? ?float?? ?否?? ?用戶余額
LoadDate?? ?datetime?? ?否?? ?注冊(cè)時(shí)間

表6:Member會(huì)員表


列名?? ?數(shù)據(jù)類型?? ?是否允許空?? ?說(shuō)明
ImageID?? ?bigint?? ?否?? ?圖片ID,自動(dòng)編號(hào)
ImageName?? ?varchar(50)?? ?否?? ?圖片名稱
ImageUrl?? ?varchar(200)?? ?否?? ?圖片URL地址

表7:圖片信息表

總結(jié)

以上是生活随笔為你收集整理的基于asp.net的网上书店商城设计与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。