大家好,今天给大家介绍基于vb+VB.NET+SQL Server的web订餐系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。
文章目录:
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:7237个字27页
包含内容:整套源码+完整毕业论文
资源文件目录简图如下:
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
引言
1.1 课题背景
省略
1.2 本课题的研究内容
本系统采用B/S(Browser/Server)结构进行设计,使用SQL Server 构建数据库,并在.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 信息安全性
省略
3 数据库设计
3.1 关于SQL语言
省略
3.2 数据库设计结构
本设计主要由6个数据表组成:菜单表(dish),用户表(shopper),管理员表(manager),新订单表(neworder),添加订单表(orderadd)存储用户的订餐信息,留言信息表(message)存储留言,这些表都集中在一个数据库里面。
数据表:
与用户相关的数据表有:菜单表(dish),用户表(shopper),新订单表(neworder),添加订单表(orderadd),留言信息表(message)。分别如表1,表2,表3,表4所示。
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;和可选填写的信息。注册成功后返回登录成功页面,可以选择进行订餐和留言、评分操作。
流程图如下:
图5 注册页面
在提交的时候,检测用户名是否已经存在,若存在,则返回错误信息,重新填写注册信息。从工作流上看,只有注册成功后才可以进行订餐和留言。
代码如下:
conn.ConnectionString = "Connect Timeout=5;packet size=4096;persist security info=False;initial catalog=dishsale;data source=32A5C0037011401;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()
图6 注册成功
5.1.2 登录
用户需要填写用户名和密码,对输入的用户名与数据库的进行比较,若没有则返回错误,对密码也进行判断,因为密码在保存时是经过MD5加密的,所以在判断的时候也把输入的密码先进行MD5加密,然后进行比较。登录成功进入登录成功页面。
流程图如下:
图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")) ‘检测用户名是否已经存在
Response.Redirect("login_suc.aspx")
Else
Session("cshopperid") = Nothing
wrong.Text = "用户名或者密码错误!"
End If
conn.Close()
图9 登录成功
5.1.3 订餐
使用DATAGRID绑定DISH表显示菜单,在DATAGRID上每行绑定一个多选按钮和下拉列表,进行多选和数量的选择。然后在文本框中输入送餐的地点,电话和其他的备注信息。若菜品和地址都填写好,则进入订餐成功页面,可以查看自己的订餐信息,可以进行修改和删除。若错误,则报告错误信息,返回订餐页面。
流程图如下:
图11 订餐页面
图12 订餐成功页面
5.1.4 留言
在留言页面,用户可以对服务进行评分,同时进行留言
对留言的显示同样采用DATAGRID对数据库进行读取然后显示。提交留言的时候对分数进行判断,然后对留言内容是否为空进行判断,然后写进数据库。
流程图如下:
图13 留言流程图
代码如下:
If Request("word") = "" Then
Response.Write("")
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("")
留言成功后,将DATAGRID重新绑定,返回到留言页面。
5.2 管理员模块
在此模块中,采用技术都是一样的,所以同一种操作只列出一个。
5.2.1 订单管理
使用DATAGRID绑定数据库显示订单信息,
订单信息分为三类,已经确认的和没有确认的还有已经处理的。
没有确认的订单信息,管理员都可以进行确认或者删除。
流程图如下:
图14 订单管理流程图
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;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 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("")
5.2.4 用户管理
同样采用DATAGRID绑定数据库进行显示,在DATAGRID上添加按钮列:删除,进行删除操作。
流程图如下:
图17 用户管理流程图
结 论
随着互联网的兴起和普及,网络信息化的发展,在线订餐作为一种较为典型的Web电子商务系统也迅速的发展并深入人们的日常生活中。Web订餐系统跨越了时间和空间的限制,给餐饮业带来了不一样的变革,也给消费者带来了便捷。
本系统采用B/S(Browser/Server)结构进行设计,使用SQL Server 构建数据库,并在.NET环境下使用Visual Basic.net语言开发的一个功能较为完善的订餐系统。其具有一定的实用性,用户可以在网上浏览菜单,浏览留言和评分,订餐,留言和评分;同时,管理员也可以对整个系统的信息和数据进行管理,可以管理菜单信息、会员信息、留言信息和订单信息。
参考文献
[1] 方睿,刁仁宏,吴四九.网络数据库原理及应用[M].成都:四川大学出版社,2010。
[2] 吉根林,崔海源.ASP.NET程序设计教程[M]. 北京:电子工业出版社,2010
[3] 何明国.Visual Basic.NET程序设计——ADO.NET详解[M].北京:中国水利出版社,2009。
[4] 陈语林.Visual Basic.NET程序设计教程[M].北京:中国水利出版社,2005。
[5] Ken Spencer[美].Visual Basic.NET面向对象可重用组件开发[M].北京:清华大学出版社,2010。
[6] Micheal Halvorson[美].Visual Basic.NET程序设计[M].北京:清华大学出版社,2002。
[7] Bill Forgey[美],Denise Gosnell[美],Matthew Reynolds[美].Visual Basic.NET数据库开发入门经典[M].北京:清华大学出版社,2010
[8] Evangelos Petroutsos[美],Asli Bilgin[美].Visual Basic.NET数据库编程从入门到精通[M].北京:电子工业出版社,2008。
致 谢
省略
本项目源码及完整论文如下,有需要的朋友可以点击进行下载
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于vb+VB.NET+SQL Server的web订餐系统设计与实现(源码+文档)_vb.net_BS架构_订餐系统.zip |