版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文</b></p><p> 基于web的訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 基于web的訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 摘要</b></p><p> 隨著市場(chǎng)、經(jīng)濟(jì)的全球化,越來越多的企業(yè)認(rèn)識(shí)到:提高企業(yè)的競(jìng)爭(zhēng)力,選擇信息化是必由之
2、路。本文論述的訂餐系統(tǒng)是針對(duì)餐飲娛樂業(yè)而設(shè)計(jì)的一種商務(wù)服務(wù)網(wǎng)站。其主要功能是完成外賣的前期和輔助工作,即通過網(wǎng)絡(luò)進(jìn)行定餐和對(duì)服務(wù)進(jìn)行評(píng)價(jià)。而餐飲工作流程的其他部分如送外賣、付款等后期工作依舊采用傳統(tǒng)方式。</p><p> 微軟的. NET平臺(tái)作為新一代的互聯(lián)網(wǎng)平臺(tái),提供了支持未來計(jì)算的高效的Web服務(wù)開發(fā)工具。利用.NET平臺(tái)進(jìn)行訂餐系統(tǒng)的開發(fā)是此類系統(tǒng)未來開發(fā)的趨勢(shì)之一。本文所設(shè)計(jì)的系統(tǒng)在.NET平臺(tái)上進(jìn)行
3、開發(fā),采用了最新的ASP.NET技術(shù),用VB.NET進(jìn)行了編碼,并使用SQL server進(jìn)行數(shù)據(jù)庫設(shè)計(jì),基本實(shí)現(xiàn)了預(yù)定的目標(biāo),建立起一個(gè)比較完整的外賣系統(tǒng)。其特點(diǎn)是方便快捷的操作方式,簡(jiǎn)單易懂的管理方法,因此對(duì)于企業(yè)和用戶來說,都是一種新型的、節(jié)約型的系統(tǒng)。</p><p> 關(guān)鍵詞:企業(yè)信息化;訂餐系統(tǒng);.NET;ASP.NET;SQL server</p><p> The De
4、sign and Implementation of Bespeak Meal System Based on Web</p><p><b> Abstract</b></p><p> With the globalization of market and economy, more and more enterprises realize that inf
5、ormatization is the only way to elevate their competence. Management Information System (MIS) is a critical component of Enterprise informatization。</p><p> When diversified electronic business affairs web
6、setup, service vocations have to come up with. Bespeak Meal System mostly used to accomplish accessorial work, namely order dish and grad the service. The evening as distribute and gathering we are still using traditiona
7、l methods.</p><p> As a new age Internet platform, MS's .NET provides efficiency Web service Development tools which supports future computation. The development of take-away online system by .NET is ne
8、cessarily the trend of this kind of system development in the coming years. The system development bases on the .NET platform, while adopts the most recent ASP.NET tech. The coding part is finished by VB.NET. Finally, a
9、comparatively entire Bespeak Meal system is completed, which satisfies the general requirements. </p><p> Key Words: Enterprise Informatization; Bespeak Meal System; .NET; ASP.NET; SQL server</p><
10、;p><b> 目 錄</b></p><p><b> 論文總頁數(shù):24頁</b></p><p><b> 1引言1</b></p><p> 1.1課題背景1</p><p> 1.2本課題的研究?jī)?nèi)容1</p><p>
11、; 1.3本課題研究的意義1</p><p> 2開發(fā)環(huán)境和相關(guān)技術(shù)2</p><p> 2.1.NET開發(fā)平臺(tái)及VB.NET開發(fā)語言2</p><p> 2.2信息安全性2</p><p><b> 3數(shù)據(jù)庫設(shè)計(jì)3</b></p><p> 3.1關(guān)于SQL語言
12、3</p><p> 3.2數(shù)據(jù)庫設(shè)計(jì)結(jié)構(gòu)3</p><p><b> 4系統(tǒng)設(shè)計(jì)5</b></p><p> 4.1系統(tǒng)總體流程5</p><p> 4.1系統(tǒng)模塊設(shè)計(jì)6</p><p> 4.1.1用戶模塊6</p><p> 4.1.2
13、管理員模塊8</p><p><b> 5系統(tǒng)實(shí)現(xiàn)8</b></p><p> 5.1用戶功能模塊實(shí)現(xiàn)8</p><p> 5.1.1新用戶注冊(cè)8</p><p> 5.1.2登錄11</p><p> 5.1.3訂餐12</p><p>
14、 5.1.4留言16</p><p> 5.2管理員模塊17</p><p> 5.2.1訂單管理17</p><p> 5.2.2留言管理19</p><p> 5.2.3菜單管理20</p><p> 5.2.4用戶管理21</p><p><b&g
15、t; 結(jié) 論21</b></p><p><b> 參考文獻(xiàn)22</b></p><p><b> 致 謝23</b></p><p><b> 聲 明24</b></p><p><b> 1引言</b>&l
16、t;/p><p><b> 課題背景</b></p><p> 隨著21世紀(jì)網(wǎng)絡(luò)信息時(shí)代的到來,現(xiàn)代社會(huì)都是利用快速高效率的Internet來傳播大量信息資源。人們通過IE瀏覽信息,當(dāng)然這種方式也是最常用的,這種方式的需求形成了電子商務(wù)。它的是指利用簡(jiǎn)單、快捷、低成本的電子通訊方式,買賣雙方不出面也可以進(jìn)行各種商貿(mào)活動(dòng)。電子商務(wù)真正的發(fā)展將是建立在Internet技術(shù)
17、上。</p><p> 現(xiàn)代化企業(yè)越來越明白,為了提高產(chǎn)品的銷量,贏得更多的客戶,不僅要在產(chǎn)品生產(chǎn)制造這一前方戰(zhàn)場(chǎng)上增加實(shí)力,還必須在服務(wù)和效率上投入更多的力量。在產(chǎn)品質(zhì)量相差不大的情況下,誰的服務(wù)好,效率高,誰就能贏得更多的顧客。這也是當(dāng)今市場(chǎng)經(jīng)濟(jì)競(jìng)爭(zhēng)機(jī)制下對(duì)企業(yè)的客觀要求。 </p><p> 近年來,由于互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展及其逐步普及,企業(yè)對(duì)信息進(jìn)行網(wǎng)絡(luò)化管理的條件已經(jīng)日趨成熟
18、,而傳統(tǒng)的通過電話和傳真來處理信息的傳統(tǒng)方式已經(jīng)越來越難以滿足企業(yè)的需求。建立基于網(wǎng)絡(luò)的管理和銷售信息系統(tǒng),成為企業(yè)提高效率、降低成本、完善服務(wù)的有力保證。而對(duì)于餐飲業(yè),由于一個(gè)行業(yè)本身的特性,它的流通性是非常高的,所以更對(duì)企業(yè)的效率提出了更高的要求。</p><p> 微軟的NET平臺(tái)作為新一代的互聯(lián)網(wǎng)平臺(tái),提供了支持未來計(jì)算的高效的Web服務(wù)開發(fā)工具。利用.NET平臺(tái)進(jìn)行管理和銷售系統(tǒng)的開發(fā)成為此類系統(tǒng)未來
19、開發(fā)的趨勢(shì)。</p><p><b> 本課題的研究?jī)?nèi)容</b></p><p> 本系統(tǒng)采用B/S(Browser/Server)結(jié)構(gòu)進(jìn)行設(shè)計(jì),使用SQL Server 2000構(gòu)建數(shù)據(jù)庫,并在.NET環(huán)境下使用Visual Basic.net語言開發(fā)的一個(gè)功能較為完善的訂餐系統(tǒng)。其具有一定的實(shí)用性,用戶可以在網(wǎng)上瀏覽菜單,瀏覽留言和評(píng)分,訂餐,留言和評(píng)分;同時(shí)
20、,管理員也可以對(duì)整個(gè)系統(tǒng)的信息和數(shù)據(jù)進(jìn)行管理,可以管理菜單信息、會(huì)員信息、留言信息和訂單信息。</p><p><b> 本課題研究的意義</b></p><p> 本課題的目標(biāo)是將傳統(tǒng)的通過電話和面對(duì)面的銷售的方式,轉(zhuǎn)換到基于網(wǎng)絡(luò)這樣一個(gè)更方便快捷的方式。為企業(yè)節(jié)約了很多的時(shí)間和精力。時(shí)間就是金錢,對(duì)企業(yè)來說,節(jié)約時(shí)間就是節(jié)約成本,就是盈利。對(duì)用戶來說,足不出戶
21、,就可以購買到自己想要吃的東西,對(duì)于所有的上班族來說,無疑是好之又好的事情。而且現(xiàn)在的網(wǎng)絡(luò)發(fā)展速度相當(dāng)?shù)捏@人,那么基于網(wǎng)絡(luò)的訂餐也會(huì)越來越流行,必定是一個(gè)趨勢(shì)。</p><p><b> 開發(fā)環(huán)境和相關(guān)技術(shù)</b></p><p> .NET開發(fā)平臺(tái)及VB.NET開發(fā)語言</p><p> .NET框架是Microsoft公司推出的一種全
22、新的開發(fā)平臺(tái),提供了統(tǒng)一的、面向?qū)ο蟛⑶铱梢詳U(kuò)展的編程類庫和完善的集成開發(fā)環(huán)境,大大簡(jiǎn)化了應(yīng)用程序的開發(fā)過程,并且具有良好的移植性和安全性。ASP.NET是建立在公共語言運(yùn)行庫上的Web編程框架,相對(duì)于ASP而言,ASP.NET提供了更強(qiáng)的性能、更方便的工具支持、更好的平臺(tái)支持和靈活性。其一大革命性進(jìn)步是可以將應(yīng)用程序邏輯與表示代碼清楚地分開,這樣一來Web應(yīng)用程序的開發(fā)人員可以使用和Windows桌面程序開發(fā)類似的編程模型,從而大大降
23、低了開發(fā)難度。</p><p> 同時(shí),ASP.NET在進(jìn)行用戶界面開發(fā)和基礎(chǔ)程序結(jié)構(gòu)生成時(shí)具有很多優(yōu)勢(shì)。首先,ASP.NET是一個(gè)已編譯的、基于.NET的開發(fā)環(huán)境,利用整個(gè).NET框架,開發(fā)人員可以方便的進(jìn)行程序開發(fā);其次,ASP.NET可以無縫地與其它HTML編輯器及其編程工具一起工作,使得Web開發(fā)更加方便;再次,在ASP.NET中利用.NET框架中的ADO.NET的強(qiáng)大功能,可以高效便捷的訪問數(shù)據(jù)庫,A
24、SP.NET提供了簡(jiǎn)單的模型,該模型使開發(fā)人員能夠編寫應(yīng)用程序的運(yùn)行邏輯,并且保留了會(huì)話狀態(tài)功能;最后,.NET框架和ASP.NET中提供了默認(rèn)授權(quán)和驗(yàn)證方案,可以根據(jù)需要方便地移除、添加或者替換這些方案。</p><p> Visual Basic.NET語言是Visual Basic 6.0的后繼版本,但它除了在語法上還保留Visual Basic原有的蹤影外,在其他的很多方面都和Visual Basic截
25、然不同。</p><p> Visual Basic.NET是一種完全面向?qū)ο蟮腂ASIC語言,它能夠繼承,重載,共享成員,結(jié)構(gòu)化異常處理。它有強(qiáng)壯的語言,嚴(yán)格的類型檢查,變量聲明時(shí)候初始化,支持垃圾收集。功能強(qiáng)大,支持委托,F(xiàn)reethreading、Variant數(shù)據(jù)類型被Object代替。VB.NET還提供了很多的類型轉(zhuǎn)換函數(shù)型運(yùn)算符,如果不是標(biāo)準(zhǔn)類型,就要用函數(shù)型運(yùn)算符CType來實(shí)現(xiàn)。在本次課題中也有
26、一定的使用。</p><p><b> 信息安全性</b></p><p> 在大多數(shù)系統(tǒng)中,用戶的密碼信息在數(shù)據(jù)庫中是以明文的方式存放的,數(shù)據(jù)庫管理員稍有疏忽就有可能導(dǎo)致用戶的隱私泄漏,尤其是對(duì)于一些涉及金融、商業(yè)領(lǐng)域的網(wǎng)絡(luò)應(yīng)用,這一點(diǎn)漏洞將會(huì)導(dǎo)致十分嚴(yán)重的后果。所以,為了加強(qiáng)本系統(tǒng)信息的安全性,在用戶登錄模塊中,對(duì)密碼這樣的敏感信息進(jìn)行加密是十分必要的。本課題
27、使用了一種常見的哈希加密算法——MD5加密算法。MD5加密算法是不可逆的,經(jīng)過哈希加密的數(shù)據(jù)是沒有相應(yīng)的解密算法回到原狀的,在應(yīng)用中是通過比較兩個(gè)數(shù)據(jù)的哈希值是否相等,從而達(dá)到校驗(yàn)的目的。本課題中,在新客戶注冊(cè)的時(shí)候,對(duì)客戶設(shè)置的登錄密碼用MD5加密算法進(jìn)行加密,那么存入數(shù)據(jù)庫的將是客戶登錄密碼的MD5哈希值,在登錄驗(yàn)證時(shí)根據(jù)用戶輸入的密碼計(jì)算響應(yīng)的MD5哈希值進(jìn)行比較。</p><p> 可見,通過MD5算法
28、實(shí)現(xiàn)了數(shù)據(jù)的加密存儲(chǔ)和驗(yàn)證,同時(shí),MD5加密是不可逆的,即使惡意攻擊者獲得了數(shù)據(jù)庫的訪問權(quán)限,也仍然無法得知用戶的密碼信息,從而提高了系統(tǒng)的安全性!</p><p><b> 數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b> 關(guān)于SQL語言</b></p><p> SQL語言作為關(guān)系數(shù)據(jù)庫管理系統(tǒng)中的一種通用的結(jié)構(gòu)化查
29、詢語言,已經(jīng)被眾多的數(shù)據(jù)庫管理系統(tǒng)所采用。使用Visual Basic.NET開發(fā)數(shù)據(jù)庫應(yīng)用程序時(shí),用戶可以使SQL語言編程,這是Visual Basic.NET作為一個(gè)強(qiáng)大的數(shù)據(jù)庫應(yīng)用開發(fā)工具的一個(gè)重要標(biāo)志。</p><p> SQL語言被廣泛采用是因?yàn)樗泻芏嗟膬?yōu)點(diǎn):它是一個(gè)非過程化的語言,一次處理一個(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航;SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而部隊(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集;接
30、受集合作為輸入,返回集合作為輸出;允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法,是用戶更易集中精力于要得到的記過。SQL可用于所有的用戶,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其他類型的中斷用戶。由于所有的主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言,用戶可以將使用SQL的技能從一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)轉(zhuǎn)到另一個(gè);所有用SQL編寫的程序都是可以移植的。</p>
31、<p><b> 數(shù)據(jù)庫設(shè)計(jì)結(jié)構(gòu)</b></p><p> 本設(shè)計(jì)主要由6個(gè)數(shù)據(jù)表組成:菜單表(dish),用戶表(shopper),管理員表(manager),新訂單表(neworder),添加訂單表(orderadd)存儲(chǔ)用戶的訂餐信息,留言信息表(message)存儲(chǔ)留言,這些表都集中在一個(gè)數(shù)據(jù)庫里面。</p><p><b> 數(shù)據(jù)
32、表:</b></p><p> 與用戶相關(guān)的數(shù)據(jù)表有:菜單表(dish),用戶表(shopper),新訂單表(neworder),添加訂單表(orderadd),留言信息表(message)。分別如表1,表2,表3,表4所示。</p><p> 表1 菜單表(dish)</p><p> 表2 用戶表(shopper)</p><
33、;p> 表3 新訂單表(neworder)</p><p> 表4添加訂單表(orderadd)</p><p> 表5 留言信息表(message)</p><p> 與管理員相關(guān)的數(shù)據(jù)表有:管理員表(manager),如表6。</p><p> 表6 管理員表(manager)</p><p>&l
34、t;b> 系統(tǒng)設(shè)計(jì)</b></p><p><b> 4.1系統(tǒng)總體流程</b></p><p> 系統(tǒng)的總體流程如圖1所示,注冊(cè)用戶可以進(jìn)行訂餐和留言、評(píng)分;管理員可以進(jìn)行訂單管理,留言和評(píng)分管理,用戶管理,菜單管理等操作。</p><p> 圖1 系統(tǒng)總體流程圖</p><p><b&
35、gt; 系統(tǒng)模塊設(shè)計(jì)</b></p><p> 總體分為用戶和管理員兩個(gè)模塊</p><p><b> 用戶模塊</b></p><p> 圖2 用戶模塊流程圖</p><p> 1.新用戶注冊(cè):填寫注冊(cè)信息。</p><p> 2.注冊(cè)用戶登錄:只有登錄才能查看留言和訂餐
36、。</p><p> 3.訂餐:記錄用戶的訂餐信息。</p><p> 4.留言:記錄用戶的留言和評(píng)分信息。</p><p><b> 管理員模塊</b></p><p> 圖3 管理員模塊流程圖</p><p> 1.訂單管理:對(duì)用戶的訂單進(jìn)行處理或刪除。</p><
37、;p> 2.留言管理:對(duì)用戶的留言進(jìn)行查看或刪除。</p><p> 3.用戶管理:對(duì)用戶信息進(jìn)行查看或刪除。</p><p> 4.菜單管理:對(duì)菜單進(jìn)行修改或者刪除,添加新菜品。</p><p><b> 系統(tǒng)實(shí)現(xiàn)</b></p><p><b> 用戶功能模塊實(shí)現(xiàn)</b><
38、/p><p> 用戶模塊包括:新用戶注冊(cè),注冊(cè)用戶登錄,注冊(cè)用戶訂餐,注冊(cè)用戶留言和評(píng)分。</p><p><b> 新用戶注冊(cè)</b></p><p> 用戶填寫注冊(cè)信息包括必填項(xiàng):用戶名,密碼,驗(yàn)證密碼,email;和可選填寫的信息。注冊(cè)成功后返回登錄成功頁面,可以選擇進(jìn)行訂餐和留言、評(píng)分操作。</p><p>&
39、lt;b> 流程圖如下:</b></p><p><b> 圖4 注冊(cè)流程圖</b></p><p><b> 注冊(cè)頁面設(shè)計(jì)如圖:</b></p><p><b> 圖5 注冊(cè)頁面</b></p><p> 在提交的時(shí)候,檢測(cè)用戶名是否已經(jīng)存在,若存
40、在,則返回錯(cuò)誤信息,重新填寫注冊(cè)信息。從工作流上看,只有注冊(cè)成功后才可以進(jìn)行訂餐和留言。</p><p><b> 代碼如下:</b></p><p> conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catal
41、og=dishsale;data source=32A5C0037011401;user id=sa;password=''"‘鏈接數(shù)據(jù)庫</p><p> cmd.Connection = conn</p><p> cmd.CommandType = CommandType.Text</p><p> conn.Open()<
42、;/p><p> Dim strsql As String = "select * from shopper where cshopperid='" & Trim(txtName.Text) & "'"</p><p> cmd = New SqlCommand(strsql, conn)</p><
43、;p> Dim reader As SqlDataReader = cmd.ExecuteReader() </p><p> If reader.Read() = True Then</p><p> namewrong.Text = "已有此用戶名"</p><p> conn.Close()</p><p&
44、gt;<b> Else</b></p><p> conn.Close()</p><p> 所有信息正確便將密碼加密之后,將所有信息插入數(shù)據(jù)表shopper中。</p><p><b> 代碼如下:</b></p><p> Dim conn1 As New System.Data.S
45、qlClient.SqlConnection</p><p> Dim cmd1 As New System.Data.SqlClient.SqlCommand</p><p> Dim str1 As String</p><p> Dim str2 As String</p><p> str1 = Password1.Text&
46、lt;/p><p> str2 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str1, "MD5")</p><p> ‘使用MD5加密算法加密密碼文本框的值</p><p> conn1.ConnectionString = &quo
47、t;Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"</p><p> cmd1.Connection = conn1</p><p>
48、; cmd1.CommandType = CommandType.Text</p><p> conn1.Open()</p><p> sqlstr = "insert shopper([cshopperid],[cpassword],[csex],[cage],[vaddress],[cphone],[vemail],[vmemo],[dregistertime],[d
49、lastlandtime]) values('"</p><p> sqlstr += txtName.Text & "','"</p><p> sqlstr += str2 & "','"</p><p> If man.Checked Then<
50、;/p><p> sqlstr += "男','"</p><p> ElseIf woman.Checked Then</p><p> sqlstr += "女','"</p><p><b> End If</b></p>&
51、lt;p> sqlstr += txtAge.Text & "','"</p><p> sqlstr += txtAddress.Text & "','"</p><p> sqlstr += txtPhone.Text & "','"</
52、p><p> sqlstr += txtEmail.Text & "','"</p><p> sqlstr += txtMemo.Text & "','"</p><p> sqlstr += System.DateTime.Now & "',
53、9;"</p><p> sqlstr += System.DateTime.Now & "')"</p><p> cmd1.CommandText = sqlstr ‘將注冊(cè)信息插入數(shù)據(jù)庫</p><p> cmd1.ExecuteNonQuery()</p><p> conn1.
54、Close() </p><p><b> 注冊(cè)成功頁面如下:</b></p><p><b> 圖6 注冊(cè)成功</b></p><p><b> 登錄</b></p><p> 用戶需要填寫用戶名和密碼,對(duì)輸入的用戶名與數(shù)據(jù)庫的進(jìn)行比較,若沒有則返回錯(cuò)誤,對(duì)密碼也進(jìn)行
55、判斷,因?yàn)槊艽a在保存時(shí)是經(jīng)過MD5加密的,所以在判斷的時(shí)候也把輸入的密碼先進(jìn)行MD5加密,然后進(jìn)行比較。登錄成功進(jìn)入登錄成功頁面。</p><p><b> 流程圖如下:</b></p><p><b> 圖7 登錄流程圖</b></p><p><b> 登錄頁面設(shè)計(jì)如下:</b></p
56、><p><b> 圖8 登錄頁面</b></p><p><b> 代碼如下:</b></p><p> Dim cmd As New System.Data.SqlClient.SqlCommand</p><p> conn.Open()Dim str As String</p>
57、;<p> str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txtPass.Text, "MD5") ‘使用MD5加密密碼文本框的值,用于下面跟數(shù)據(jù)庫里面的值進(jìn)行比較</p><p> cmd.CommandText = "select * from
58、shopper where cshopperid='" & Trim(txtName.Text) & "' and cpassword= '" & str & "' "</p><p> cmd.Connection = conn</p><p> Dim reader A
59、s SqlDataReader = cmd.ExecuteReader</p><p> If reader.Read() Then</p><p> Session("cshopperid") = Trim(reader("cshopperid")) ‘檢測(cè)用戶名是否已經(jīng)存在</p><p> Response.R
60、edirect("login_suc.aspx")</p><p><b> Else</b></p><p> Session("cshopperid") = Nothing</p><p> wrong.Text = "用戶名或者密碼錯(cuò)誤!"</p><p
61、><b> End If</b></p><p> conn.Close() </p><p> 登錄成功后界面如下:</p><p><b> 圖9 登錄成功</b></p><p><b> 訂餐</b></p><p> 使用DA
62、TAGRID綁定DISH表顯示菜單,在DATAGRID上每行綁定一個(gè)多選按鈕和下拉列表,進(jìn)行多選和數(shù)量的選擇。然后在文本框中輸入送餐的地點(diǎn),電話和其他的備注信息。若菜品和地址都填寫好,則進(jìn)入訂餐成功頁面,可以查看自己的訂餐信息,可以進(jìn)行修改和刪除。若錯(cuò)誤,則報(bào)告錯(cuò)誤信息,返回訂餐頁面。</p><p><b> 流程圖如下:</b></p><p><b>
63、; 圖10 訂餐流程圖</b></p><p><b> 訂餐頁面設(shè)計(jì)如下:</b></p><p><b> 圖11 訂餐頁面 </b></p><p> 綁定數(shù)據(jù),代碼如下:</p><p> '指定數(shù)據(jù)源并綁定到DataGrid控件</p><
64、p> Private Sub BindGrid()</p><p> Dim conn As New SqlConnection</p><p> Dim cmd As New SqlCommand</p><p> Dim DS As New DataSet</p><p> conn.ConnectionString =
65、"Connect Timeout=5;packet size=4096;persist security info=False;initial Catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"</p><p> conn.Open()</p><p> cmd.C
66、onnection = conn</p><p> Dim adpt1 As New SqlDataAdapter("select cdishid,vdishname 菜品名稱,cdishrate 價(jià)格,vdishdescription 口味 from dish", conn) ‘顯示dish表的內(nèi)容</p><p> adpt1.Fill(DS, "
67、OUTER")</p><p> DataGrid1.DataSource = DS</p><p> DataGrid1.DataBind()</p><p> conn.Close()</p><p><b> End Sub </b></p><p> ‘在綁定每行時(shí),判
68、斷多選按鈕的狀態(tài)和下拉列表的狀態(tài)</p><p> Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound</p><p> If e.It
69、em.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then</p><p> Dim offset As Integer</p><p> offset = txtSaveValue.Value.IndexOf(CType(e.Item.Cells(1).FindContr
70、ol("TitleShow"), Literal).Text)</p><p> If txtSaveValue.Value.IndexOf(CType(e.Item.Cells(1).FindControl("TitleShow"), Literal).Text) >= 0 Then</p><p> Dim ChkSelected As
71、 HtmlInputCheckBox = CType(e.Item.Cells(0).FindControl("ChkSelect"), HtmlInputCheckBox)</p><p> ChkSelected.Checked = True</p><p> offset = txtSaveValue.Value.IndexOf(",",
72、offset)</p><p> Dim numoffset As String</p><p> numoffset = txtSaveValue.Value.Substring(offset + 1, 1)</p><p> Dim NumSelected As HtmlSelect = CType(e.Item.Cells(2).FindControl(
73、"snumber"), HtmlSelect)</p><p> Dim x As Integer</p><p> x = CInt(numoffset) - 1</p><p> NumSelected.SelectedIndex = x</p><p><b> End If</b>&l
74、t;/p><p><b> End If</b></p><p><b> End Sub</b></p><p> 在點(diǎn)擊提交時(shí),判斷選定的菜品及數(shù)量和輸入的信息,并插入數(shù)據(jù)庫。</p><p><b> 代碼如下:</b></p><p> P
75、rivate Sub Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit.Click</p><p> If txtSaveValue.Value = "" Then</p><p> Me.lb_info.Text = "請(qǐng)選擇菜品
76、!"</p><p> ElseIf Request("memo") = "" Then</p><p> Me.lb_info.Text = "請(qǐng)輸入您的地址!"</p><p><b> Else</b></p><p> GetDishC
77、art() ‘調(diào)用GetDishCart將數(shù)據(jù)寫入數(shù)據(jù)庫</p><p> Me.lb_info.Text = "suc"</p><p> Response.Write("<SCRIPT language=JavaScript>alert('提交成功!');")</p><p> Res
78、ponse.Write("this.location.href='order_suc.aspx';</SCRIPT>")</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Private Sub GetD
79、ishCart()</p><p> Dim IdList() As String = txtSaveValue.Value.ToString().Split(";")</p><p> Dim tconn As New SqlConnection</p><p> Dim tcmd As New SqlCommand</p>
80、<p> Dim objReader As SqlDataReader</p><p> Dim x As Integer</p><p> tconn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsa
81、le;data source=32A5C0037011401;user id=sa;password=''"</p><p> tconn.Open()</p><p> tcmd.Connection = tconn</p><p> tcmd.CommandText = "select orderid from newo
82、rder order by oid desc"</p><p> objReader = tcmd.ExecuteReader()</p><p> If objReader.Read Then</p><p> x = CInt(objReader("orderid")) + 1</p><p><
83、;b> End If</b></p><p> objReader.Close()</p><p> tconn.Close()</p><p> For i As Integer = 0 To IdList.Length - 2 Step 1</p><p> Dim NuList() As String = I
84、dList(i).Split(",")</p><p> tconn.Open()</p><p> tcmd.CommandType = CommandType.StoredProcedure</p><p> tcmd.CommandText = "orderinsert" ‘調(diào)用存儲(chǔ)過程向neworder表
85、插入數(shù)據(jù)</p><p> tcmd.Parameters.Clear()</p><p> tcmd.Parameters.Add(New SqlParameter("@orderid", x))</p><p> tcmd.Parameters.Add(New SqlParameter("@dishid", NuLi
86、st(0)))</p><p> tcmd.Parameters.Add(New SqlParameter("@dishnumber", NuList(1)))</p><p> tcmd.Parameters.Add(New SqlParameter("@userid", Session("cshopperid")))<
87、;/p><p> tcmd.Parameters.Add(New SqlParameter("@birdate", DateTime.Now.ToLongDateString()))</p><p> tcmd.ExecuteNonQuery()</p><p> tconn.Close()</p><p><b&
88、gt; Next</b></p><p><b> '插入相應(yīng)訂單地址</b></p><p> Dim tsql As String</p><p> tsql = "Insert into orderadd values('" & x & "',
89、9;" & Request("memo") & "')"</p><p> tcmd.CommandType = CommandType.Text</p><p> tcmd.CommandText = tsql</p><p> tconn.Open()</p><
90、p> tcmd.ExecuteNonQuery()</p><p> tconn.Close()</p><p> Session("orderid") = CStr(x)</p><p><b> End Sub </b></p><p> 訂餐成功后,頁面如下:</p>
91、<p> 圖12 訂餐成功頁面</p><p><b> 留言</b></p><p> 在留言頁面,用戶可以對(duì)服務(wù)進(jìn)行評(píng)分,同時(shí)進(jìn)行留言</p><p> 對(duì)留言的顯示同樣采用DATAGRID對(duì)數(shù)據(jù)庫進(jìn)行讀取然后顯示。提交留言的時(shí)候?qū)Ψ謹(jǐn)?shù)進(jìn)行判斷,然后對(duì)留言內(nèi)容是否為空進(jìn)行判斷,然后寫進(jìn)數(shù)據(jù)庫。</p>&
92、lt;p><b> 流程圖如下:</b></p><p><b> 圖13 留言流程圖</b></p><p><b> 代碼如下:</b></p><p> If Request("word") = "" Then</p><
93、p> Response.Write("<SCRIPT language=JavaScript>alert('留言信息不能為空!');")</p><p> Response.Write("this.location.href='message.aspx';</SCRIPT>")</p><
94、p><b> End If</b></p><p> sqlstr = "insert message([cmessageid],[cshopperid],[dmessagetime],[cscore],[vmessage]) values('++ cmessageid ','" & Session("cshopperi
95、d") & "','" & System.DateTime.Now & "','"</p><p><b> ‘判斷評(píng)分的分?jǐn)?shù)值</b></p><p> If s1.Checked Then</p><p> sqlstr += &
96、quot;1','"</p><p> ElseIf s2.Checked Then</p><p> sqlstr += "2','"</p><p> ElseIf s3.Checked Then</p><p> sqlstr += "3','
97、;"</p><p> ElseIf s4.Checked Then</p><p> sqlstr += "4','"</p><p> ElseIf s5.Checked Then</p><p> sqlstr += "5','"</p>
98、;<p><b> End If</b></p><p> sqlstr += Request("word") & "')"</p><p> cmd1.CommandText = sqlstr</p><p> cmd1.ExecuteNonQuery()</
99、p><p> conn1.Close()</p><p> BindGrid()</p><p> Response.Write("<SCRIPT language=JavaScript>alert('留言成功!');")</p><p> Response.Write("this
100、.location.href='message.aspx ';</SCRIPT>")</p><p> 留言成功后,將DATAGRID重新綁定,返回到留言頁面。</p><p><b> 管理員模塊</b></p><p> 在此模塊中,采用技術(shù)都是一樣的,所以同一種操作只列出一個(gè)。</p>
101、;<p><b> 訂單管理</b></p><p> 使用DATAGRID綁定數(shù)據(jù)庫顯示訂單信息,</p><p> 訂單信息分為三類,已經(jīng)確認(rèn)的和沒有確認(rèn)的還有已經(jīng)處理的。</p><p> 沒有確認(rèn)的訂單信息,管理員都可以進(jìn)行確認(rèn)或者刪除。</p><p><b> 流程圖如下:&
102、lt;/b></p><p> 圖14 訂單管理流程圖</p><p><b> 確認(rèn)訂單代碼如下:</b></p><p> 'command事件處理</p><p> Sub PickArt(ByVal sender As Object, ByVal e As DataGridCommandEv
103、entArgs)</p><p> If e.CommandName = "Delete" Then</p><p> Dim Selected_Id As Integer</p><p> Selected_Id = CInt(e.Item.Cells(2).Text)</p><p> Dim conn As
104、New SqlConnection</p><p> Dim cmd As New SqlCommand</p><p> conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial Catalog=dishsale;data source=32
105、A5C0037011401;user id=sa;password=''"</p><p> conn.Open()</p><p> cmd.Connection = conn</p><p> '形成delete語句</p><p> cmd.CommandText = "delete
106、from neworder where dishid =" & Selected_Id</p><p> cmd.ExecuteNonQuery()</p><p> conn.Close()</p><p> ElseIf e.CommandName = "Select" Then</p><p>
107、; Dim Selected_Id As Integer</p><p> Selected_Id = CInt(e.Item.Cells(2).Text)</p><p> Dim conn As New SqlConnection</p><p> Dim cmd As New SqlCommand</p><p> conn.
108、ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial Catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"</p><p> conn.Open()</p>
109、;<p> cmd.Connection = conn</p><p> '形成更新語句修改處理的標(biāo)志位</p><p> cmd.CommandText = "update neworder set status= status+1 where dishid =" & Selected_Id</p><p>
110、 cmd.ExecuteNonQuery()</p><p> conn.Close()</p><p> 處理訂單操作和確認(rèn)訂單相似,都含有處理和刪除兩個(gè)按鈕列,以便于進(jìn)行操作。所有已經(jīng)處理過的訂單,都可以通過另一個(gè)頁面進(jìn)行管理操作,里面只包含了一個(gè)按鈕列:刪除。 </p><p><b> 留言管理</b></p>&
111、lt;p> 使用DATAGRID綁定數(shù)據(jù)庫顯示留言信息,在DATAGRID上添加一列按鈕列進(jìn)行刪除操作。</p><p><b> 流程圖如下:</b></p><p> 圖15 留言管理流程圖</p><p><b> 代碼如下:</b></p><p><b>
112、9;刪除事件處理</b></p><p> Sub PickArt(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)</p><p> If e.CommandName = "Delete" Then</p><p> Dim Selected_Id As
113、Integer</p><p> Selected_Id = CInt(e.Item.Cells(1).Text)</p><p> Dim conn As New SqlConnection</p><p> Dim cmd As New SqlCommand</p><p> conn.ConnectionString = &qu
114、ot;Connect Timeout=5;packet size=4096;persist security info=False;initial Catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"</p><p> conn.Open()</p><p> cmd.Conn
115、ection = conn</p><p> '形成delete語句</p><p> cmd.CommandText = "delete from message where id =" & Selected_Id</p><p> cmd.ExecuteNonQuery()</p><p> c
116、onn.Close()</p><p><b> End If</b></p><p> BindGrid()</p><p><b> End Sub</b></p><p><b> 菜單管理</b></p><p> 使用DATAGRID
117、綁定數(shù)據(jù)庫顯示留言信息,在DATAGRID上添加兩個(gè)按鈕列進(jìn)行刪除操作和更新操作,還可進(jìn)行新菜品的添加。</p><p><b> 流程圖如下:</b></p><p> 圖16 菜單管理流程圖</p><p><b> 添加菜品代碼如下:</b></p><p> cmd1.Command
118、Text = "select max(cdishid) maxcdishid from dish" ‘查找菜品ID 的最大值</p><p> objReader = cmd1.ExecuteReader()</p><p> If objReader.Read Then</p><p> x = CInt(objReader("
119、;maxcdishid")) + 1 ‘將最大值+1</p><p><b> End If</b></p><p> objReader.Close() </p><p> conn2.ConnectionString = "Connect Timeout=5;packet size=4096;persist
120、 security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"</p><p> cmd2.Connection = conn2</p><p> cmd2.CommandType = CommandType.Text</p
121、><p> conn2.Open()</p><p> strsql = "Insert Into dish (cdishid,vdishname,vdishdescription,cdishrate ) Values('x','" & Trim(name.Text) & "','" &
122、 Trim(description.Text) & "','" & Trim(dishrate.Text) & "')"</p><p> cmd2.CommandText = strsql</p><p> cmd2.ExecuteNonQuery() ‘將新菜品的信息插入數(shù)據(jù)庫</p
123、><p> conn2.Close()</p><p> Response.Write("<SCRIPT language=JavaScript>alert('操作成功!');")</p><p> Response.Write("this.location.href='menumanage.asp
124、x ';</SCRIPT>")</p><p><b> 用戶管理</b></p><p> 同樣采用DATAGRID綁定數(shù)據(jù)庫進(jìn)行顯示,在DATAGRID上添加按鈕列:刪除,進(jìn)行刪除操作。</p><p><b> 流程圖如下:</b></p><p> 圖1
125、7 用戶管理流程圖</p><p><b> 結(jié) 論</b></p><p> 隨著互聯(lián)網(wǎng)的興起和普及,網(wǎng)絡(luò)信息化的發(fā)展,在線訂餐作為一種較為典型的Web電子商務(wù)系統(tǒng)也迅速的發(fā)展并深入人們的日常生活中。Web訂餐系統(tǒng)跨越了時(shí)間和空間的限制,給餐飲業(yè)帶來了不一樣的變革,也給消費(fèi)者帶來了便捷。</p><p> 本系統(tǒng)采用B/S(Brow
126、ser/Server)結(jié)構(gòu)進(jìn)行設(shè)計(jì),使用SQL Server 2000構(gòu)建數(shù)據(jù)庫,并在.NET環(huán)境下使用Visual Basic.net語言開發(fā)的一個(gè)功能較為完善的訂餐系統(tǒng)。其具有一定的實(shí)用性,用戶可以在網(wǎng)上瀏覽菜單,瀏覽留言和評(píng)分,訂餐,留言和評(píng)分;同時(shí),管理員也可以對(duì)整個(gè)系統(tǒng)的信息和數(shù)據(jù)進(jìn)行管理,可以管理菜單信息、會(huì)員信息、留言信息和訂單信息。</p><p> 雖然這次的訂餐系統(tǒng)它是電子商務(wù)系統(tǒng),但是它只
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——基于web的訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文--基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文】
- 畢業(yè)設(shè)計(jì)(論文)基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文-----網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于jsp的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 基于php的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于jsp的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)論文(二稿).doc
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)論文(終稿).doc
- 基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文 基于web在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文(設(shè)計(jì))基于web考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)論文(一稿).doc
- 畢業(yè)論文--基于web的商場(chǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的招投標(biāo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 畢業(yè)論文---基于bs的網(wǎng)上訂餐系統(tǒng)設(shè)計(jì)
- 基于web新聞發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論