数据库课程设计餐饮管理系统
摘要
随着经济的发展社会的进步,去饭店过节聚会成为了一种新的时尚。因此每逢过年过节,饭店都会迎来大量的顾客,随之而来的就是大量的预定和结算信息将会使得饭店的工作人员不堪重负,并且不可避免的会出现这样或那样的错误。餐饮信息管理软件的诞生可以为他们提供便捷的管理服务。并且几乎为零的错误率也使得餐馆可以更好的为顾客服务。它不仅可以为餐馆降低人力资源的付出,节省了成本,而且也可以提升自身的形象,使餐厅迎来更多的食客。
本系统使用了Visual Studio2010,SQLserver2008
使用本系统,员工将可以快速地编辑顾客资料信息,并且为客户提供订餐打折和充值服务。管理员使用本系统,既可以完成员工的所有工作,又可以更好地管理员工,精准地了解员工账面的资金情况。除了这些,管理员还可以设定餐厅的菜单信息和折扣程度,从而使得管理员对餐厅的运营情况可以全面掌控。
一.需求分析
1.1开发背景
鉴于传统的人工管理方式的种种缺陷,我设计了方便中小级别餐饮企业使用的应用程序,通过它,管理者可以基本解决以上所遇到的种种问题,并且更加科学的对老客户进行打折,而且添加了主顾权限的不同设计使得它更加方便雇主对雇员的管理与监督。
1.2 开发工具和相关技术简介
开发工具:硬件:笔记本
软件:Windows7、Microsoft Visual Studio、 2010Microsoft SQL Server 2008 由于我们开发的事面向中小型,界面看起来温馨舒适,功能不是很多。
1.3需求分析
员工使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户会员信息(修改客户信息需客户确认)
2.查询菜单
3.添加查询预定信息,为老顾客打折
4.客户可以在自己的会员账户里充值
5.顾客可以用现金买单也可以从会员账户里扣取
管理员使用本餐饮信息管理系统应可以实现以下功能:
1.添加修改查询客户会员信息(修改客户信息需客户确认)
2.添加修改查询菜单信息,最好能看到菜品图片
3.添加查询预定信息,为老顾客打折
4.客户可以在自己的会员账户里充值
5.顾客可以用现金买单也可以从会员账户里扣取
6.设定具体的打折方法
7.添加职员信息,权限也可以定为管理员。
8.可以查询使用者的现金收款金额
二.概念结构设计
2.1 系统功能模块的划分
登录后管理员和员工的权限不同,管理员可以进入任何子菜单,二员工不可以进入职工管理和销售额统计。
系统流程分析
流程图简介:员工登录系统后为客户添加基本信息,客户可以根据需要在开通的账户里充值(增加用户的收款金额)。客户通过餐饮信息管理系统进行订餐(老用户在此环节中可能会享受打折服务)。客户用完餐后来到服务台买单,用户可以选择使用现金或者从用户余额里扣除,支付成功会增加客户的已消费金额。若余额不足,系统将会提示,那么客户只能使用现金支付。使用现金支付的话会增加用户的收款金额。管理员登录的话可以使用员工的所有功能,而且可以设定为客户打折的折扣程度和添加菜单,以及管理员工账户。
三.逻辑结构设计
3.1 ER图设计
图3 用户E-R图
主要存储一些用户信息,如用户的账号、密码和类型地点等等,主要用于用户登录,添加客户和添加预定时会使用到用户信息
图4 客户E-R图
主要存储一些客户信息,如客户的账号、联系方式和消费情况等等,主要用于客户订餐、充值和结算,使用于添加预定。
图5 食谱E-R图
主要存储一些食谱信息,如食谱的名称、价格和照片等等,主要用于客户订餐,使用于添加预定。
图6 预定E-R图
主要存储一些预定信息,如客户的账号、预定的时间、桌号和菜单等等,主要用于记录客户的预定信息,会使用到用户、客户、菜单和折扣信息。
图7 折扣E-R图
存储管理员设定的打折信息,用来计算打折后的应付金额,使用在添加预定时打折。
3.2 数据表的设计
四.数据库物理设计1.整个界面
Imports System.Windows.Forms.VisualStyles.VisualStyleElement.TaskbarClock
Public Class Form1
Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub 系统ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 系统ToolStripMenuItem.Click
End Sub
Private Sub 登录ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 登录ToolStripMenuItem.Click
Form2.Show()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.菜单信息ToolStripMenuItem.Enabled = False
Me.充值管理ToolStripMenuItem.Enabled = False
Me.结账买单ToolStripMenuItem.Enabled = False
Me.客户信息ToolStripMenuItem.Enabled = False
Me.预订管理ToolStripMenuItem.Enabled = False
Me.职工管理ToolStripMenuItem.Enabled = False
End Sub
Private Sub 客户信息ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 客户信息ToolStripMenuItem.Click
Form3.Show()
End Sub
Private Sub 菜单信息ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 菜单信息ToolStripMenuItem.Click
Form4.Show()
End Sub
Private Sub 预订管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 预订管理ToolStripMenuItem.Click
Form5.Show()
End Sub
Private Sub 充值管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 充值管理ToolStripMenuItem.Click
Form6.Show()
End Sub
Private Sub 职工管理ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 职工管理ToolStripMenuItem.Click
Form8.Show()
End Sub
Private Sub 结账买单ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 结账买单ToolStripMenuItem.Click
Form7.Show()
End Sub
Private Sub 帮助ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 帮助ToolStripMenuItem.Click
Form9.Show()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label3.Text = Now()
End Sub
End Class
2.登录
Imports System.Data
Imports System.Data.SqlClient
Public Class Form2
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.Close()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If TextBox3.Text.Trim = "" Or TextBox4.Text.Trim = "" Then
MsgBox("请填写用户名和密码", MsgBoxStyle.Exclamation)
Exit Sub
End If
'connectSQL()
Dim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF") conn.Open()
Dim str As String
str = "select * from ruser where user_id ='" + TextBox3.Text + "' and passcode= '" + TextBox4.Text + "' and style= '" + ComboBox2.Text + "'"
Dim scom = New SqlClient.SqlCommand(str, conn)
https://www.360docs.net/doc/0b10561939.html,mandType = CommandType.Text
Dim sexe = scom.ExecuteReader()
If (sexe.Read()) Then
Me.Visible = False
MessageBox.Show("登陆成功", "提示")
Me.Visible = False
If ComboBox2.Text = "管理员" Then
MsgBox("欢迎您:" & ComboBox2.Text, https://www.360docs.net/doc/0b10561939.html,rmation)
Form1.帮助ToolStripMenuItem.Enabled = True
Form1.菜单信息ToolStripMenuItem.Enabled = True
Form1.充值管理ToolStripMenuItem.Enabled = True
Form1.客户信息ToolStripMenuItem.Enabled = True
Form1.系统ToolStripMenuItem.Enabled = True
Form1.结账买单ToolStripMenuItem.Enabled = True
Form1.预订管理ToolStripMenuItem.Enabled = True
Form1.职工管理ToolStripMenuItem.Enabled = True
Form1.Text = "欢迎领导"
End If
If ComboBox2.Text = "员工" Then
MsgBox("欢迎您:" & ComboBox2.Text, https://www.360docs.net/doc/0b10561939.html,rmation)
Form1.帮助ToolStripMenuItem.Enabled = True
Form1.菜单信息ToolStripMenuItem.Enabled = True
Form1.充值管理ToolStripMenuItem.Enabled = True
Form1.客户信息ToolStripMenuItem.Enabled = True
Form1.系统ToolStripMenuItem.Enabled = True
Form1.结账买单ToolStripMenuItem.Enabled = True
Form1.预订管理ToolStripMenuItem.Enabled = True
Form1.Text = "欢迎您"
End If
' MessageBox.Show("登陆成功", "提示")
Else
MessageBox.Show("用户名或密码不正确!", "警告")
End If
Me.Close()
conn.Close()
End Sub
End Class
3.顾客信息
添加删除照片
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then PictureBox3.Load(OpenFileDialog1.FileName)
MsgBox("添加照片成功,关闭")
End
End Sub
Private Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
PictureBox4.Image = Nothing
MsgBox("成功删除")
End Sub
Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As https://www.360docs.net/doc/0b10561939.html,ponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
OpenFileDialog1.Filter = "Text Files (.jpg)|*.jpg|All Files (*.*)|*.*"
End Sub
信息添加删除修改
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If (Me.TextBox10.Text <> "" And Me.TextBox11.Text <> "" And Me.TextBox12.Text <> "" And Me.TextBox13.Text <> "") Then
Dim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF")
conn.Open()
Dim mysql As String
mysql = "insert into rcustomer(name,call,passcode,id,addtime,userid) values('"
mysql += Me.TextBox10.Text.ToString()
mysql += "','"
mysql += Me.TextBox11.Text.ToString()
mysql += "','"
mysql += Me.TextBox12.Text.ToString()
mysql += "','"
mysql += Me.TextBox1.Text.ToString()
mysql += "','"
mysql += Me.TextBox2.Text.ToString()
mysql += "','"
mysql += Me.TextBox3.Text.ToString()
mysql += "')"
Dim sql As SqlCommand
sql = New SqlCommand(mysql, conn)
If Me.TextBox12.Text.ToString <> Me.TextBox13.Text.ToString Then
MessageBox.Show("密码不一致,重新输入", "提示")
Return
End If
If (sql.ExecuteNonQuery() > 0) Then
MessageBox.Show("添加成功", "提示")
End If
conn.Close()
Else
MessageBox.Show("请核对信息是否完整!", "提示")
End If
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF")
conn.Open()
Dim mysql As String
mysql = "delete from ruser where name='"
mysql += Me.TextBox6.Text
mysql += "'"
Dim sql As SqlCommand
sql = New SqlCommand(mysql, conn)
If (sql.ExecuteNonQuery() > 0) Then
MessageBox.Show("删除成功", "提示")
End If
conn.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If (Me.TextBox1.Text <> "" And Me.TextBox2.Text <> "" And Me.TextBox3.Text <> "" And Me.TextBox4.Text <> "") Then
Dim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF")
conn.Open()
Dim mysql As String
mysql = "update food set name=' "
mysql += Me.TextBox1.Text
mysql += "',price='"
mysql += Me.TextBox2.Text
mysql += "',formula='"
mysql += Me.TextBox3.Text
mysql += "',effect='"
mysql += Me.TextBox4.Text
mysql += "'"
Dim sql As SqlCommand
sql = New SqlCommand(mysql, conn)
If (sql.ExecuteNonQuery() > 0) Then
MessageBox.Show("修改成功!", "提示")
conn.Close()
Else
Try
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If
Else
MessageBox.Show("信息未填完整", "提示")
End If
End Sub
将信息显示到表格
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim conn As SqlConnection = New SqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:\新建文件夹\EATFOODS.MDF") Try
conn.Open()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Dim command As New SqlCommand("select * from rcustomer where name like '%" + TextBox14.Text + "%'")
https://www.360docs.net/doc/0b10561939.html,mandType = CommandType.Text
command.Connection = conn
Dim dr As New SqlDataAdapter
dr.SelectCommand = command
Dim ds As New DataSet
ds = New DataSet()
dr.Fill(ds, "name")
DataGridView1.DataSource = ds
DataGridView1.DataMember = "name"
conn.Close()
End Sub
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 这行代码将数据加载到表“EatfoodsDataSet.rcustomer”中。您可以根据需要移动或删除它。
Me.RcustomerTableAdapter.Fill(Me.EatfoodsDataSet.rcustomer)
End Sub
4.其他几个界面
退订
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim conn As SqlConnection = New