本站簡介作品介紹購買指南發布作品訂做說明專業誠信
本站收錄了大量的畢業設計和論文 [vison]       本站提供這些設計的初衷 [vison]      
管理系統 學生 計算機 教學 信息 電路 汽車 模具 網站 建筑
您現在的位置:首頁 >> 理工論文計算機信息

基于web的網上訂餐系統的設計與實現

編輯:admin 來源:papersay.com   客服QQ:281788421 (為了更好的為您服務,請先加好友再咨詢)


 

基于web的訂餐系統的設計與實現
摘要
隨著市場、經濟的全球化,越來越多的企業認識到:提高企業的競爭力,選擇信息化是必由之路。本文論述的訂餐系統是針對餐飲娛樂業而設計的一種商務服務網站。其主要功能是完成外賣的前期和輔助工作,即通過網絡進行定餐和對服務進行評價。而餐飲工作流程的其他部分如送外賣、付款等后期工作依舊采用傳統方式。
微軟的. NET平臺作為新一代的互聯網平臺,提供了支持未來計算的高效的Web服務開發工具。利用.NET平臺進行訂餐系統的開發是此類系統未來開發的趨勢之一。本文所設計的系統在.NET平臺上進行開發,采用了最新的ASP.NET技術,用VB.NET進行了編碼,并使用SQL server進行數據庫設計,基本實現了預定的目標,建立起一個比較完整的外賣系統。其特點是方便快捷的操作方式,簡單易懂的管理方法,因此對于企業和用戶來說,都是一種新型的、節約型的系統。

關鍵詞:企業信息化;訂餐系統;.NET;ASP.NET;SQL server
 

The Design and Implementation of Bespeak Meal System Based on Web
Abstract
With the globalization of market and economy, more and more enterprises realize that informatization is the only way to elevate their competence. Management Information System (MIS) is a critical component of Enterprise informatization。
When diversified electronic business affairs web 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 traditional methods.
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 necessarily 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 comparatively entire Bespeak Meal system is completed, which satisfies the general requirements. As a new, conservation-oriented system, it is simple operation for user and manager.

Key Words: Enterprise Informatization; Bespeak Meal System; .NET; ASP.NET; SQL server
 
目   錄
論文總頁數:24頁
1引言 1
1.1 課題背景 1
1.2 本課題的研究內容 1
1.3 本課題研究的意義 1
2 開發環境和相關技術 2
2.1 .NET開發平臺及VB.NET開發語言 2
2.2 信息安全性 2
3 數據庫設計 3
3.1 關于SQL語言 3
3.2 數據庫設計結構 3
4 系統設計 5
4.1系統總體流程 5
4.1 系統模塊設計 6
4.1.1 用戶模塊 6
4.1.2 管理員模塊 8
5 系統實現 8
5.1 用戶功能模塊實現 8
5.1.1 新用戶注冊 8
5.1.2 登錄 11
5.1.3 訂餐 12
5.1.4 留言 16
5.2 管理員模塊 17
5.2.1 訂單管理 17
5.2.2 留言管理 19
5.2.3 菜單管理 20
5.2.4 用戶管理 21
結   論 21
參考文獻 22
致    謝 23
聲    明 24
 
1引言
1.1 課題背景
隨著21世紀網絡信息時代的到來,現代社會都是利用快速高效率的Internet來傳播大量信息資源。人們通過IE瀏覽信息,當然這種方式也是最常用的,這種方式的需求形成了電子商務。它的是指利用簡單、快捷、低成本的電子通訊方式,買賣雙方不出面也可以進行各種商貿活動。電子商務真正的發展將是建立在Internet技術上。
現代化企業越來越明白,為了提高產品的銷量,贏得更多的客戶,不僅要在產品生產制造這一前方戰場上增加實力,還必須在服務和效率上投入更多的力量。在產品質量相差不大的情況下,誰的服務好,效率高,誰就能贏得更多的顧客。這也是當今市場經濟競爭機制下對企業的客觀要求。
近年來,由于互聯網技術的飛速發展及其逐步普及,企業對信息進行網絡化管理的條件已經日趨成熟,而傳統的通過電話和傳真來處理信息的傳統方式已經越來越難以滿足企業的需求。

計算機畢業設計論文網www.pdzuhx.tw
建立基于網絡的管理和銷售信息系統,成為企業提高效率、降低成本、完善服務的有力保證。而對于餐飲業,由于一個行業本身的特性,它的流通性是非常高的,所以更對企業的效率提出了更高的要求。
微軟的NET平臺作為新一代的互聯網平臺,提供了支持未來計算的高效的Web服務開發工具。利用.NET平臺進行管理和銷售系統的開發成為此類系統未來開發的趨勢。
1.2 本課題的研究內容
本系統采用B/S(Browser/Server)結構進行設計,使用SQL Server 2000構建數據庫,并在.NET環境下使用Visual Basic.net語言開發的一個功能較為完善的訂餐系統。其具有一定的實用性,用戶可以在網上瀏覽菜單,瀏覽留言和評分,訂餐,留言和評分;同時,管理員也可以對整個系統的信息和數據進行管理,可以管理菜單信息、會員信息、留言信息和訂單信息。
1.3 本課題研究的意義
本課題的目標是將傳統的通過電話和面對面的銷售的方式,轉換到基于網絡這樣一個更方便快捷的方式。為企業節約了很多的時間和精力。時間就是金錢,對企業來說,節約時間就是節約成本,就是盈利。對用戶來說,足不出戶,就可以購買到自己想要吃的東西,對于所有的上班族來說,無疑是好之又好的事情。而且現在的網絡發展速度相當的驚人,那么基于網絡的訂餐也會越來越流行,必定是一個趨勢。
2 開發環境和相關技術
2.1 .NET開發平臺及VB.NET開發語言
.NET框架是Microsoft公司推出的一種全新的開發平臺,提供了統一的、面向對象并且可以擴展的編程類庫和完善的集成開發環境,大大簡化了應用程序的開發過程,并且具有良好的移植性和安全性。ASP.NET是建立在公共語言運行庫上的Web編程框架,相對于ASP而言,ASP.NET提供了更強的性能、更方便的工具支持、更好的平臺支持和靈活性。其一大革命性進步是可以將應用程序邏輯與表示代碼清楚地分開,這樣一來Web應用程序的開發人員可以使用和Windows桌面程序開發類似的編程模型,從而大大降低了開發難度。
同時,ASP.NET在進行用戶界面開發和基礎程序結構生成時具有很多優勢。首先,ASP.NET是一個已編譯的、基于.NET的開發環境,利用整個.NET框架,開發人員可以方便的進行程序開發;其次,ASP.NET可以無縫地與其它HTML編輯器及其編程工具一起工作,使得Web開發更加方便;再次,在ASP.NET中利用.NET框架中的ADO.NET的強大功能,可以高效便捷的訪問數據庫,ASP.NET提供了簡單的模型,該模型使開發人員能夠編寫應用程序的運行邏輯,并且保留了會話狀態功能;最后,.NET框架和ASP.NET中提供了默認授權和驗證方案,可以根據需要方便地移除、添加或者替換這些方案。
Visual Basic.NET語言是Visual Basic 6.0的后繼版本,但它除了在語法上還保留Visual Basic原有的蹤影外,在其他的很多方面都和Visual Basic截然不同。
Visual Basic.NET是一種完全面向對象的BASIC語言,它能夠繼承,重載,共享成員,結構化異常處理。它有強壯的語言,嚴格的類型檢查,變量聲明時候初始化,支持垃圾收集。功能強大,支持委托,Freethreading、Variant數據類型被Object代替。VB.NET還提供了很多的類型轉換函數型運算符,如果不是標準類型,就要用函數型運算符CType來實現。在本次課題中也有一定的使用。
2.2 信息安全性
在大多數系統中,用戶的密碼信息在數據庫中是以明文的方式存放的,數據庫管理員稍有疏忽就有可能導致用戶的隱私泄漏,尤其是對于一些涉及金融、商業領域的網絡應用,這一點漏洞將會導致十分嚴重的后果。所以,為了加強本系統信息的安全性,在用戶登錄模塊中,對密碼這樣的敏感信息進行加密是十分必要的。本課題使用了一種常見的哈希加密算法——MD5加密算法。MD5加密算法是不可逆的,經過哈希加密的數據是沒有相應的解密算法回到原狀的,在應用中是通過比較兩個數據的哈希值是否相等,從而達到校驗的目的。本課題中,在新客戶注冊的時候,對客戶設置的登錄密碼用MD5加密算法進行加密,那么存入數據庫的將是客戶登錄密碼的MD5哈希值,在登錄驗證時根據用戶輸入的密碼計算響應的MD5哈希值進行比較。
可見,通過MD5算法實現了數據的加密存儲和驗證,同時,MD5加密是不可逆的,即使惡意攻擊者獲得了數據庫的訪問權限,也仍然無法得知用戶的密碼信息,從而提高了系統的安全性!
3 數據庫設計
3.1 關于SQL語言
SQL語言作為關系數據庫管理系統中的一種通用的結構化查詢語言,已經被眾多的數據庫管理系統所采用。使用Visual Basic.NET開發數據庫應用程序時,用戶可以使 SQL語言編程,這是Visual Basic.NET作為一個強大的數據庫應用開發工具的一個重要標志。
SQL語言被廣泛采用是因為它有很多的優點:它是一個非過程化的語言,一次處理一個記錄,對數據提供自動導航;SQL允許用戶在高層的數據結構上工作,而部隊單個記錄進行操作,可操作記錄集;接受集合作為輸入,返回集合作為輸出;允許一條SQL語句的結果作為另一條SQL語句的輸入。SQL不要求用戶指定對數據的存放方法,是用戶更易集中精力于要得到的記過。SQL可用于所有的用戶,包括系統管理員、數據庫管理員、應用程序員、決策支持系統人員及許多其他類型的中斷用戶。由于所有的主要的關系數據庫管理系統都支持SQL語言,用戶可以將使用SQL的技能從一個關系數據庫管理系統轉到另一個;所有用SQL編寫的程序都是可以移植的。
3.2 數據庫設計結構
本設計主要由6個數據表組成:菜單表(dish),用戶表(shopper),管理員表(manager),新訂單表(neworder),添加訂單表(orderadd)存儲用戶的訂餐信息,留言信息表(message)存儲留言,這些表都集中在一個數據庫里面。
數據表:
與用戶相關的數據表有:菜單表(dish),用戶表(shopper),新訂單表(neworder),添加訂單表(orderadd),留言信息表(message)。分別如表1,表2,表3,表4所示。


表1 菜單表(dish)
主鍵和外鍵均為(cdishid)
列名 中文名稱 數據類型 長度 是否允許空
Cdishid 菜品編號 Char 10 Not null
Vdishname 菜名 Varchar 60 Not null
Vdishdescription 簡介 Varchar 300 Not null
Cdishrate 價格 Char 10 Not null
表2

計算機畢業設計論文網www.pdzuhx.tw
用戶表(shopper)
主鍵和外鍵均為(cshopperid)
列名 中文名稱 數據類型 長度 是否允許空
Cshopperid 用戶名 Char 10 Not null
Cpassword 密碼 Char 50 Not null
Vemail 電子郵箱 Varchar 50 Not null
Cphone 電話 Char 15 Null
Vmemo 備注 Varchar 200 Null
Csex 性別 Char 10 Not null
Cage 年齡 Char 10 Null
Dregistertime 注冊時間 Datatime 8 Not null
Dlastlandtime 最后登錄時間 Datatime 8 Null
Vaddress 地址 Varchar 50 null
表3 新訂單表(neworder)
主鍵為(oid) 外鍵為(dishid和userid)
列名 中文名稱 數據類型 長度 是否允許空
oid 訂單序號 numeric 9 Not null
Orderid 訂單號 Char 10 Not null
Dishnumber 數量 Int 4 Not null
Userid 用戶名 Char 10 Not null
Status 是否確認 Int 4 Not null
dedate 處理日期 varChar 20 Null
Birdate 訂餐時間 Varchat 20 Not null
表4添加訂單表(orderadd)
列名 中文名稱 數據類型 長度 是否允許空
Orderid 訂單號 Char 10 Not null
Orderaddress 送餐地址 Varchar 50 Not null
表5 留言信息表(message)
主鍵為(cmessageid)外鍵為(cshopperid)
列名 中文名稱 數據類型 長度 是否允許空
Cmessageid 留言編號 Char 10 Not null
Cshopperid 用戶 Char 10 Not null
Dmessagetime 留言時間 Datatime 8 Not null
Vmessage 留言內容 Varchar 500 Not null
Cscore 評分 Char 10 Not null
與管理員相關的數據表有:管理員表(manager),如表6。
表6 管理員表(manager)
主鍵為和外鍵均為(cmanagerid)
列名 中文名稱 數據類型 長度 是否允許空
Cmanagerid 管理員ID Char 20 Not null
Cpassword 密碼 Char 50 Not null
cpurview 權限 Char 10 Not null
4 系統設計
4.1系統總體流程
系統的總體流程如圖1所示,注冊用戶可以進行訂餐和留言、評分;管理員可以進行訂單管理,留言和評分管理,用戶管理,菜單管理等操作。

 

 

 

 

 

 

 

圖1 系統總體流程圖

4.1 系統模塊設計
總體分為用戶和管理員兩個模塊
4.1.1 用戶模塊
圖2 用戶模塊流程圖
1.新用戶注冊:填寫注冊信息。
2.注冊用戶登錄:只有登錄才能查看留言和訂餐。
3.訂餐:記錄用戶的訂餐信息。
4.留言:記錄用戶的留言和評分信息。
 
4.1.2 管理員模塊

 

 

 

 


圖3 管理員模塊流程圖
1.訂單管理:對用戶的訂單進行處理或刪除。
2.留言管理:對用戶的留言進行查看或刪除。
3.用戶管理:對用戶信息進行查看或刪除。
4.菜單管理:對菜單進行修改或者刪除,添加新菜品。
5 系統實現
5.1 用戶功能模塊實現
用戶模塊包括:新用戶注冊,注冊用戶登錄,注冊用戶訂餐,注冊用戶留言和評分。

5.1.1 新用戶注冊
用戶填寫注冊信息包括必填項:用戶名,密碼,驗證密碼,email;和可選填寫的信息。注冊成功后返回登錄成功頁面,可以選擇進行訂餐和留言、評分操作。
流程圖如下:


圖4 注冊流程圖
注冊頁面設計如圖:
圖5 注冊頁面
在提交的時候,檢測用戶名是否已經存在,若存在,則返回錯誤信息,重新填寫注冊信息。從工作流上看,只有注冊成功后才可以進行訂餐和留言。
代碼如下:
        conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011

計算機畢業設計論文網www.pdzuhx.tw
401;user id=sa;password=''"‘鏈接數據庫
        cmd.Connection = conn
        cmd.CommandType = CommandType.Text

        conn.Open()
        Dim strsql As String = "select * from shopper where cshopperid='" & Trim(txtName.Text) & "'"
        cmd = New SqlCommand(strsql, conn)
        Dim reader As SqlDataReader = cmd.ExecuteReader()
        If reader.Read() = True Then
            namewrong.Text = "已有此用戶名"
            conn.Close()
        Else
            conn.Close()
所有信息正確便將密碼加密之后,將所有信息插入數據表shopper中。
代碼如下:
              Dim conn1 As New System.Data.SqlClient.SqlConnection
                Dim cmd1 As New System.Data.SqlClient.SqlCommand

                Dim str1 As String
                Dim str2 As String
                str1 = Password1.Text
                str2 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str1, "MD5")
‘使用MD5加密算法加密密碼文本框的值
                conn1.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"
                cmd1.Connection = conn1
                cmd1.CommandType = CommandType.Text

                conn1.Open()
                sqlstr = "insert shopper([cshopperid],[cpassword],[csex],[cage],[vaddress],[cphone],[vemail],[vmemo],[dregistertime],[dlastlandtime]) values('"
                sqlstr += txtName.Text & "','"
                sqlstr += str2 & "','"
       &nbs

計算機畢業設計論文網www.pdzuhx.tw
p;        If man.Checked Then
                    sqlstr += "男','"
                ElseIf woman.Checked Then
                    sqlstr += "女','"
                End If
                sqlstr += txtAge.Text & "','"
                sqlstr += txtAddress.Text & "','"
                sqlstr += txtPhone.Text & "','"
                sqlstr += txtEmail.Text & "','"
                sqlstr += txtMemo.Text & "','"
                sqlstr += System.DateTime.Now & "','"
                sqlstr += System.DateTime.Now & "')"
                cmd1.CommandText = sqlstr  ‘將注冊信息插入數據庫
                cmd1.ExecuteNonQuery()
                conn1.Close()
注冊成功頁面如下:
 
圖6 注冊成功
5.1.2 登錄
用戶需要填寫用戶名和密碼,對輸入的用戶名與數據庫的進行比較,若沒有則返回錯誤,對密碼也進行判斷,因為密碼在保存時是經過MD5加密的,所以在判斷的時候也把輸入的密碼先進行MD5加密,然后進行比較。登錄成功進入登錄成功頁面。
流程圖如下:
圖7 登錄流程圖
登錄頁面設計如下:
圖8 登錄頁面

代碼如下:
  Dim cmd As New System.Data.SqlClient.SqlCommand

        conn.Open()Dim str As String
        str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(txtPass.Text, "MD5")  ‘使用MD5加密密碼文本框的值,用于下面跟數據庫里面的值進行比較
        cmd.CommandText = "select * from shopper where cshopperid='" & Trim(txtName.Text) & "' and cpassword= '" & str & "' "

        cmd.Connection = conn
        Dim reader As SqlDataReader = cmd.ExecuteReader

        If reader.Read() Then
            Session("cshopperid") = Trim(reader("cshopperid"))   ‘檢測用戶名是否已經存在
       

計算機畢業設計論文網www.pdzuhx.tw
;                Response.Redirect("login_suc.aspx")
        Else
            Session("cshopperid") = Nothing
            wrong.Text = "用戶名或者密碼錯誤!"
        End If
        conn.Close()
登錄成功后界面如下:
圖9 登錄成功

5.1.3 訂餐
使用DATAGRID綁定DISH表顯示菜單,在DATAGRID上每行綁定一個多選按鈕和下拉列表,進行多選和數量的選擇。然后在文本框中輸入送餐的地點,電話和其他的備注信息。若菜品和地址都填寫好,則進入訂餐成功頁面,可以查看自己的訂餐信息,可以進行修改和刪除。若錯誤,則報告錯誤信息,返回訂餐頁面。
流程圖如下:

圖10 訂餐流程圖
訂餐頁面設計如下:

圖11 訂餐頁面
綁定數據,代碼如下:
    '指定數據源并綁定到DataGrid控件
    Private Sub BindGrid()

        Dim conn As New SqlConnection
        Dim cmd As New SqlCommand
        Dim DS As New DataSet
        conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial Catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"

        conn.Open()
        cmd.Connection = conn
        Dim adpt1 As New SqlDataAdapter("select cdishid,vdishname 菜品名稱,cdishrate 價格,vdishdescription 口味  from dish", conn)  ‘顯示dish表的內容
        adpt1.Fill(DS, "OUTER")
        DataGrid1.DataSource = DS
        DataGrid1.DataBind()
        conn.Close()
    End Sub
‘在綁定每行時,判斷多選按鈕的狀態和下拉列表的狀態
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
        If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
          
            Dim offset As Integer
            offset = txtSaveValue.Value.IndexOf(CType(e.Item.Cells(1).FindControl("TitleShow"), Literal).Text)
            If txtSaveValue.Value.IndexOf(CType(e.Item.Cells(1).FindControl("TitleShow"), Literal).Text) >= 0 Then
                Dim ChkSelected As HtmlInputCheckBox = CType(e.Item.Cells(0).FindControl("ChkSelect"), HtmlInputCheckBox)
            &nbs

計算機畢業設計論文網www.pdzuhx.tw
p;   ChkSelected.Checked = True
                offset = txtSaveValue.Value.IndexOf(",", offset)
                Dim numoffset As String
                numoffset = txtSaveValue.Value.Substring(offset + 1, 1)
                Dim NumSelected As HtmlSelect = CType(e.Item.Cells(2).FindControl("snumber"), HtmlSelect)
                Dim x As Integer
                x = CInt(numoffset) - 1
                NumSelected.SelectedIndex = x
            End If
        End If
    End Sub
在點擊提交時,判斷選定的菜品及數量和輸入的信息,并插入數據庫。
代碼如下:
     Private Sub Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit.Click
        If txtSaveValue.Value = "" Then
            Me.lb_info.Text = "請選擇菜品!"
        ElseIf Request("memo") = "" Then
            Me.lb_info.Text = "請輸入您的地址!"
        Else
            GetDishCart()   ‘調用GetDishCart將數據寫入數據庫
            Me.lb_info.Text = "suc"
            Response.Write("<SCRIPT language=JavaScript>alert('提交成功!');")
            Response.Write("this.location.href='order_suc.aspx';</SCRIPT>")
        End If
    End Sub

    Private Sub GetDishCart()
        Dim IdList() As String = txtSaveValue.Value.ToString().Split(";")
        Dim tconn As New SqlConnection
        Dim tcmd As New SqlCommand
        Dim objReader As SqlDataReader
        Dim x As Integer
        tconn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"
    

計算機畢業設計論文網www.pdzuhx.tw
    tconn.Open()
        tcmd.Connection = tconn
        tcmd.CommandText = "select orderid from neworder order by  oid desc"
        objReader = tcmd.ExecuteReader()
        If objReader.Read Then
            x = CInt(objReader("orderid")) + 1
        End If
        objReader.Close()
        tconn.Close()

        For i As Integer = 0 To IdList.Length - 2 Step 1
            Dim NuList() As String = IdList(i).Split(",")
            tconn.Open()
            tcmd.CommandType = CommandType.StoredProcedure
            tcmd.CommandText = "orderinsert"     ‘調用存儲過程向neworder表插入數據
            tcmd.Parameters.Clear()
            tcmd.Parameters.Add(New SqlParameter("@orderid", x))
            tcmd.Parameters.Add(New SqlParameter("@dishid", NuList(0)))
            tcmd.Parameters.Add(New SqlParameter("@dishnumber", NuList(1)))
            tcmd.Parameters.Add(New SqlParameter("@userid", Session("cshopperid")))
            tcmd.Parameters.Add(New SqlParameter("@birdate", DateTime.Now.ToLongDateString()))
            tcmd.ExecuteNonQuery()
            tconn.Close()
        Next
        '插入相應訂單地址
        Dim tsql As String
        tsql = "Insert into orderadd values('" & x & "','" & Request("memo") & "')"
        tcmd.CommandType = CommandType.Text
        tcmd.CommandText = tsql
        tconn.Open()
        tcmd.ExecuteNonQuery()
        tconn.Close()
        Session("orderid") = CStr(x)
    End Sub
訂餐成功后,頁面如下:
圖12 訂餐成功頁面

5.1.4 留言
在留言頁面,用戶可以對服務進行評分,同時

計算機畢業設計論文網www.pdzuhx.tw
進行留言
對留言的顯示同樣采用DATAGRID對數據庫進行讀取然后顯示。提交留言的時候對分數進行判斷,然后對留言內容是否為空進行判斷,然后寫進數據庫。
流程圖如下:
圖13 留言流程圖
代碼如下:
If Request("word") = "" Then
            Response.Write("<SCRIPT language=JavaScript>alert('留言信息不能為空!');")
            Response.Write("this.location.href='message.aspx';</SCRIPT>")
        End If

        sqlstr = "insert message([cmessageid],[cshopperid],[dmessagetime],[cscore],[vmessage]) values('++ cmessageid ','" & Session("cshopperid") & "','" & System.DateTime.Now & "','"
‘判斷評分的分數值
        If s1.Checked Then
            sqlstr += "1','"
        ElseIf s2.Checked Then
            sqlstr += "2','"
        ElseIf s3.Checked Then
            sqlstr += "3','"
        ElseIf s4.Checked Then
            sqlstr += "4','"
        ElseIf s5.Checked Then
            sqlstr += "5','"
        End If
        sqlstr += Request("word") & "')"
        cmd1.CommandText = sqlstr
        cmd1.ExecuteNonQuery()
        conn1.Close()
        BindGrid()
        Response.Write("<SCRIPT language=JavaScript>alert('留言成功!');")
        Response.Write("this.location.href='message.aspx ';</SCRIPT>")
留言成功后,將DATAGRID重新綁定,返回到留言頁面。


5.2 管理員模塊
在此模塊中,采用技術都是一樣的,所以同一種操作只列出一個。
5.2.1 訂單管理
使用DATAGRID綁定數據庫顯示訂單信息,
訂單信息分為三類,已經確認的和沒有確認的還有已經處理的。
沒有確認的訂單信息,管理員都可以進行確認或者刪除。
流程圖如下:

圖14 訂單管理流程圖

確認訂單代碼如下:
'command事件處理
    Sub PickArt(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        If e.CommandName = "Delete" Then
            Dim Selected_Id As Integer
            Selected_Id = CInt(e.Item.Cells(2).Text)
            Dim conn As New SqlConnection
            Dim cmd As New SqlCommand
    &n

計算機畢業設計論文網www.pdzuhx.tw
bsp;       conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial Catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"
            conn.Open()
            cmd.Connection = conn
            '形成delete語句
            cmd.CommandText = "delete from neworder where dishid =" & Selected_Id
            cmd.ExecuteNonQuery()
            conn.Close()
        ElseIf e.CommandName = "Select" Then
            Dim Selected_Id As Integer
            Selected_Id = CInt(e.Item.Cells(2).Text)
            Dim conn As New SqlConnection
            Dim cmd As New SqlCommand
            conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial Catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"
            conn.Open()
            cmd.Connection = conn
            '形成更新語句修改處理的標志位
            cmd.CommandText = "update neworder set status= status+1 where dishid =" & Selected_Id
            cmd.ExecuteNonQuery()
            conn.Close()
處理訂單操作和確認訂單相似,都含有處理和刪除兩個按鈕列,以便于進行操作。所有已經處理過的訂單,都可以通過另一個頁面進行管理操作,里面只包含了一個按鈕列:刪除。

5.2.2 留言管理
使用DATAGRID綁定數據庫顯示留言信息,在DATAGRID上添加一列按鈕列進行刪除操作。
流程圖如下:
圖15 留言管理流程圖
代碼如下:
  '刪除事件處理
    Sub PickArt(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
        If e.CommandName = "Delete" Then
            Dim Selected_Id As Integer
            Selected_Id = CInt(e.Item.Cells(1).Text)
            Dim conn As New SqlConnection
            Dim cmd As New SqlCommand
            conn.ConnectionString = "Connect Timeout=5;p

計算機畢業設計論文網www.pdzuhx.tw
acket size=4096;persist security info=False;initial Catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"
            conn.Open()
            cmd.Connection = conn
            '形成delete語句
            cmd.CommandText = "delete from message where id =" & Selected_Id
            cmd.ExecuteNonQuery()
            conn.Close()
        End If
        BindGrid()
End Sub

5.2.3 菜單管理
使用DATAGRID綁定數據庫顯示留言信息,在DATAGRID上添加兩個按鈕列進行刪除操作和更新操作,還可進行新菜品的添加。
流程圖如下:

圖16 菜單管理流程圖
添加菜品代碼如下:
        cmd1.CommandText = "select max(cdishid) maxcdishid from dish"  ‘查找菜品ID 的最大值
        objReader = cmd1.ExecuteReader()
        If objReader.Read Then
            x = CInt(objReader("maxcdishid")) + 1   ‘將最大值+1
        End If
        objReader.Close()  
        conn2.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;user id=sa;password=''"
        cmd2.Connection = conn2
        cmd2.CommandType = CommandType.Text
        conn2.Open()
        strsql = "Insert Into dish (cdishid,vdishname,vdishdescription,cdishrate ) Values('x','" & Trim(name.Text) & "','" & Trim(description.Text) & "','" & Trim(dishrate.Text) & "')"
        cmd2.CommandText = strsql
        cmd2.ExecuteNonQuery()    ‘將新菜品的信息插入數據庫
        conn2.Close()
        Response.Write("<SCRIPT language=JavaScript>alert('操作成功!');")
        Response.Write("this.location.href='menumanage.aspx ';</SCRIPT>")

5.2.4 用戶管理
同樣采用DATAGRID綁定數據庫進行顯示,在DATAGRID上添加按鈕列:刪除,進行刪除操作。
流程圖如下:
圖17 用戶管理流程圖

結   論
隨著互聯網的興起和普及,網絡信息化的發展,在線訂餐作為一種較為典型的Web電子商務系統也迅速的發展并深入人們的日常生活中。Web訂餐系統跨越了時間和空間的限制,給餐飲業帶來了不一樣的變革,也給消費者帶來了便捷。
本系統采用B/S(Browser/Server)結構進行設計,使用SQL Server 2000構建數據庫,并在.NET環境下使用Visual Basic.net語言開發的一個功能較為完善的訂餐系統。其具有一定的實用性,用戶可以在網上瀏覽菜單,瀏覽留言和評分,訂餐,留言和評分;同時,管理員也可以對整

計算機畢業設計論文網www.pdzuhx.tw
精准三肖中特