本站简介作品介绍购买指南发布作品订做说明专业诚信
本站收录了大量的毕业设计和论文 [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.papersay.com
建立基于网络的管理和销售信息系统,成为企业提高效率、降低成本、完善服务的有力保证。而对于餐饮业,由于一个行业本身的特性,它的流通性是非常高的,所以更对企业的效率提出了更高的要求。
微软的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.papersay.com
用户表(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.papersay.com
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.papersay.com
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.papersay.com
;                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.papersay.com
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.papersay.com
    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.papersay.com
进行留言
对留言的显示同样采用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.papersay.com
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.papersay.com
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.papersay.com