基于C#的糖水铺数据管理系统.docx
- 文档编号:5051827
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:30
- 大小:760.27KB
基于C#的糖水铺数据管理系统.docx
《基于C#的糖水铺数据管理系统.docx》由会员分享,可在线阅读,更多相关《基于C#的糖水铺数据管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
基于C#的糖水铺数据管理系统
摘要
随着科技的发展和人们对高速生活的需求,数字化管理变得越来越普及。
如何去实现数字化管理,这就需要数据库的技术。
利用数据库的技术,人们将大量繁重的数据交付给了电脑,让计算机去管理一系列枯燥的数据,不仅加快了管理,同时也可以削减过多的人员,避免资源浪费。
人们利用数据库更有效、方便地管理了自己的企业。
关键词:
SQLServer;VB编程
目录
摘要2
目录3
一、概述4
开发背景和意义4
二、需求分析4
三、概要设计6
E-R图6
四、数据库设计7
4.1表结构:
确定表结构。
7
4.1.1涉及的表7
4.1.2建表的SQL语句8
4.1.3数据库中表截图10
4.2约束:
10
4.3存储过程11
1、新建用户存储过程11
2、删除用户存储过程12
3、添加产品的存储过程12
4、产品销售存储过程12
5、修改价格存储过程12
4.4触发器13
4.5数据备份与恢复14
五、应用系统设计(前台)14
5.1前台登陆界面14
5.2、用户管理菜单下的功能窗体19
5.3.1、产品展示的功能窗体20
5.3.2、添加产品的功能窗体21
5.3.3、产品修改菜单下的功能窗体22
5.3.4、产品删除的功能窗体23
5.3.5、查询产品的功能窗体24
5.4.1、销售记录的功能窗体25
5.4.2产品销售26
5.5备份与恢复27
5.5.1、创建备份设备27
5.5.2、完全备份28
5.5.3、数据库恢复28
六、总结29
一、概述
开发背景和意义
随着数字化时代的发展,数字化管理的已经是广泛应用,有效地来利用计算机来管理企业和商铺,是数据库技术所产生的作用。
为了能使管理人员方便操作,我们建立的系统需要有的功能是:
用户管理、产品管理、销售管理、职工管理等。
还需要对每个管理的模块再进行添加、删除、修改、查询的各项操作,以便于高效化地管理各项数据。
随着连锁店式管理的推行,大量的数据需要依靠计算机来进行有效的管理,设计糖水铺数据库管理系统就是为了精简数据管理,人们可以使用这个系统方便地对每间店铺的数据进行管理,从店铺到店员,再到产品;
二、需求分析
糖水铺数据管理系统根据需求我们分为用户管理、产品管理、销售管理、职工管理和备份与恢复五大模块,每个模块再进行功能上的细分,例如产品管理中有产品展示、产品添加、产品修改、产品删除四个功能;具体的模块和功能的展示如下图所示:
1、用户管理模块分为创建用户和删除用户,创建用户是为了创建一个可供使用者使用的账号,以方便客户查询,删除用户则是为了删除不需要的用户;
2、产品管理模块是为了给用户对产品进行管理的模块,分为产品展示、产品添加、产品修改、产品删除。
产品展示是为了给用户展示产品用的;产品添加是为了用户可以执行添加新的产品;产品修改是给用户修改价格的;产品删除是提供用户进行老旧的产品删除的。
3、销售模块分为销售记录和产品销售两个功能,销售记录是提供用户查询最近的销售记录的;产品销售是提供用户进行产品交易的。
4、职工管理模块分为查看职工、添加职工、删除职工三个功能;查看职工是提供用户查询所有在职的职工的;添加职工和删除职工是提供用户进行人事调动。
5、备份恢复模块的功能划分为建立备份、完全备份和恢复备份的。
建立备份是提供用户建立备份设备的;完全备份是提供用户完整地备份数据库的;恢复备份是提供用户在数据库被破坏时恢复数据库的;
三、概要设计
E-R图
四、数据库设计
4.1表结构:
确定表结构。
4.1.1涉及的表
系列表
属性
类型
大小
能否为空
约束
系列号
tinyint
否
主键
系列名
varchar
20
否
产品表
属性
类型
大小
能否为空
约束
产品编号
char
8
否
主键
产品名
varchar
20
否
系列号
tinyint
否
外键
价格
char
5
否
职工表
属性
类型
大小
能否为空
约束
职工编号
char
8
否
主键
姓名
varchar
20
否
性别
char
2
否
商店编号
char
8
否
聘期
tinyint
否
月薪
money
否
销售表
属性
类型
大小
能否为空
约束
职工编号
Char
8
否
主键
产品编号
char
8
否
主键
销售量
tinyint
否
库存表
属性
类型
大小
能否为空
约束
商店编号
Char
8
否
主键
产品编号
Char
8
否
主键
产品数量
bigint
否
用户表
属性
类型
大小
能否为空
约束
用户名
varchar
20
否
主键
密码
varchar
20
否
服务器权限
varchar
20
否
数据库权限
varchar
20
否
商店表
属性
类型
大小
能否为空
约束
商店编号
char
8
否
主键
商店名
varchar
20
否
地址
varchar
50
否
4.1.2建表的SQL语句
createtable商店表
(商店编号char(8)notnullprimarykey,
商店名varchar(20)notnullunique,
地址varchar(50)notnull)
createtable系列表
(系列号tinyintnotnullidentityprimarykey,
系列名varchar(20)notnull)
createtable产品表
(产品编号char(8)notnullprimarykey,
产品名varchar(20)notnullunique,
系列号tinyintnotnullforeignkeyreferences系列表(系列号)ondeletecascadeonupdatecascade,
价格char(5)notnull)
createtable职工表
(职工编号char(8)notnullprimarykey,
姓名varchar(20)notnull,
性别char
(2)notnulldefault'女'check(性别='男'or性别='女'),
商店编号char(8)notnullforeignkeyreferences商店表(商店编号)ondeletecascadeon
updatecascade,
聘期tinyintnotnull,
月薪moneynotnullcheck(月薪between2800and3500))
createtable销售表
(职工编号char(8)notnull,
产品编号char(8)notnull,
销售量tinyintnotnullprimarykey(职工编号,产品编号))
createtable库存表
(商店编号char(8)notnull,
商品编号char(8)notnull,
产品数量tinyintnotnullprimarykey(商店编号,商品编号))createtable
createtable用户表
(用户名varchar(20)notnullprimarykey,
密码varchar(20)notnull,
服务器权限varchar(20)notnull,
数据库权限varchar(20)notnull)
4.1.3数据库中表截图
4.2约束:
1、系列表
系列号列设置主键约束;
2、产品表
产品编号列设置主键约束;
系列号列设置外键约束,同系列表的主键系列号列相关联;
3、职工表
职工编号列设置主键约束;
商店编号列设置外键有素;
性别列设置check约束,取值范围为“男”或“女”,设置默认值约束,默认值设为“男”;
4、销售表
职工编号和产品编号列设置主键约束;
5、库存表
商店编号和产品编号列设置主键约束。
6、商店表
商店编号列设置主键约束。
6、用户表
用户名列设置主键约束。
4.3存储过程
1、新建用户存储过程
为了方便新建用户并给用户分配权限,创建一个存储过程“jy_addyh”:
createprocjy_addyh
@namevarchar(20),@pwdvarchar(20),@srvrolevarchar(20),@rolevarchar(20)
as
execsp_addlogin@name,@pwd
if@srvrole<>''
execsp_addsrvrolemember@name,@srvrole
if@role<>''
begin
execsp_grantdbaccess@name
execsp_addrolemember@role,@name
end
insert用户表
values(@name,@pwd,@srvrole,@role)
2、删除用户存储过程
为了方便删除不用的用户,创建一个存储过程“jy_deleteyh”:
createprocjy_deleteyh
@namevarchar(10)
as
delete用户表
where用户名=@name
3、添加产品的存储过程
为了添加产品,创建一个存储过程“jy_addcp”:
createprocjy_addcp
@achar(8),@bvarchar(20),@ctinyint,@dchar(5)
as
insert产品表
values(@a,@b,@c,@d)
4、产品销售存储过程
为了方便登记销售情况,创建一个存储过程“xscp”:
createprocxscp
@zgbhchar(8),@cpbhchar(8),@cpsltinyint
As
insert销售表
values(@zgbh,@cpbh,@cpsl)
5、修改价格存储过程
为了方便修改产品价格,创建一个存储过程“jy_updatejg”:
createprocjy_updatejg
@xhchar(8),@jgchar(5)
as
update产品表
set价格=@jg
where产品编号=@xh
4.4触发器
当售出一件产品时,销售表会自动记录,并同时需要修改相对应的库存,所以需要建立一个触发器
createtrigger销售触发库存
on销售表
afterinsert
as
declare@产品编号char(8),@职工编号char(8)
select@产品编号=产品编号,@职工编号=职工编号
frominserted
update库存表
set产品数量=产品数量
where产品编号=@产品编号and商店编号=(select商店编号
from职工表
where职工编号=@职工编号)
4.5数据备份与恢复
建立数据设备
createprocjlbf
as
execsp_addumpdevice'disk','aa','f:
\aa.bak'
完全备份
createprocwqbf
as
backupdatabaseSugar
toaa
withformat
恢复备份
createprochfbf
as
dropdatabaseSugar
restoredatabaseSugar
fromaa
五、应用系统设计(前台)
5.1前台登陆界面
登陆界面,只有登陆成功才能使用各项功能,登陆界面和相关代码如下图:
代码如下:
ImportsSystem.Data
ImportsSystem.Data.SqlClient
PublicClassForm1
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
IfTextBox1.Text=""OrTextBox2.Text=""Then
MsgBox("请输入用户名和密码!
",vbExclamation,"请输入!
")
Else
DimcnAsNewSqlConnection
cn.ConnectionString="server=PC201401161956\SQLEXPRESS;uid=sa;pwd=123;database=Sugar"
cn.Open()
Ifcn.State=ConnectionState.OpenThen
DimaaAsString
aa="select*from用户表where用户名='"&TextBox1.Text&"'and密码='"&TextBox2.Text&"'"
DimcmdAsNewSqlCommand
cmd.CommandText=aa
cmd.Connection=cn
DimabcAsSqlDataReader
abc=cmd.ExecuteReader()
Ifabc.HasRows=TrueThen
Panel1.Visible=False
MenuStrip1.Visible=True
MsgBox("登录成功!
欢迎使用系统!
",vbExclamation,"登录成功!
")
Else
MsgBox("登录失败!
拒绝访问系统!
",vbExclamation,"登录失败!
")
EndIf
EndIf
EndIf
EndSub
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
MenuStrip1.Visible=False
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Me.Close()
EndSub
PrivateSub添加用户ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles添加用户ToolStripMenuItem.Click
yhadd.Show()
EndSub
PrivateSub删除用户ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除用户ToolStripMenuItem.Click
yhdelete.Show()
EndSub
PrivateSub产品展示ToolStripMenuItem1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles产品展示ToolStripMenuItem1.Click
cpzs.Show()
EndSub
PrivateSub产品添加ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles产品添加ToolStripMenuItem.Click
cpadd.Show()
EndSub
PrivateSub产品修改ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles产品修改ToolStripMenuItem.Click
cpxg.Show()
EndSub
PrivateSub产品删除ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles产品删除ToolStripMenuItem.Click
cpdelete.Show()
EndSub
PrivateSub销售记录ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles销售记录ToolStripMenuItem.Click
xsjl.Show()
EndSub
PrivateSub产品销售ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles产品销售ToolStripMenuItem.Click
xscp.Show()
EndSub
PrivateSub查看员工ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查看员工ToolStripMenuItem.Click
ygck.Show()
EndSub
PrivateSub添加员工ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles添加员工ToolStripMenuItem.Click
ygadd.Show()
EndSub
PrivateSub删除员工ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除员工ToolStripMenuItem.Click
ygdelete.Show()
EndSub
PrivateSub建立备份ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles建立备份ToolStripMenuItem.Click
DimcnAsNewSqlConnection
cn.ConnectionString="server=PC201401161956\SQLEXPRESS;uid=sa;pwd=123;database=Sugar"
cn.Open()
Ifcn.State=ConnectionState.OpenThen
DimaaAsString
aa="execjlbf"
DimcmdAsNewSqlCommand
cmd.CommandText=aa
cmd.Connection=cn
cmd.ExecuteNonQuery()
MsgBox("建立成功!
")
cn.Close()
EndIf
EndSub
PrivateSub完全备份ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles完全备份ToolStripMenuItem.Click
DimcnAsNewSqlConnection
cn.ConnectionString="server=PC201401161956\SQLEXPRESS;uid=sa;pwd=123;database=Sugar"
cn.Open()
Ifcn.State=ConnectionState.OpenThen
DimaaAsString
aa="execwqbf"
DimcmdAsNewSqlCommand
cmd.CommandText=aa
cmd.Connection=cn
cmd.ExecuteNonQuery()
MsgBox("备份成功!
")
cn.Close()
EndIf
EndSub
PrivateSub恢复备份ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles恢复备份ToolStripMenuItem.Click
DimcnAsNewSqlConnection
cn.ConnectionString="server=PC201401161956\SQLEXPRESS;uid=sa;pwd=123;database=master"
cn.Open()
Ifcn.State=ConnectionState.OpenThen
DimaaAsString
aa="exechfbf"
DimcmdAsNewSqlCommand
cmd.CommandText=aa
cmd.Connection=cn
cmd.ExecuteNonQuery()
MsgBox("恢复成功!
")
cn.Close()
EndIf
EndSub
EndClass
5.2、用户管理菜单下的功能窗体
用户管理分为两个功能:
创建用户和删除用户,在创建用户窗体,输入新用户名和密码,选择权限,点击创建即可在后台创建该用户并将其记录在用户表中。
在删除用户窗体,只要输入要删除的用户名,点击删除即可在后台数据库中删除该用户,并在用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C# 糖水 数据管理 系统