VB程序设计及数据库应用课程设计
题目 饭店菜式管理系统
课 程 名 称 VB程序设计及数据库应用课程设计
专 业 工业工程
学 号 100103022
姓 名 孟文敏
指 导 教 师 舒启林,魏永合
目录
11.选题的意义
11.1 选该题目的原因
11.2 完成此题目用到的数据结构和知识点
22.系统功能简介
22.1登录
22.2菜式管理系统
22.3 菜式浏览
22.4点菜系统
23. 概要设计
33.1 各模块之间关系
33.2 各模块
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图
44.系统实现
44.1 主界面
54.2 登录、注册、修改密码
84.3 菜式管理界面
114.4 菜式浏览界面
164.5 点菜界面
175.总结
175.1 疑难点
185.2 体会
18参考文献:
1.选题的意义
1.1 选该题目的原因
通过对饭店菜式管理系统的程序设计,了解软件开发基本步骤,诸如问题分析、系统设计、程序编码、测试等基本
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
和技能。本程序可实现顾客点菜,按菜名、价格、菜系浏览菜式功能,同时饭店内部人员可以通过该程序对菜式添加、删除、修改功能。
1.2 完成此题目用到的数据结构和知识点
数据结构:
通过可视化数据管理器可以进行数据库操作。建立数据库:启动可视化数据管理器,创建数据库,创建数据库
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
,然后编辑数据库。
知识点:
Access技术:可以开发关系数据库,数据库能汇集各种信息以供查询、存储和检索。数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。一个数据库中,包含了许多条
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
(Record),而每条记录是由多个字段(Field)所组成,不同的字段存放这不同的数据。所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理管理系统(Database Management System DBMS)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
结构化查询语言SQL: 结构化查询语言(Structrued Query Lauguage,SQL)是访问数据库的
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
语言,使用SQL语言可以从数据库中获取数据,建立数据库和数据库对象,增加,修改数据和实现复杂的查询功能。它是本系统实现的基础。
使用data控件访问数据库:主要使用的是data控件和数据绑定控件编写数据库应用程序的方法。
2.系统功能简介
2.1登录
打开饭店菜式管理系统程序,进入主界面。通过输入用户名和密码登录到菜式管理界面
2.2菜式管理系统
通过输入用户名和密码进入到了菜式管理界面,对菜式进行添加、删除和修改,以及浏览全部菜式,并可返回主界面。
2.3 菜式浏览
进入菜式浏览界面,可根据菜名、菜价、菜系浏览菜式,并可返回主界面
2.4点菜系统
通过点击菜式管理系统的点菜按钮进入到点菜系统。此界面有一个List和一个MSFlexGrid,MSFlexGrid用来显示所有菜式,List用来显示已点的菜。通过点菜按钮将MSFlexGrid中选择的菜添加到List中,通过退菜按钮将List中已选菜退掉,在点菜和退菜的同时还对顾客消费进行计算,点菜完成后进行落单,点击返回按钮返回主界面。
概要设计
3.1 各模块之间关系
.
登
录
失
败
3.2 各模块流程图
a 菜式管理系统
b 菜式浏览系统
c 点菜系统
4.系统实现
4.1 主界面
包含菜式管理(登录)、菜式浏览、点菜,如图
核心代码:
Private Sub Command1_Click() '单击菜式浏览按钮
Unload Form4
Form5.Show
End Sub
Private Sub Command2_Click() '单击点菜按钮
Unload Form4
Form3.Show
End Sub
Private Sub enter_Click() '单击登录
Unload Form4
Form6.Show
End Sub
4.2 登录、注册、修改密码
a 工作人员登录界面
核心代码:
Private Sub Command1_Click() '单击确定按钮
Adodc1.RecordSource = "select * from 登录信息 where 用户名=" + "'" + Trim(Text1.Text) + "'" + " and 密码=" + "'" + Trim(Text2.Text) + "'"
Adodc1.Refresh
If Adodc1.Recordset.EOF = True Or Adodc1.Recordset.BOF = True Then '判断用户名与密码是否相符
MsgBox "用户名或密码错误"
Else
Unload Form6
form1.Show
End If
End Sub
Private Sub Command2_Click() '单击注册按钮
Unload Form6
Form7.Show '进入注册界面
End Sub
Private Sub Command3_Click() '单击取消按钮
Unload Form6
Form4.Show '返回主界面
End Sub
b注册界面
核心代码:
Private Sub Command1_Click() '单击注册按钮
Adodc1.RecordSource = "select * from 登录信息 where 用户名=" + "'" + Trim(Text1.Text) + "'"
Adodc1.Refresh
If Adodc1.Recordset.EOF = True Or Adodc1.Recordset.BOF = True Then '判断用户名是否已经存在
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("用户名") = Trim(Text1.Text)
Adodc1.Recordset.Fields("密码") = Trim(Text2.Text) '将用户名密码存入数据库
Adodc1.Recordset.Update
Adodc1.Refresh
If Text2.Text = Text3.Text Then
MsgBox ("注册成功")
End If
Else
MsgBox "用户名已存在"
End If
End Sub
Private Sub Command2_Click() '单击返回按钮
Unload Form7
Form6.Show '返回登录界面
End Sub
c 修改密码界面
核心代码:
Private Sub Command1_Click() '单击确认按钮
Adodc1.RecordSource = "select * from 登录信息 where 用户名=" + "'" + Trim(Text1.Text) + "'"
Adodc1.Refresh
If Adodc1.Recordset.EOF = False And Adodc1.Recordset.BOF = False Then
Adodc1.Recordset.Fields("密码") = Trim(Text2.Text) '将新密码存入数据库
Adodc1.Recordset.Update
Adodc1.Refresh
MsgBox "修改密码成功"
Else
MsgBox "用户名不存在"
End If
End Sub
Private Sub Command2_Click() '单击取消按钮
Unload Form8
form1.Show '返回菜式管理界面
End Sub
4.3 菜式管理界面
对菜式进行添加、删除和修改,以及浏览全部菜式
核心代码:
Private Sub Command1_Click() '单击添加按钮
Data1.Recordset.AddNew
Text1.Locked = False
Text2.Locked = False
Text3.Locked = False
Text4.Locked = False
Text5.Locked = False
Text7.Locked = False '将所有文本框锁定
End Sub
Private Sub Command2_Click() '单击删除按钮
Dim msg As Integer
msg = MsgBox("你确定要删除编号为" & Text1.Text & " , 菜名为" & Text2.Text & "的菜式的所有信息吗?", vbYesNo, "删除菜式")
If msg = vbYes Then
Data1.Recordset.Delete '删除所选信息
Data1.Recordset.MoveFirst
End If
End Sub
Private Sub Command3_Click() '单击确定按钮
Text1.Locked = True
Text2.Locked = True
Text3.Locked = True
Text4.Locked = True
Text5.Locked = True
Text7.Locked = True '将所有文本框解锁
End Sub
Private Sub Command4_Click() '单击修改按钮
Text1.Locked = False
Text2.Locked = False
Text3.Locked = False
Text4.Locked = False
Text5.Locked = False
Text7.Locked = False '将所有文本框锁定
End Sub
Private Sub Command5_Click() '单击退出按钮
Unload form1
Form4.Show '返回到主界面
End Sub
Private Sub Command6_Click() '单击取消按钮
Data1.Recordset.Delete
Data1.Recordset.MoveFirst
End Sub
Private Sub Command7_Click() '单击全部显示按钮
Load form1
Form2.Show '进入全部显示界面
End Sub
核心代码:
Private Sub Command1_Click() '单击返回按钮
Unload Form2
form1.Data1.Refresh
form1.Show '返回到菜式管理
End Sub
4.4 菜式浏览界面
按菜名浏览
按菜价降序浏览
按菜系“徽菜”浏览
按菜系“川菜”浏览
按菜系“鲁菜”浏览
按菜系“粤菜”浏览
核心代码:
Private Sub Command1_Click() '单击按菜名浏览按钮
Dim sy As String
sy = "select * from 菜式"
Data1.RecordSource = sy
Data1.Refresh
End Sub
Private Sub Command2_Click() '单击徽菜按钮
Dim hc As String
hc = "select * from 菜式 where 菜系='徽菜'"
Data1.RecordSource = hc
Data1.Refresh
End Sub
Private Sub Command3_Click() '单击按菜价浏览按钮
Dim jg As String
jg = "select * from 菜式 order by val(价格) desc "
Data1.RecordSource = jg
Data1.Refresh
End Sub
Private Sub Command4_Click() '单击川菜按钮
Dim hc As String
cc = "select * from 菜式 where 菜系='川菜'"
Data1.RecordSource = cc
Data1.Refresh
End Sub
Private Sub Command5_Click() '单击鲁菜按钮
Dim hc As String
lc = "select * from 菜式 where 菜系='鲁菜'"
Data1.RecordSource = lc
Data1.Refresh
End Sub
Private Sub Command6_Click() '单击粤菜按钮
Dim hc As String
yc = "select * from 菜式 where 菜系='粤菜'"
Data1.RecordSource = yc
Data1.Refresh
End Sub
Private Sub Command7_Click() '单击返回按钮
Unload Form5
Form4.Show '返回到主界面
End Sub
4.5 点菜界面
Dim g As Single
Private Sub Command1_Click() '选中list表中已点菜品进行删菜操作
If List1.ListIndex <> -1 Then
x = List1.ListIndex
List1.RemoveItem x
End If
Text4 = Val(Text4) - g '相应总金额减少
End Sub
Private Sub Command2_Click() '单击事件时,把所选菜品添加到当前点菜的list表中
Dim a, b As Integer
a = Len(Text1.Text)
b = Len(Text2.Text) + Len(Text3.Text) + 1
List1.AddItem Text1.Text & Space(18 - a * 2) & Text2.Text & "*" & Text3.Text & Space(18 - b) & Val(Text2) * Val(Text3) '按照一定位置在list表中显示所点菜品的名字,单价,数量及总价。
Dim c As Single
c = Val(Text2.Text) * Val(Text3.Text) '当前所选菜的总价
Text4.Text = c + Val(Text4.Text) '每点一道菜,总金额进行累加
End Sub
Private Sub Command3_Click()
Label6.Caption = "您一共点了 " & List1.ListCount & " 种菜"
End Sub
Private Sub Command4_Click() '单击返回按钮
Unload Form3
Form4.Show '返回到主界面
End Sub
Private Sub List1_Click() '单击列表框里的某一行时,显示相应信息
If List1.ListIndex <> -1 Then
x = List1.ListIndex
End If
Dim e, f As String
e = List1.List(x) '单击时选中一道菜
Text1.Text = Left(e, 8) '利用left函数提取所选中菜的菜名
f = Right(e, 5) '利用right函数提取所选中菜品的总价
g = Val(f)
End Sub
Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) '鼠标按下事件,显示相应菜品信息
Text1.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 1) '鼠标点击某一行时,利用TextMatrix属性把此行第二列的数据(菜名)提取出来并显示在text1中
Text2.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) '鼠标点击某一行时,利用TextMatrix属性把此行第四列的数据(单价)提取出来并显示在text2中
End Sub
5.总结
5.1 疑难点
数据库建立以后无法与控件绑定,在系统运行时,无法通过系统对数据库的信息进行编辑,修改,删除;不知如何根据条件查询符合条件的信息。通过查理论知识、相关类型的编程以及与同学讨论解决
5.2 体会
自学精神是我在这次编程中是我最大的体会,刚开始时不知整体框架如何,就去查相关编程资料。遇到暂时无法解决问题时,通过思考联系以前知识,想一想通过什么控件可以实现,或是查看类的问题,练习自己问题经过改造来实现自己目的。
参考文献:
1.《基于VB和SQL数据库编程技术》, 刘志妩 , 清华大学出版社
2.《Visual Basic 教程 》,郑阿奇主编,清华大学出版社
3.《Visual Basic实训 》, 郑阿奇主编,清华大学出版社
饭店菜式管理系统
登录认证
菜式浏览系统
点菜系统
菜式管理系统
修
改
显
示
全
部
添
加
返
回
删
除
菜式管理系统
菜式浏览系统
按价格浏览
按菜系浏览
按菜名浏览
川
菜
徽
菜
鲁
菜
粤
菜
点菜系统
落
单
返
回
退
菜
点
菜
1