版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 網(wǎng)上訂餐管理系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b> 摘 要</b></p><p> 今年來,隨著人們生活壓力的持續(xù)增加,大部分人們都忙于工作,沒多余的時間去自己做飯,進而促進了網(wǎng)上訂餐行業(yè)的興起。網(wǎng)上訂餐為工薪階層提供了方便、快捷的就餐方式,只需動動鼠標(biāo)、鍵盤,可口的的飯菜就等送到嘴邊!對于餐飲行業(yè),有一個好的網(wǎng)上訂餐管理系統(tǒng),不
2、僅能方便的管理餐飲,還能吸引不少顧客。由此可見,一個好的網(wǎng)上訂餐管理系統(tǒng)已經(jīng)成為一個餐飲公司發(fā)展好壞的一個決定性因素,在此類公司中占據(jù)著日趨重要的低位。</p><p> 通過分析網(wǎng)上訂餐管理的內(nèi)容及特點,提出了網(wǎng)上訂餐管理系統(tǒng)的解決方案。系統(tǒng)采用ASP,SQLServer2005作為主開發(fā)工具進行開發(fā)。系統(tǒng)由管理員登錄,注冊模塊,餐飲信息查詢模塊,會員信息管理模塊,訂單信息管理模塊,會員登錄模塊,會員基本信息
3、、訂單、修改信息模塊和訂餐模塊等組成。</p><p> 文章以需求分析,概要設(shè)計,模塊詳細設(shè)計,系統(tǒng)運行和測試,系統(tǒng)說明等為主線,詳細介紹了網(wǎng)上訂餐管理系統(tǒng)。首先,根據(jù)網(wǎng)上訂餐管理的內(nèi)容及會員特點對系統(tǒng)作為需求分析,其次根據(jù)系統(tǒng)的實現(xiàn)功能和使用進行規(guī)劃,最后完成了模塊的劃分和數(shù)據(jù)庫的設(shè)計與實現(xiàn),并對系統(tǒng)進行了測試。</p><p> 關(guān)鍵詞:ASP,模塊,數(shù)據(jù)庫,網(wǎng)上訂餐管理<
4、/p><p><b> 目 錄</b></p><p><b> 1 緒論1 </b></p><p> 1.1 研究背景1</p><p> 1.2 開發(fā)意義1</p><p> 1.3 本文的組織結(jié)構(gòu)1</p><p> 2
5、 系統(tǒng)需求分析2</p><p> 2.1 系統(tǒng)功能分析2</p><p> 2.2 設(shè)計目標(biāo)2</p><p> 2.3 開發(fā)及運行環(huán)境2</p><p> 3 系統(tǒng)概要設(shè)計3</p><p> 3.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計3</p><p> 3.1.1 數(shù)據(jù)
6、庫概念結(jié)構(gòu)設(shè)計3</p><p> 3.1.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計4</p><p> 3.1.3 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計4</p><p> 3.2 系統(tǒng)功能設(shè)計7</p><p> 3.2.1 數(shù)據(jù)庫功能設(shè)計7</p><p> 3.2.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計10</p>&
7、lt;p> 3.3 數(shù)據(jù)庫的連接10</p><p> 4 系統(tǒng)模塊詳細設(shè)計11</p><p> 4.1 登錄模塊11</p><p> 4.2 會員注冊模塊12</p><p> 4.3 會員密碼修改模塊13</p><p> 4.4 會員找回密碼模塊14</p>
8、;<p> 4.5 系統(tǒng)主模塊15</p><p> 4.6 新聞內(nèi)容顯示模塊18</p><p> 4.7 用戶主頁模塊18</p><p> 4.8 管理員登陸模塊21</p><p> 4.9 管理員注冊模塊22</p><p> 4.10 管理員找回密碼模塊23
9、</p><p> 4.11 管理員修改密碼模塊24</p><p> 4.12 管理員管理模塊25</p><p> 4.12.1 餐飲管理模塊25</p><p> 4.12.2 添加餐飲模塊26</p><p> 4.12.3 新聞管理模塊27</p><p>
10、; 4.12.4 發(fā)布、編輯新聞模塊28</p><p> 4.12.5 會員管理模塊29</p><p> 4.12.6 訂單管理模塊30</p><p> 5 系統(tǒng)運行與測試32</p><p> 5.1 系統(tǒng)調(diào)試32</p><p> 5.2 測試與運行33</p>
11、<p> 5.2.1 測試的目的33</p><p> 5.2.2 測試的原則33</p><p> 5.2.3 測試的內(nèi)容34</p><p> 5.2.4 測試用例35</p><p> 5.3 測試結(jié)論36</p><p> 6 系統(tǒng)的使用說明與安裝37</
12、p><p> 6.1 運行環(huán)境要求37</p><p> 6.2 安裝設(shè)置37</p><p> 6.3 源程序用戶名和密碼37</p><p><b> 結(jié)論38</b></p><p><b> 參考資料39</b></p><p
13、><b> 1 緒論</b></p><p><b> 1.1 研究背景</b></p><p> “民以食為天”,餐飲業(yè)系百業(yè)之首。我國餐飲業(yè)已形成了高中低檔多層次,東西南北菜系多樣化,中西餐相互補充的格局。目前,網(wǎng)絡(luò)熱潮正沖擊著我們生活的方方面面。具體到餐飲業(yè)網(wǎng)絡(luò)營銷,網(wǎng)上訂餐是一種主要的形式。本系統(tǒng)實現(xiàn)通過網(wǎng)上訂餐,由餐飲公
14、司負責(zé)送貨上門業(yè)務(wù),促進餐飲業(yè)的蓬勃發(fā)展。</p><p><b> 1.2 開發(fā)意義</b></p><p> 網(wǎng)上訂餐業(yè)務(wù)的興起,折射出餐飲業(yè)善抓機遇、搶占利潤第二落點的經(jīng)營理念,同時也顯示出消費者在日常所需中,運用網(wǎng)絡(luò)觀念的意識正逐漸增強。但比起如今火爆的網(wǎng)上購物,網(wǎng)上訂酒店住宿等服務(wù),網(wǎng)上訂餐服務(wù)在一些餐飲業(yè)中仍未引起足夠的重視,對于消費者來說,許多人對
15、這一新興業(yè)務(wù)尚缺乏了解。但因這種消費方式響應(yīng)了當(dāng)前社會的快捷、便利等趨勢,網(wǎng)上訂餐仍存在著廣闊的發(fā)展空間。網(wǎng)上訂餐的發(fā)展也將給餐飲業(yè)帶來勃勃生機。</p><p> 1.3 本文的組織結(jié)構(gòu)</p><p> 第一章:緒論。本章主要介紹研究背景,開發(fā)意義。</p><p> 第二章:需求分析。本章主要介紹數(shù)據(jù)庫需求分析,系統(tǒng)功能分析等。</p>
16、<p> 第三章:系統(tǒng)概要設(shè)計。本章主要介紹系統(tǒng)概要設(shè)計,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫的連接。</p><p> 第四章:系統(tǒng)詳細設(shè)計。本章主要介紹用戶管理,對數(shù)據(jù)庫的增刪改查操作。</p><p> 第五章:系統(tǒng)運行與測試。本章主要介紹本系統(tǒng)的運行環(huán)境與測試。</p><p> 第六章:系統(tǒng)的使用說明與安裝。</p><p>&
17、lt;b> 2 系統(tǒng)需求分析</b></p><p> 系統(tǒng)的需求分析中根據(jù)網(wǎng)上訂餐管理的一般流程,分析了系統(tǒng)的具體功能,對系統(tǒng)作了總體的規(guī)劃,提出了系統(tǒng)的設(shè)計目標(biāo),介紹了系統(tǒng)的開發(fā)及運行的環(huán)境。</p><p> 2.1 系統(tǒng)功能分析</p><p> 經(jīng)過調(diào)查、分析,本系統(tǒng)具有以下功能:</p><p>
18、(1)提供會員登錄、注冊、修改密碼以及基本資料。</p><p> ?。?)提供管理員登陸,注冊,修改密碼以及基本資料。 </p><p> ?。?)提供對會員基本信息的查詢。</p><p> (4)提供管理員對餐飲、會員、訂單、新聞、數(shù)據(jù)庫的管理。</p><p> ?。?)提供會員對新聞、餐飲信息的瀏覽以及訂購餐飲的功能。</p
19、><p><b> 2.2 設(shè)計目標(biāo)</b></p><p> 通過分析,主要實現(xiàn)如下目標(biāo):</p><p> (1)編寫登錄模塊,設(shè)置登錄用戶的用戶名和密碼。</p><p> ?。?)編寫主模塊,設(shè)置通過菜單選項進入系統(tǒng)不同的子模塊。</p><p> ?。?)編寫對會員基本信息操作模塊。
20、</p><p> ?。?)編寫管理員登錄、注冊、修改密碼模塊。</p><p> ?。?)編寫管理員對餐飲、會員、訂單、新聞、數(shù)據(jù)庫管理模塊。</p><p> 2.3 開發(fā)及運行環(huán)境</p><p><b> 1、硬件平臺:</b></p><p> (1)CPU:P41.8GHz。&
21、lt;/p><p> ?。?)內(nèi)存:256MB以上。</p><p><b> 2、軟件平臺:</b></p><p> ?。?)操作系統(tǒng):Windows XP/ Windows 2000。</p><p> ?。?)數(shù)據(jù)庫:SQL Server 2005</p><p> ?。?)開發(fā)工具:ASP
22、.NET</p><p><b> 3 系統(tǒng)概要設(shè)計</b></p><p> 系統(tǒng)概要設(shè)計首先對數(shù)據(jù)庫的編碼進行設(shè)計,方便數(shù)據(jù)信息的處理,其次是根據(jù)需求分析,對數(shù)據(jù)庫的結(jié)構(gòu)進行設(shè)計,建立相關(guān)的數(shù)據(jù)表,最后構(gòu)畫出系統(tǒng)功能的結(jié)構(gòu)圖。</p><p> 3.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計</p><p> 3.1.1 數(shù)
23、據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p> 根據(jù)軟件工程所學(xué)知識和以上對本次課程設(shè)計系統(tǒng)的分析,最終畫出系統(tǒng)的實體關(guān)系圖 (E-R圖)如圖3.1所示。</p><p> 3.1.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><p> 由3.1.1的實體關(guān)系圖可以得到系統(tǒng)的關(guān)系模式為:</p><p> 餐飲信息(餐飲id,餐飲名,原料,簡介,圖片,價格
24、,訂購數(shù),已發(fā)貨量)</p><p> 管理員信息(管理員id,姓名,密碼,聯(lián)系方式)</p><p> 會員信息(會員id,密碼,姓名,性別,地址,聯(lián)系方式)</p><p> 訂單信息(訂單id,會員id,所訂餐飲id,訂購數(shù)量,訂購時間,用餐時間)</p><p> 新聞信息(新聞id,標(biāo)題,內(nèi)容,發(fā)布人,發(fā)布時間,點擊次數(shù))&
25、lt;/p><p> 3.1.3 數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計</p><p><b> 1、數(shù)據(jù)庫的設(shè)計</b></p><p> CREATE DATABASE WSDC </p><p> ON PRIMARY </p><p> ( NAME = WSDC, </p><
26、;p> FILENAME = D:\網(wǎng)上訂餐管理系統(tǒng)(課程設(shè)計)\User\App_Data\WSDC.mdf , </p><p> SIZE = 3072KB , </p><p> MAXSIZE = UNLIMITED, </p><p> FILEGROWTH = 1024KB )</p><p><b>
27、 LOG ON </b></p><p> ( NAME = WSDC_log, </p><p> FILENAME = D:\網(wǎng)上訂餐管理系統(tǒng)(課程設(shè)計)\User\App_Data\WSDC_log.ldf ,</p><p> SIZE = 1024KB </p><p> MAXSIZE = 2048GB ,&l
28、t;/p><p> FILEGROWTH = 10%)</p><p><b> 2、表的設(shè)計</b></p><p> ?。?)CY(餐飲表)</p><p> 餐飲id(Cid)為主鍵,不允許空,餐飲名Cname不允許空,其余字段允許為空,Cdnum設(shè)置觸發(fā)器,當(dāng)往訂單表中插入新數(shù)據(jù)時,自動更新餐飲表中的訂購數(shù)量C
29、dnum</p><p> CY(餐飲表)如圖3.2所示。</p><p> 圖3.2 CY表的結(jié)構(gòu)</p><p> CREATE TABLE CY</p><p> (Cid int IDENTITY(1,1) NOT NULL primary key,</p><p> Cname char(20)
30、 NOT NULL,</p><p> Cdnum int,</p><p><b> Cfh int,</b></p><p> Cyl char(100),</p><p> Cprice float check(Cprice>0),</p><p> Cima varchar
31、(50),</p><p> Cintroduce char(1000))</p><p> ?。?)HY(會員信息表)</p><p> 會員id(Hid)為主鍵,不允許空,其余字段允許空,性別(Hsex)設(shè)置check約束,只允許填寫“男”“女”</p><p> HY(會員信息表)如圖3.3</p><p>
32、; 圖3.3 HY的結(jié)構(gòu)</p><p> CREATE TABLE HY</p><p> (Hid char(10) NOT NULL primary key,</p><p> Hname char(10),</p><p> Hadd char(100),</p><p> Hpwd char(
33、10),</p><p> Hphone char(15),</p><p> Hsex nchar(10) check(Hsex in (‘男’,’女’)))</p><p> ?。?)GLY(管理員信息表)</p><p> 管理員id(Gid)為主鍵,Gid和密碼Gpwd不允許空。</p><p> GL
34、Y(管理員信息表)圖3.4</p><p> 圖3.4 GLY表的結(jié)構(gòu)</p><p> CREATE TABLE GLY</p><p> (Gid char(10) NOT NULL PRIMARY KEY,</p><p> Gname char(10),</p><p> Gpwd nchar(1
35、0) NOT NULL,</p><p> Gphone char(12))</p><p> ?。?)DD(訂單信息表)</p><p> 訂單號為主鍵且以1為單位自增,本表所有字段均不允許為空。</p><p> DD(訂單信息表) 如圖3.5</p><p> 圖3.5 DD表的結(jié)構(gòu)</p>
36、<p> CREATE TABLE DD</p><p> (Did int IDENTITY(1,1) NOT NULL,</p><p> Hid char(10) NOT NULL,</p><p> Cid int NOT NULL,</p><p> Dnum int NOT NULL DEFAULT (
37、(1)),</p><p> Ddate datetime NOT NULL,</p><p> Ydate datetime NOT NULL)</p><p> ?。?)NEWS(新聞信息表)</p><p> 新聞id(NewsId)為主鍵,不允許空,其余字段均允許空。</p><p> NEWS(新聞信
38、息表)圖3.6 </p><p> 圖3.6 NEWS表的結(jié)構(gòu)</p><p> CREATE TABLE NEWS</p><p> (NewsId int IDENTITY(1,1) NOT NULL,</p><p> title char(100),</p><p> content tex
39、t,</p><p> NewsUser char(10),</p><p> NewsDate datetime)</p><p><b> 系統(tǒng)功能設(shè)計</b></p><p> 3.2.1 數(shù)據(jù)庫功能設(shè)計</p><p><b> ?。?)視圖</b><
40、/p><p> 視圖是一個虛擬表,其內(nèi)容由詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。視圖通常用來集中、簡化和自定義每個用戶對數(shù)據(jù)庫的不同認(rèn)識。視圖可用作安全機制,方法是允許用戶通過視圖訪問數(shù)據(jù),而不授予用戶直接訪問視圖基礎(chǔ)表的權(quán)限。通過視圖可以檢索基表中的數(shù)據(jù),也可以通過視圖來修改基表中的數(shù)據(jù)。</p><p><b> (1)餐飲信息視圖</b>&
41、lt;/p><p><b> use WSDC</b></p><p><b> go</b></p><p> create view Cintroduce</p><p><b> as </b></p><p> select * from
42、CY</p><p> (2)餐飲顯示信息視圖</p><p><b> Use WSDC</b></p><p> CREATE view cyInformation </p><p><b> as </b></p><p> select Cyl,Cid,Cn
43、ame,Cprice,Cima,Cintroduce from CY</p><p> (3)餐飲管理信息視圖</p><p><b> use WSDC</b></p><p><b> go</b></p><p> create view CYmanage</p><
44、;p><b> as </b></p><p> select * from CY</p><p><b> (4)新聞信息視圖</b></p><p><b> use WSDC</b></p><p><b> go</b></p
45、><p> create view newsInformation</p><p><b> as </b></p><p> select * from NEWS</p><p><b> (2)存儲過程</b></p><p> 存儲過程存儲在數(shù)據(jù)庫內(nèi),可由應(yīng)用程序
46、通過一個調(diào)用執(zhí)行,而且允許用戶聲明變量、有條件執(zhí)行以及其他強大的編程功能。存儲過程可以使得數(shù)據(jù)庫的管理、顯示關(guān)于數(shù)據(jù)庫及其用戶信息的工作容易得多。存儲過程包含程序流、邏輯以及對數(shù)據(jù)庫的查詢。它們可以接受參數(shù)、輸出參數(shù)、返回單個或多個結(jié)果集以及返回值。存儲過程具有以下優(yōu)點:1、可以在單個存儲過程中執(zhí)行一系列SQL語句,2、可以從自己的存儲過程內(nèi)引用其他存儲過程,3、存儲過程在創(chuàng)建時即在服務(wù)器上進行編譯,所以執(zhí)行起來比單個SQL語句快,且能
47、減少網(wǎng)絡(luò)通信的負擔(dān)。</p><p><b> USE WSDC</b></p><p><b> GO</b></p><p> create proc sa @a char(10)</p><p><b> as</b></p><p>
48、select * from cyinformation where cname=@a</p><p> ?。?)本系統(tǒng)所創(chuàng)建的觸發(fā)器</p><p> 觸發(fā)器在INSERT、UPDATE或DELETE語句對表或視圖進行修改時會被自動執(zhí)行。觸發(fā)器可以查詢其他表,并可以包含復(fù)雜的T-SQL語句。一個表可以有多個觸發(fā)器。觸發(fā)器可通過數(shù)據(jù)庫中的相關(guān)表實現(xiàn)級聯(lián)更改,但是,通過級聯(lián)引用完整性約束可以
49、更有效地執(zhí)行這些更改;也可以強制比用CHECK約束定義的約束更為復(fù)雜的約束;也可以評估數(shù)據(jù)修改前后的表狀態(tài),并根據(jù)其差異采取對策。一個表中多個同類觸發(fā)器允許采取多個不同的對策,以響應(yīng)同一個修改語句;觸發(fā)器也可確保數(shù)據(jù)規(guī)范化。使用觸發(fā)器可以維護非正規(guī)化數(shù)據(jù)庫環(huán)境中的記錄級數(shù)據(jù)的完整性。</p><p><b> (1)餐飲表觸發(fā)器</b></p><p> 此觸發(fā)器
50、實現(xiàn)當(dāng)從餐飲表中刪除一項餐飲信息后,自動刪除訂單表中與此餐飲相關(guān)的所有信息</p><p><b> USE WSDC</b></p><p> create trigger DD_update</p><p> on CY after delete</p><p><b> as</b>&
51、lt;/p><p><b> begin</b></p><p> declare @cid int</p><p> if exists (select cid from deleted)</p><p> select @cid=(select cid from deleted)</p><p
52、> delete from DD where cid=@cid </p><p><b> end</b></p><p><b> ?。?)訂單表觸發(fā)器</b></p><p> 此觸發(fā)器實現(xiàn)當(dāng)有新訂單生成時,自動更新餐飲表中餐飲訂購數(shù)量。</p><p><b> US
53、E WSDC</b></p><p> create trigger CY_update</p><p> on DD after insert</p><p><b> as</b></p><p><b> begin</b></p><p> de
54、clare @Cid int,@Dnum int</p><p> if exists (select cid from inserted)</p><p> select @Cid=(select cid from inserted)</p><p> select @Dnum=(select Dnum from inserted)</p>&
55、lt;p> update CY set Cdnum=Cdnum+@Dnum where Cid=@Cid</p><p><b> end</b></p><p> ?。?)本系統(tǒng)所使用的索引</p><p> 索引和書的目錄類似,它提供了指向表中行的指針,是到達數(shù)據(jù)的直接路徑。索引是為了加速檢索而創(chuàng)建的一種存儲結(jié)構(gòu)。索引是針對一個
56、表而建立的。它是由除存放表的數(shù)據(jù)頁面以外的索引頁面組成的。每個索引頁面中的行都包含邏輯指針,通過該指針可以直接檢索到數(shù)據(jù),這就會加速物理數(shù)據(jù)的檢索。索引有下述優(yōu)點:1、提高了查詢的速度,2、提高連接,3、查詢優(yōu)化器依靠索引起作用,4、強制實施行的唯一性。</p><p><b> (1)餐飲索引</b></p><p> CREATE NONCLUSTERED I
57、NDEX Cy_ind </p><p><b> ON CY </b></p><p><b> (Cid ASC)</b></p><p><b> ?。?)會員索引</b></p><p> CREATE NONCLUSTERED INDEX HY_ind <
58、/p><p><b> ON HY </b></p><p><b> (Hid ASC)</b></p><p><b> (3)新聞索引</b></p><p> CREATE NONCLUSTERED INDEX news_ind </p><p&
59、gt;<b> ON NEWS </b></p><p> ( NewsId ASC,</p><p> title ASC)</p><p><b> ?。?)訂單索引</b></p><p> CREATE NONCLUSTERED INDEX DD_ind </p>&
60、lt;p><b> ON DD </b></p><p> (Did ASC,</p><p><b> Hid ASC)</b></p><p> (5)本系統(tǒng)所使用的函數(shù)</p><p> 用戶在編程時常常需要將一個多多個T-SQL語句組成子程序,以便反復(fù)調(diào)用。SQL Serv
61、er 2005允許用戶根據(jù)需要自己定義函數(shù)。根據(jù)定義函數(shù)返回值類型,可將函數(shù)分為兩個類別:標(biāo)量函數(shù)和表值函數(shù)。標(biāo)量函數(shù)返回值是標(biāo)量值。表值函數(shù)返回值為整個表。</p><p> 按餐飲價格范圍查找餐飲信息函數(shù)代碼如下:</p><p><b> USE WSDC</b></p><p> create function searchbyp
62、rice(@p1 float,@p2 float)</p><p> returns table</p><p><b> as</b></p><p><b> return</b></p><p> ( select * from CY where Cprice between @p1
63、 and @p2 )</p><p> 3.2.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計</p><p> 根據(jù)需求分析和數(shù)據(jù)庫的設(shè)計,構(gòu)畫出網(wǎng)上訂餐系統(tǒng)功能結(jié)構(gòu)圖,如圖3.7所示。</p><p> 圖3.7 系統(tǒng)功能結(jié)構(gòu)圖</p><p> 3.3 數(shù)據(jù)庫的連接</p><p> 本設(shè)計是通過ADO.NET和數(shù)據(jù)庫建立
64、連接并訪問數(shù)據(jù)庫的,代碼如下:</p><p> (connectionStrings)</p><p> (add name="conn" connectionString="Data Source=.;Initial Catalog=WSDC;Integrated Security=SSPI;"/)</p><p>
65、 (/connectionStrings)</p><p><b> 4 系統(tǒng)詳細設(shè)計</b></p><p> 本章主要介紹本系統(tǒng)各界面所實現(xiàn)的功能以及用到的一些技術(shù),是讀者對本系統(tǒng)有個全面的認(rèn)識。</p><p><b> 4.1 登錄模塊</b></p><p> 登錄模塊是為保證
66、信息的安全,只允許由用戶名和密碼的用戶進入對系統(tǒng)進行相關(guān)的操作,當(dāng)輸入正確時即可進入系統(tǒng)。并提供會員注冊和修改、找回密碼鏈接。</p><p> 登入界面Login.aspx,效果如圖4.1所示。</p><p><b> 圖4.1 登錄界面</b></p><p> 會員登錄模塊的主要代碼為:</p><p>
67、 protected void ImageButton1_Click(object sender, ImageClickEventArgs e)</p><p> { string sql = "select count(*) from HY where Hid='" + TextBox1.Text + "'and Hpwd='" + TextBo
68、x2.Text + "'";</p><p> int r = Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql).ToString());</p><p><b> if (r> 0)</b></p><p> { HttpCookie cookie =
69、 new HttpCookie("name");</p><p> cookie.Value =TextBox1.Text;</p><p> Response.Cookies.Add(cookie);</p><p> Response.Redirect("main.aspx"); }</p><
70、p><b> else</b></p><p> { Label5.Text = "用戶名或密碼錯誤";</p><p> TextBox1.Text = "";</p><p> TextBox2.Text = "";</p><p> Te
71、xtBox1.Focus(); }</p><p><b> 4.2會員注冊模塊</b></p><p> 會員注冊模塊的功能是注冊新的會員,通過該模塊可將會員信息插入數(shù)據(jù)庫中,下次登陸時便可用此會員的用戶名和密碼登陸。</p><p> 用戶注冊界面Hadd.aspx,效果如圖4.2所示。</p><p>
72、 圖4.2 用戶注冊頁面</p><p> 該模塊的主要代碼為:</p><p> protected void ImageButton1_Click(object sender, ImageClickEventArgs e)</p><p> { string sql = "select count(*) from HY where Hid
73、='" + TextBox1.Text + "' and Hpwd='"+TextBox2.Text+"'";</p><p> int r = Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql).ToString());</p><p><b>
74、if (r>0)</b></p><p> { Label13.Text = "用戶名已存在!"; }</p><p><b> else</b></p><p> { string sql1 = "insert into HY(Hid,Hpwd,Hname,Hadd,Hph
75、one) values(@userId,@userPwd,@userName,@userAddress,@userPhone)";</p><p> SqlParameter[] pars = new SqlParameter[5];</p><p> pars[0] = new SqlParameter("@userId", SqlDbType.Var
76、Char);</p><p> pars[0].Value = TextBox1.Text;</p><p> pars[1] = new SqlParameter("@userPwd", SqlDbType.VarChar);</p><p> pars[1].Value = TextBox2.Text;</p><p
77、> pars[2] = new SqlParameter("@userName", SqlDbType.VarChar);</p><p> pars[2].Value = TextBox4.Text;</p><p> pars[3] = new SqlParameter("@userAddress", SqlDbType.VarCha
78、r);</p><p> pars[3].Value = TextBox5.Text;</p><p> pars[4] = new SqlParameter("@userPhone", SqlDbType.VarChar);</p><p> pars[4].Value = TextBox6.Text;</p><p&
79、gt; int s = DBUtility.DbHelperSQL.ExecuteSql(sql1, pars);</p><p> string sql2 = "select count(*) from HY where Hid='" + TextBox1.Text + "' and Hpwd='" + TextBox2.Text + &quo
80、t;'";</p><p> int i=Int32.Parse( DBUtility.DbHelperSQL.GetSingle(sql2).ToString());</p><p><b> if (i> 0)</b></p><p> { Label13.Text = "添加成功!";
81、 }</p><p><b> else</b></p><p> { Label13.Text = "添加失?。?quot;; }}}</p><p> 4.3 會員密碼修改模塊</p><p> 此模塊的功能是修改會員密碼,修改后會員可用新的密碼登陸。</p><p>
82、 用戶修改密碼界面Changepwd.aspx,效果如圖4.3所示。</p><p> 圖4.3 用戶修改密碼頁面</p><p> 會員修改模塊的主要代碼為:</p><p> protected void Button1_Click(object sender, EventArgs e)</p><p> { string s
83、ql = "select count(*) from HY where Hid='" + TextBox1.Text + "' and Hname='" + TextBox2.Text + "' and Hphone='" + TextBox3.Text + "'";</p><p>
84、 int j = Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql).ToString());</p><p><b> if (j> 0)</b></p><p> { string sql1 = "update HY set Hpwd='"+TextBox4.Text+"
85、;' where Hid='" + TextBox1.Text + "' and Hname='" + TextBox2.Text + "' and Hphone='" + TextBox3.Text + "'";</p><p> int i=DBUtility.DbHelperSQL
86、.ExecuteSql(sql1);</p><p><b> if (i>0)</b></p><p> { Label14.Text = "密碼修改成功!" ; } }</p><p><b> else</b></p><p> { Label14.Tex
87、t = "用戶信息填寫錯誤!"; } }</p><p> protected void Button2_Click(object sender, EventArgs e)</p><p> { Response.Redirect("Login.aspx"); }</p><p> protected void Butt
88、on3_Click(object sender, EventArgs e)</p><p> { TextBox1.Text = "";</p><p> TextBox2.Text = "";</p><p> TextBox3.Text = "";</p><p>
89、TextBox4.Text = "";</p><p> TextBox5.Text = "";}</p><p><b> 找回密碼模塊</b></p><p> 用戶通過此模塊,填寫正確的信息即可在頁面顯示出正確的密碼。</p><p> 用戶找回密碼界面FindPwd
90、.aspx,效果如圖4.4所示。</p><p> 圖4.4 用戶找回密碼頁面</p><p> 找回密碼模塊的主要代碼:</p><p> protected void Button1_Click(object sender, EventArgs e)</p><p> { string sql = "select
91、 Hpwd from HY where Hid=@id and Hname=@name and Hphone=@ph";</p><p> string sql1 = "select count(*) from HY where Hid=@id and Hname=@name and Hphone=@ph";</p><p> SqlParameter[]
92、 par = new SqlParameter[3];</p><p> par[0] = new SqlParameter("@id",TextBox1.Text);</p><p> par[1] = new SqlParameter("@name",TextBox2.Text);</p><p> par[2] =
93、 new SqlParameter("@ph", TextBox3.Text);</p><p> int i = Int32.Parse(DBUtility.DbHelperSQL.GetSingle(sql1,par).ToString());</p><p><b> if (i> 0)</b></p><p&g
94、t; { string pwd = DBUtility.DbHelperSQL.GetSingle(sql,par).ToString();</p><p> Label7.Text="您的密碼時:"+pwd; }</p><p><b> else</b></p><p> { Label8.Text=&quo
95、t;用戶信息填寫錯誤!"; } }</p><p> protected void Button2_Click(object sender, EventArgs e)</p><p> { Response.Redirect("Login.aspx"); }</p><p> protected void Button3_C
96、lick(object sender, EventArgs e)</p><p> { TextBox1.Text="";</p><p> TextBox2.Text = "";</p><p> TextBox3.Text = ""; }</p><p> 4.5
97、 系統(tǒng)主模塊</p><p> 系統(tǒng)主模塊顯示餐飲信息和新聞信息,實現(xiàn)按名稱、價格范圍查找餐飲,訂購餐飲、瀏覽餐飲新聞以及鏈接到會員詳細信息界面等功能。本模塊通過新聞視圖、餐飲視圖查詢新聞、餐飲信息并顯示,通過存儲過程實現(xiàn)餐飲按名稱精確查找,通過函數(shù)實現(xiàn)餐飲按價格范圍查找。</p><p> 訂餐主界面main.aspx,效果如圖4.5所示。</p><p>
98、 圖4.5 系統(tǒng)主模塊</p><p><b> 主模塊的主要代碼:</b></p><p> public partial class main : System.Web.UI.Page</p><p> { string s;</p><p> protected void Page_Load(obje
99、ct sender, EventArgs e)</p><p> { if (!Page.IsPostBack)</p><p> { AllowPage1.ControlID = "Repeater1";</p><p> AllowPage1.ControlType = 2;</p><p> Allo
100、wPage1.PageSize =5;</p><p> AllowPage1.SQL = "select * from newsInformation order by NewsDate desc";</p><p> AllowPage2.ControlID = "Repeater2";</p><p> Allow
101、Page2.ControlType = 2;</p><p> AllowPage2.PageSize = 5;</p><p> AllowPage2.SQL = "select * from cyInformation order by cprice ";</p><p> if (Request.Cookies["name&
102、quot;]!= null)</p><p> { denglu.Visible = false;</p><p> zhuce.Visible = false;</p><p> mypage.Visible = true;</p><p> tuichu.Visible = true;</p><p>
103、 s = Request.Cookies["name"].Value;</p><p> Label1.Text = s + ",歡迎您回來!";</p><p> if (!Page.IsPostBack)</p><p> { BindToRepeater();</p><p> Bi
104、ndToRepeater2(); } }</p><p><b> else</b></p><p> { denglu.Visible = true;</p><p> zhuce.Visible = true;</p><p> BindToRepeater();</p><p&g
105、t; BindToRepeater2(); } } }</p><p> public void BindToRepeater()</p><p> { AllowPage1.DataTbl = DBUtility.DbHelperSQL.Query(AllowPage1.SQL).Tables[0];</p><p> PagedDataSour
106、ce pds = AllowPage1.GetPagedDataSource(0);</p><p> Repeater1.DataSource = pds;</p><p> Repeater1.DataBind(); }</p><p> public void BindToRepeater2()</p><p> { Allo
107、wPage2.DataTbl = DBUtility.DbHelperSQL.Query(AllowPage2.SQL).Tables[0];</p><p> PagedDataSource pds1 = AllowPage2.GetPagedDataSource(0);</p><p> Repeater2.DataSource = pds1;</p><p&g
108、t; Repeater2.DataBind(); }</p><p> public string subTitle(object obj)</p><p> { string title = obj.ToString();</p><p> if (title.Length ) 10)</p><p> { return
109、 title.Substring(0, 10) + "..."; }</p><p><b> else</b></p><p> { return title; } }</p><p> public string getDate(object obj)</p><p> { r
110、eturn DateTime.Parse(obj.ToString()).ToShortDateString(); }</p><p> protected void Button1_Click(object sender, EventArgs e)</p><p> { if (Request.Cookies["name"] != null)</p>
111、;<p> { if (Request.Form["selectOne"] == null)</p><p> { Response.Write("<script>alert('請先勾選!')</script>"); }</p><p><b> else</b>&l
112、t;/p><p> { string a = Request.Form["selectOne"].ToString();</p><p> string[] s1 = a.Split(',');</p><p> for (int j = 0; j(s1.Length; j++)</p><p> {
113、string sql1 = "select count(*) from DD where Hid='" + Request.Cookies["name"].Value + "' and Cid=" + s1[j]; </p><p> int i = Int32.Parse(DBUtility.DbHe
114、lperSQL.GetSingle(sql1).ToString());</p><p> if (i > 0)</p><p> { Response.Write("<script>alert('此餐飲,數(shù)量已加1!')</script>");</p><p> string sql2 =
115、"update DD set Dnum=Dnum+1 where Cid="+s1[j];</p><p> DBUtility.DbHelperSQL.ExecuteSql(sql2); }</p><p><b> else</b></p><p> { string sql3 = "insert int
116、o DD(Hid,Cid,Dnum,Ddate,Ydate) values('" + Request.Cookies["name"].Value + "','" + s1[j] + "',1,'" + DateTime.Now + "','"+TextBox1.Text+"'
117、)";</p><p> DBUtility.DbHelperSQL.ExecuteSql(sql3); } } } }</p><p><b> else</b></p><p> { Response.Redirect("Login.aspx");} }</p><p> pro
118、tected void Button2_Click(object sender, EventArgs e)</p><p> { if (Request.Cookies["name"] != null)</p><p> { if (Request.Form["selectOne"] == null)</p><p>
119、 { Response.Write("<script>alert('請先勾選!')</script>"); }</p><p><b> else</b></p><p> { string a = Request.Form["selectOne"].ToString();<
120、;/p><p> string[] s1 = a.Split(',');</p><p> for (int j = 0; j ( s1.Length; j++)</p><p> { string sql1 = "delete from DD where Cid=" + s1[j];</p><p>
121、 int i = DBUtility.DbHelperSQL.ExecuteSql(sql1);</p><p><b> if (i>0)</b></p><p> {Response.Write("<script>alert('取消成功!')</script>");}</p>&
122、lt;p><b> else</b></p><p> {Response.Write("<script>alert('刪除失敗,請重新嘗試!)</script>");} } } }</p><p><b> else</b></p><p> { Re
123、sponse.Redirect("Login.aspx"); } }</p><p> protected void byname_Click(object sender, EventArgs e)</p><p> { if (cname.Text!= "")</p><p> { string sql2 = &q
124、uot;sa";</p><p> IDataParameter[] par = new SqlParameter[1];</p><p> par[0] = new SqlParameter("@a", cname.Text);</p><p> DataSet ds = DBUtility.DbHelperSQL.RunPro
125、cedure(sql2,par,"ta");</p><p> DataTable dt = ds.Tables["ta"];</p><p> Repeater2.DataSource = dt;</p><p> Repeater2.DataBind(); }</p><p><b>
126、; else</b></p><p> { Label3.Text = "請輸入要查詢的餐飲名稱!"; }}</p><p> protected void byprice_Click(object sender, EventArgs e)</p><p> { if (cp1.Text != ""&
127、;&cp2.Text!="")</p><p> { string sql3 = "select * from searchbyprice("+cp1.Text+","+cp2.Text+")";</p><p> DataTable dt3 = DBUtility.DbHelperSQL.Qu
128、ery(sql3).Tables[0];</p><p> Repeater2.DataSource = dt3;</p><p> Repeater2.DataBind(); }</p><p><b> else</b></p><p> { Label4.Text = "請輸入價格范圍!&quo
129、t;; } } }</p><p><b> 新聞內(nèi)容顯示模塊</b></p><p> 此模塊顯示新聞具體內(nèi)容以及發(fā)布人、發(fā)布時間、點擊次數(shù).</p><p> 新聞顯示界面ShowNews.aspx,效果如圖4.6所示。</p><p> 圖4.6 新聞顯示界面</p><p>
130、 顯示新聞頁面代碼如下:</p><p> public partial class ShowNews : System.Web.UI.Page</p><p> { protected void Page_Load(object sender, EventArgs e)</p><p> { if (!Page.IsPostBack)</p>
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的網(wǎng)上訂餐系統(tǒng)課程設(shè)計
- 課程設(shè)計--網(wǎng)上訂餐系統(tǒng)的開發(fā)研究
- 網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)---開題報告
- 《基于web的java開發(fā)設(shè)計》課程設(shè)計-- 網(wǎng)上訂餐系統(tǒng)
- 網(wǎng)上訂餐系統(tǒng)設(shè)計文檔
- 網(wǎng)上訂餐管理系統(tǒng)
- 校園b2c網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)——網(wǎng)上訂餐系統(tǒng)【畢業(yè)論文設(shè)計】
- 網(wǎng)上訂餐管理系統(tǒng)
- 網(wǎng)上訂餐系統(tǒng)設(shè)計文檔
- 畢業(yè)設(shè)計---網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)
- 基于.net的網(wǎng)上訂餐管理系統(tǒng)的設(shè)計與實現(xiàn)
- 基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)
- 數(shù)據(jù)庫課程設(shè)計--在線網(wǎng)上訂餐系統(tǒng)
- 基于jsp的網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)
- 基于.net的網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)
- 網(wǎng)上訂餐系統(tǒng)
- 畢業(yè)論文-----網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)
- 高校網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)論文
- 網(wǎng)上訂餐系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 網(wǎng)上訂餐系統(tǒng)
評論
0/150
提交評論