網(wǎng)上訂餐課程設計--網(wǎng)上訂餐管理系統(tǒng)的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  網(wǎng)上訂餐管理系統(tǒng)的設計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  今年來,隨著人們生活壓力的持續(xù)增加,大部分人們都忙于工作,沒多余的時間去自己做飯,進而促進了網(wǎng)上訂餐行業(yè)的興起。網(wǎng)上訂餐為工薪階層提供了方便、快捷的就餐方式,只需動動鼠標、鍵盤,可口的的飯菜就等送到嘴邊!對于餐飲行業(yè),有一個好的網(wǎng)上訂餐管理系統(tǒng),不

2、僅能方便的管理餐飲,還能吸引不少顧客。由此可見,一個好的網(wǎng)上訂餐管理系統(tǒng)已經(jīng)成為一個餐飲公司發(fā)展好壞的一個決定性因素,在此類公司中占據(jù)著日趨重要的低位。</p><p>  通過分析網(wǎng)上訂餐管理的內容及特點,提出了網(wǎng)上訂餐管理系統(tǒng)的解決方案。系統(tǒng)采用ASP,SQLServer2005作為主開發(fā)工具進行開發(fā)。系統(tǒng)由管理員登錄,注冊模塊,餐飲信息查詢模塊,會員信息管理模塊,訂單信息管理模塊,會員登錄模塊,會員基本信息

3、、訂單、修改信息模塊和訂餐模塊等組成。</p><p>  文章以需求分析,概要設計,模塊詳細設計,系統(tǒng)運行和測試,系統(tǒng)說明等為主線,詳細介紹了網(wǎng)上訂餐管理系統(tǒng)。首先,根據(jù)網(wǎng)上訂餐管理的內容及會員特點對系統(tǒng)作為需求分析,其次根據(jù)系統(tǒng)的實現(xiàn)功能和使用進行規(guī)劃,最后完成了模塊的劃分和數(shù)據(jù)庫的設計與實現(xiàn),并對系統(tǒng)進行了測試。</p><p>  關鍵詞: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 本文的組織結構1</p><p>  2

5、 系統(tǒng)需求分析2</p><p>  2.1 系統(tǒng)功能分析2</p><p>  2.2 設計目標2</p><p>  2.3 開發(fā)及運行環(huán)境2</p><p>  3 系統(tǒng)概要設計3</p><p>  3.1 數(shù)據(jù)庫結構設計3</p><p>  3.1.1 數(shù)據(jù)

6、庫概念結構設計3</p><p>  3.1.2 數(shù)據(jù)庫邏輯結構設計4</p><p>  3.1.3 數(shù)據(jù)庫物理結構設計4</p><p>  3.2 系統(tǒng)功能設計7</p><p>  3.2.1 數(shù)據(jù)庫功能設計7</p><p>  3.2.2 系統(tǒng)功能結構設計10</p>&

7、lt;p>  3.3 數(shù)據(jù)庫的連接10</p><p>  4 系統(tǒng)模塊詳細設計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 新聞內容顯示模塊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)調試32</p><p>  5.2 測試與運行33</p>

11、<p>  5.2.1 測試的目的33</p><p>  5.2.2 測試的原則33</p><p>  5.2.3 測試的內容34</p><p>  5.2.4 測試用例35</p><p>  5.3 測試結論36</p><p>  6 系統(tǒng)的使用說明與安裝37</

12、p><p>  6.1 運行環(huán)境要求37</p><p>  6.2 安裝設置37</p><p>  6.3 源程序用戶名和密碼37</p><p><b>  結論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)絡熱潮正沖擊著我們生活的方方面面。具體到餐飲業(yè)網(wǎng)絡營銷,網(wǎng)上訂餐是一種主要的形式。本系統(tǒng)實現(xiàn)通過網(wǎng)上訂餐,由餐飲公

14、司負責送貨上門業(yè)務,促進餐飲業(yè)的蓬勃發(fā)展。</p><p><b>  1.2 開發(fā)意義</b></p><p>  網(wǎng)上訂餐業(yè)務的興起,折射出餐飲業(yè)善抓機遇、搶占利潤第二落點的經(jīng)營理念,同時也顯示出消費者在日常所需中,運用網(wǎng)絡觀念的意識正逐漸增強。但比起如今火爆的網(wǎng)上購物,網(wǎng)上訂酒店住宿等服務,網(wǎng)上訂餐服務在一些餐飲業(yè)中仍未引起足夠的重視,對于消費者來說,許多人對

15、這一新興業(yè)務尚缺乏了解。但因這種消費方式響應了當前社會的快捷、便利等趨勢,網(wǎng)上訂餐仍存在著廣闊的發(fā)展空間。網(wǎng)上訂餐的發(fā)展也將給餐飲業(yè)帶來勃勃生機。</p><p>  1.3 本文的組織結構</p><p>  第一章:緒論。本章主要介紹研究背景,開發(fā)意義。</p><p>  第二章:需求分析。本章主要介紹數(shù)據(jù)庫需求分析,系統(tǒng)功能分析等。</p>

16、<p>  第三章:系統(tǒng)概要設計。本章主要介紹系統(tǒng)概要設計,數(shù)據(jù)庫結構設計,數(shù)據(jù)庫的連接。</p><p>  第四章:系統(tǒng)詳細設計。本章主要介紹用戶管理,對數(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)的設計目標,介紹了系統(tǒng)的開發(fā)及運行的環(huán)境。</p><p>  2.1 系統(tǒng)功能分析</p><p>  經(jīng)過調查、分析,本系統(tǒng)具有以下功能:</p><p>  

18、(1)提供會員登錄、注冊、修改密碼以及基本資料。</p><p> ?。?)提供管理員登陸,注冊,修改密碼以及基本資料。 </p><p> ?。?)提供對會員基本信息的查詢。</p><p> ?。?)提供管理員對餐飲、會員、訂單、新聞、數(shù)據(jù)庫的管理。</p><p> ?。?)提供會員對新聞、餐飲信息的瀏覽以及訂購餐飲的功能。</p

19、><p><b>  2.2 設計目標</b></p><p>  通過分析,主要實現(xiàn)如下目標:</p><p> ?。?)編寫登錄模塊,設置登錄用戶的用戶名和密碼。</p><p> ?。?)編寫主模塊,設置通過菜單選項進入系統(tǒng)不同的子模塊。</p><p>  (3)編寫對會員基本信息操作模塊。

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>  (2)內存:256MB以上。</p><p><b>  2、軟件平臺:</b></p><p> ?。?)操作系統(tǒng):Windows XP/ Windows 2000。</p><p>  (2)數(shù)據(jù)庫:SQL Server 2005</p><p> ?。?)開發(fā)工具:ASP

22、.NET</p><p><b>  3 系統(tǒng)概要設計</b></p><p>  系統(tǒng)概要設計首先對數(shù)據(jù)庫的編碼進行設計,方便數(shù)據(jù)信息的處理,其次是根據(jù)需求分析,對數(shù)據(jù)庫的結構進行設計,建立相關的數(shù)據(jù)表,最后構畫出系統(tǒng)功能的結構圖。</p><p>  3.1 數(shù)據(jù)庫結構設計</p><p>  3.1.1 數(shù)

23、據(jù)庫概念結構設計</p><p>  根據(jù)軟件工程所學知識和以上對本次課程設計系統(tǒng)的分析,最終畫出系統(tǒng)的實體關系圖 (E-R圖)如圖3.1所示。</p><p>  3.1.2 數(shù)據(jù)庫邏輯結構設計</p><p>  由3.1.1的實體關系圖可以得到系統(tǒng)的關系模式為:</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,標題,內容,發(fā)布人,發(fā)布時間,點擊次數(shù))&

25、lt;/p><p>  3.1.3 數(shù)據(jù)庫物理結構設計</p><p><b>  1、數(shù)據(jù)庫的設計</b></p><p>  CREATE DATABASE WSDC </p><p>  ON PRIMARY </p><p>  ( NAME = WSDC, </p><

26、;p>  FILENAME = D:\網(wǎng)上訂餐管理系統(tǒng)(課程設計)\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)(課程設計)\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、表的設計</b></p><p> ?。?)CY(餐飲表)</p><p>  餐飲id(Cid)為主鍵,不允許空,餐飲名Cname不允許空,其余字段允許為空,Cdnum設置觸發(fā)器,當往訂單表中插入新數(shù)據(jù)時,自動更新餐飲表中的訂購數(shù)量C

29、dnum</p><p>  CY(餐飲表)如圖3.2所示。</p><p>  圖3.2 CY表的結構</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)設置check約束,只允許填寫“男”“女”</p><p>  HY(會員信息表)如圖3.3</p><p>

32、;  圖3.3 HY的結構</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表的結構</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>  (4)DD(訂單信息表)</p><p>  訂單號為主鍵且以1為單位自增,本表所有字段均不允許為空。</p><p>  DD(訂單信息表) 如圖3.5</p><p>  圖3.5 DD表的結構</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表的結構</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)功能設計</b></p><p>  3.2.1 數(shù)據(jù)庫功能設計</p><p><b>  (1)視圖</b><

40、/p><p>  視圖是一個虛擬表,其內容由詢定義。同真實的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。視圖通常用來集中、簡化和自定義每個用戶對數(shù)據(jù)庫的不同認識。視圖可用作安全機制,方法是允許用戶通過視圖訪問數(shù)據(jù),而不授予用戶直接訪問視圖基礎表的權限。通過視圖可以檢索基表中的數(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> ?。?)存儲過程</b></p><p>  存儲過程存儲在數(shù)據(jù)庫內,可由應用程序

46、通過一個調用執(zhí)行,而且允許用戶聲明變量、有條件執(zhí)行以及其他強大的編程功能。存儲過程可以使得數(shù)據(jù)庫的管理、顯示關于數(shù)據(jù)庫及其用戶信息的工作容易得多。存儲過程包含程序流、邏輯以及對數(shù)據(jù)庫的查詢。它們可以接受參數(shù)、輸出參數(shù)、返回單個或多個結果集以及返回值。存儲過程具有以下優(yōu)點:1、可以在單個存儲過程中執(zhí)行一系列SQL語句,2、可以從自己的存儲過程內引用其他存儲過程,3、存儲過程在創(chuàng)建時即在服務器上進行編譯,所以執(zhí)行起來比單個SQL語句快,且能

47、減少網(wǎng)絡通信的負擔。</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>  (3)本系統(tǒng)所創(chuàng)建的觸發(fā)器</p><p>  觸發(fā)器在INSERT、UPDATE或DELETE語句對表或視圖進行修改時會被自動執(zhí)行。觸發(fā)器可以查詢其他表,并可以包含復雜的T-SQL語句。一個表可以有多個觸發(fā)器。觸發(fā)器可通過數(shù)據(jù)庫中的相關表實現(xiàn)級聯(lián)更改,但是,通過級聯(lián)引用完整性約束可以

49、更有效地執(zhí)行這些更改;也可以強制比用CHECK約束定義的約束更為復雜的約束;也可以評估數(shù)據(jù)修改前后的表狀態(tài),并根據(jù)其差異采取對策。一個表中多個同類觸發(fā)器允許采取多個不同的對策,以響應同一個修改語句;觸發(fā)器也可確保數(shù)據(jù)規(guī)范化。使用觸發(fā)器可以維護非正規(guī)化數(shù)據(jù)庫環(huán)境中的記錄級數(shù)據(jù)的完整性。</p><p><b>  (1)餐飲表觸發(fā)器</b></p><p>  此觸發(fā)器

50、實現(xià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)當有新訂單生成時,自動更新餐飲表中餐飲訂購數(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)建的一種存儲結構。索引是針對一個

56、表而建立的。它是由除存放表的數(shù)據(jù)頁面以外的索引頁面組成的。每個索引頁面中的行都包含邏輯指針,通過該指針可以直接檢索到數(shù)據(jù),這就會加速物理數(shù)據(jù)的檢索。索引有下述優(yōu)點:1、提高了查詢的速度,2、提高連接,3、查詢優(yōu)化器依靠索引起作用,4、強制實施行的唯一性。</p><p><b> ?。?)餐飲索引</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> ?。?)新聞索引</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>  (4)訂單索引</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語句組成子程序,以便反復調用。SQL Serv

61、er 2005允許用戶根據(jù)需要自己定義函數(shù)。根據(jù)定義函數(shù)返回值類型,可將函數(shù)分為兩個類別:標量函數(shù)和表值函數(shù)。標量函數(shù)返回值是標量值。表值函數(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)功能結構設計</p><p>  根據(jù)需求分析和數(shù)據(jù)庫的設計,構畫出網(wǎng)上訂餐系統(tǒng)功能結構圖,如圖3.7所示。</p><p>  圖3.7 系統(tǒng)功能結構圖</p><p>  3.3 數(shù)據(jù)庫的連接</p><p>  本設計是通過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)詳細設計</b></p><p>  本章主要介紹本系統(tǒng)各界面所實現(xiàn)的功能以及用到的一些技術,是讀者對本系統(tǒng)有個全面的認識。</p><p><b>  4.1 登錄模塊</b></p><p>  登錄模塊是為保證

66、信息的安全,只允許由用戶名和密碼的用戶進入對系統(tǒ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>  新聞內容顯示模塊</b></p><p>  此模塊顯示新聞具體內容以及發(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論