数据库小型餐饮管理系统.docx
《数据库小型餐饮管理系统.docx》由会员分享,可在线阅读,更多相关《数据库小型餐饮管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
数据库小型餐饮管理系统
苏州科技学院
电子与信息工程学院
《数据库原理课程设计》报告
学号1430107130
姓名郑宏艳
班级1421
日期2015年12月
一、任务及要求:
小型餐饮管理系统
主要功能:
餐饮消费查询、餐饮消费更新、餐饮消费统计、餐饮消费会员管理
二、数据库设计:
(要求叙述数据库设计的过程,画出E—R图,列出数据库中的表名称及结构,并说明表间的关系)
(1)E—R图:
(2)实体模型:
我的报告总共两个表,第一个表是会员表(会员id,会员密码,会员姓名,会员电话,收款金额,会员性别等),第二个表是菜单管理表(菜单名称,菜单价格,食物照片,配料,功效)
ruser(会员表)
序号
字段名称
字段描述
字段类型
长度
备注
1
User_id
会员账号
Nvarcharr
20
不允许空
2
Passcode
会员密码
Nvarchar
20
不允许空
3
Name
会员姓名
Nvarchar
20
不允许空
4
Phone
会员电话
Nvarchar
20
不允许空
5
Money
收款金额
Money
10
不允许空
6
Sex
会员性别
Nvarchar
4
允许空
food(食谱表)
序号
字段名称
字段描述
字段类型
长度
备注
1
Name
食谱名称
Nvarchar
20
不允许空
2
Price
价格
Nvarchar
10
不允许空
3
Photo
食物照片
Nvarchar
100
允许空
4
Formula
配料
Nvarchar
50
不允许空
5
Effect
功效
Nvarchar
50
不允许空
三、实现的功能及相应的界面和代码:
1.连接数据库的实现
(1)首先实现数据库的连接,代码如下所示:
SqlConnectionconn=newSqlConnection();
conn.ConnectionString="datasource=RONGER-PC\\SQLEXPRESS;initialCatalog=小型餐馆;userid=123;password=123";
conn。
Open();
conn.Close();
conn。
Dispose();
(2)链接数据库,后台取的数据库菜单列表的所有数据,在页面前台进行展示
视图展现:
代码的实现:
protectedvoidButton_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection();
conn。
ConnectionString=”datasource=W530\\SQLEXPRESS;initialCatalog=小型餐馆;userid=123;password=123”;
conn.Open();
TextBox9.Text=”连接成功!
”;
stringyy="select*fromMenu”
SqlCommandsqlCmd1=newSqlCommand(yy,conn);
sqlCmd1。
ExecuteNonQuery();
conn。
Close();
conn。
Dispose();
}
2.用户登录界面以及用户信息添加删除修改界面
(1)
代码的实现
ImportsSystem。
Data
ImportsSystem。
Data.SqlClient
PublicClassForm2
PrivateSubButton_Click(ByValsenderAsSystem.Object,ByValeAsSystem。
EventArgs)HandlesButton4.Click
Me。
Close()
EndSub
PrivateSubButton_Click(ByValsenderAsSystem.Object,ByValeAsSystem。
EventArgs)HandlesButton3。
Click
IfTextBox3。
Text.Trim=""OrTextBox4.Text。
Trim=””Then
MsgBox(”请填写用户名和密码",MsgBoxStyle.Exclamation)
ExitSub
EndIf
'connectSQL()
DimconnAsSqlConnection=NewSqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:
\新建文件夹\EATFOODS.MDF")
conn。
Open()
DimstrAsString
str="select*fromruserwhereuser_id='"+TextBox3。
Text+”'andpasscode=’"+TextBox4.Text+"’andstyle=’"+ComboBox2.Text+”’"
Dimscom=NewSqlClient.SqlCommand(str,conn)
scom。
CommandType=CommandType。
Text
Dimsexe=scom。
ExecuteReader()
If(sexe。
Read())Then
Me.Visible=False
MessageBox.Show(”登陆成功”)
Else
MessageBox.Show(”用户名或密码不正确!
”,”警告")
EndIf
Me。
Close()
conn.Close()
EndSub
EndClass
(2)
代码的实现
PrivateSubButton_Click(ByValsenderAsSystem。
Object,ByValeAsSystem。
EventArgs)HandlesButton2.Click
If(Me.TextBox10.Text〈〉"”AndMe。
TextBox11。
Text〈>”"AndMe.TextBox12。
Text〈〉”"AndMe.TextBox13。
Text〈〉””)Then
DimconnAsSqlConnection=NewSqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:
\新建文件夹\EATFOODS.MDF")
conn.Open()
DimmysqlAsString
mysql=”insertintorcustomer(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+="')"
DimsqlAsSqlCommand
sql=NewSqlCommand(mysql,conn)
IfMe.TextBox12.Text。
ToString〈〉Me。
TextBox13.Text.ToStringThen
MessageBox.Show(”密码不一致,重新输入”,”提示")
Return
EndIf
If(sql。
ExecuteNonQuery()>0)Then
MessageBox。
Show("添加成功","提示”)
EndIf
conn。
Close()
Else
MessageBox。
Show("请核对信息是否完整!
",”提示”)
EndIf
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4。
Click
DimconnAsSqlConnection=NewSqlConnection(”Server=(local);uid=sa;pwd=sa;Database=D:
\新建文件夹\EATFOODS.MDF")
conn.Open()
DimmysqlAsString
mysql="deletefromruserwherename=’"
mysql+=Me.TextBox6.Text
mysql+="'”
DimsqlAsSqlCommand
sql=NewSqlCommand(mysql,conn)
If(sql.ExecuteNonQuery()>0)Then
MessageBox。
Show(”删除成功”,"提示”)
EndIf
conn.Close()
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
If(Me。
TextBox1.Text<〉""AndMe.TextBox2。
Text〈〉””AndMe。
TextBox3。
Text<〉"”AndMe。
TextBox4。
Text〈>””)Then
DimconnAsSqlConnection=NewSqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:
\新建文件夹\EATFOODS。
MDF")
conn.Open()
DimmysqlAsString
mysql=”updatefoodsetname=’”
mysql+=Me.TextBox1.Text
mysql+=”',price=’”
mysql+=Me。
TextBox2.Text
mysql+="’,formula='”
mysql+=Me.TextBox3。
Text
mysql+=”',effect=’"
mysql+=Me。
TextBox4.Text
mysql+="'"
DimsqlAsSqlCommand
sql=NewSqlCommand(mysql,conn)
If(sql.ExecuteNonQuery()>0)Then
MessageBox。
Show("修改成功!
","提示")
conn.Close()
Else
Try
CatchexAsException
MessageBox.Show(ex.Message)
EndTry
EndIf
Else
MessageBox.Show("信息未填完整","提示”)
EndIf
EndSub
3。
从数据库用户菜单表取的用户点餐信息,可以对点的菜进行更新和修改,并且有统计功能
(1)用户已点菜单更新代码
protectedvoidButton_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection();
conn.ConnectionString=”datasource=W530\\SQLEXPRESS;initialCatalog=小型餐馆;userid=123;password=123”;
conn.Open();
TextBox9。
Text="更新成功!
";
stringyy=”updateUserMenuset菜单名称=(’”+TextBox2.Text+"’)where会员用户=('"+TextBox1.Text+"')";
SqlCommandsqlCmd1=newSqlCommand(yy,conn);
sqlCmd1.ExecuteNonQuery();
conn.Close();
conn。
Dispose();
}
(2)用户已点菜单删除代码
PrivateSubButton_Click(ByValsenderAsSystem.Object,ByValeAsSystem。
EventArgs)HandlesButton4.Click
DimconnAsSqlConnection=NewSqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:
\新建文件夹\EATFOODS.MDF”)
conn.Open()
DimmysqlAsString
mysql=”deletefromruserwherename=’”
mysql+=Me.TextBox6。
Text
mysql+=”'”
DimsqlAsSqlCommand
sql=NewSqlCommand(mysql,conn)
If(sql.ExecuteNonQuery()〉0)Then
MessageBox。
Show(”删除成功”)
EndIf
conn.Close()
EndSub
4.新菜单添加功能连接数据库添加新的菜单
(1)添加菜单的代码
PrivateSubButton_Click(ByValsenderAsSystem.Object,ByValeAsSystem。
EventArgs)HandlesButton3.Click
DimconnAsSqlConnection=NewSqlConnection("Server=(local);uid=sa;pwd=sa;Database=D:
\新建文件夹\EATFOODS。
MDF")
conn.Open()
DimstrAsString
str=DataGridView3.Rows(DataGridView3。
CurrentRow。
Index)。
Cells(0)。
Value
DimmysqlAsString
mysql=”insertintomenu(menu_dishes,menu_price,menu_zhonglei)values(dishes,price,zhonglei)”
mysql+=str
DimsqlAsSqlCommand
sql=NewSqlCommand(mysql,conn)
If(sql.ExecuteNonQuery()>0)Then
MessageBox。
Show("添加成功”,)
EndIf
DataGridView3。
Rows.RemoveAt(DataGridView3。
CurrentRow.Index)
conn.Close()
EndSub
四、调试分析:
(包括遇到的问题及解决办法,经验与体会等)
经过一年半的学习,我们对数据库、C#等相关知识有了一定的了解。
又经过了几次的实践,我们对理论知识运用到实际练习中又有了一定的基础。
这次实践,我做的是小型餐饮管理系统,主要练习内容就是数据库和C#能够联系在一起。
将做好的数据库导入窗体中,通过一些控件的功能,实现对数据库的修改、查询。
此次主要是对于菜单信息实现查询、更新、删除、添加的功能。
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E—R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括查询、删除、修改、添加,牵涉表和表之间的联系,主键与外主键的定义,约束项的设置,使逻辑更严密.实践要求中会员管理和更新这部分不怎么会,以后还得加大努力!
在实践过程中,难免会遇到问题,不过,经过仔细研究,不断尝试,一遍一遍检查、调试,并与同学讨论,问题总会一个个被攻破,被解决。