SQL+VB超市管理系统论文SQL数据库课程设计.docx
《SQL+VB超市管理系统论文SQL数据库课程设计.docx》由会员分享,可在线阅读,更多相关《SQL+VB超市管理系统论文SQL数据库课程设计.docx(25页珍藏版)》请在冰豆网上搜索。
SQL+VB超市管理系统论文SQL数据库课程设计
数据库原理课程设计论文
题目(中)小型超市管理系统
学生姓名
专业班级
导师姓名
二○一三年六月
目录
1.绪论1
1.1课题研究意义1
1.2课题研究目的2
2.系统开发工具2
2.1VisualBasic简介2
2.1.1面向对象的可视化2
2.1.2.事件驱动的编程机制2
2.1.3.提供强大的数据库访问工具2
2.2.SQLSERVER2005数据库的简介3
3.可行研究和需求分析性3
3.1可行性研究3
3.2需求分析4
3.3系统层次划分4
3.3.1系统层次划分如图3.1所示4
4.系统总体设计5
4.1注册及登录5
4.1.1注册功能及代码(图4.1)5
4.1.2登录功能代码6
4.1.3登录界面相关功能与数据库连接的代码7
4.2登录后主界面功能及界面及其相关功能代码7
4.2.2主界面相关功能代码7
4.3商品信息查询界面及其相关功能代码8
4.3.1查询商品信息功能代码9
4.3.2添加商品功能代码9
4.3.3删除商品信息功能代码10
4.3.4商品信息功能与数据库连接代码11
4.4销售记录查询界面及其相关功能代码12
4.4.1查询已销售商品信息功能代码12
4.4.2添加已销售商品信息功能代码13
4.4.3删除已销售商品信息功能代码14
4.4.4销售商品信息表与数据库连接代码15
4.5员工信息查询界面及其相关功能代码15
4.5.1添加员工信息功能代码15
4.5.2查询员信息功能代码16
4.5.3删除员工信息功能代码17
4.5.4员工信息查询功能与数据库连接的代码18
5.数据设计18
5.1数据库中各数据表的说明18
5.1.1登陆表功能说明及其创建的SQL代码(表5.1)18
5.1.2商品表说明及及其创建的SQL代码(表5.2)19
5.1.3销售表说明及及其创建的SQL代码(表5.3)20
5.1.3职工表说明及及其创建的SQL代码(表5.4)21
6.经验与体会22
参考文献22
1.绪论
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
而当今时代是飞速发展的信息时代,各行各业都离不开信息处理。
计算机的最大好处在于可以利用它进行信息管理。
使用计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性。
超市管理是超市中不可缺少的重要部分,超市的管理信息量繁多,包含很多信息的数据管理。
现今,大多数大型超市商场都使用计算机进行信息管理,而小型超市商店仍然采用传统的人工管理方式,这种管理方式存在着许多缺点,如:
效率低、工作量大等,而且,随着购买者与超市数量的增长,对于超市的销售、进货、退货、交易管理等等,使更新和维护都带来了不少的困难。
本系统就是为了改变传统的超市商店这种现状所设计的。
使用计算机对超市进行管理,有着手工管理所无法比拟的优点。
例如:
查看迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够使超市管理进入科学化、正规化的轨道。
1.1课题研究意义
首先,该课题属于管理信息系统范畴。
而管理信息系统(ManagementInformationSystem,简称MIS)在现代社会已深入到各行各业,是1个不断发展的新学科,是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统。
再加上行业信息化的热潮才刚刚开始,特别是中小型企业的信息化建设步伐刚刚迈出第1步。
管理信息系统的开发的市场将是非常庞大的。
这种需求对开发人员在数量上和素质上的要求也是非常迫切的。
为了满足市场的需求以及能在竞争中取胜,系统设计人员就不仅仅是单纯地满足用户对功能的要求,还要从设计方法上来加以改进。
其次,面向对象方法是1种非常实用的软件开发方法,它一出现就受到软件技术人员的青睐,现在已经成为计算机科学研究的一个重要领域,并逐渐成为软件开发的1种主要方法。
面向对象的程序设计将数据及对数据的操作方法封装在1起,作为1个互相依存、不可分离的整体。
采用这种方法来设计系统,可以增加系统的安全性。
同时通过继承与多态性,使程序具有很高的可重用性,使软件的开发和维护带来了方便。
由于面向对象方法的突出优点,它才被广大用户所爱好。
1.2课题研究目的
研究该课题是为了通过对“小型超市管理系统”的设计与实现,熟悉这类的信息管理系统的开发原理及流程。
在设计过程,能够深入地理解面向对象设计方法的优越性,获得这些方面的相关经验。
对1个即将毕业的计算机专业本科生来说,又想在软件行业领域里有所发展,研究并应用面向对象设计方法是百益无1害的,可以使其走向社会后能够快速地适应行业需求。
这正是本次设计的根本目的所在。
2.系统开发工具
2.1VisualBasic简介
2.1.1面向对象的可视化
在VisualBasic6.0中,应用面向对象的程序设计方法(OOP),把程序和数据库封装在一起视为一个对象,而且每个对象都是可视的,程序员在设计时只需用现有的工具根据界面设计的要求,直接在“窗体”上画出诸如“按扭”、“滚动条”、“文本框”等不同类型的对象,并为它们设置“属性”编写“事件”代码即可,从而大大简化了设计的复杂度。
2.1.2.事件驱动的编程机制
VisualBasic6.0通过事件驱动来执行对象的操作。
在事件驱动的程序中,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码模块。
每个对象都有一个事件集,每个事件发生都要有有相应的程序代码来响应,即要执行一段程序代码。
事件可以由用户操作触发,也可以由操作系统或其他应用程序的消息触发,甚至可以由应用程序本身的消息触发。
这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经过的代码的路径是不同的。
在程序设计时,不需要建立明显的开始和结束的大块应用程序,也不需要指出先执行哪部分代码和按什么顺序执行代码,只需编写一些针对事件的许多小的模块子程序(也称过程)。
2.1.3.提供强大的数据库访问工具
随着计算机技术的发展,数据库越来越显示出其强大的数据存储和数据管理能力。
为了满足人们对数据库的需要,VisualBasic提供了强大的数据库程序设计能力。
它不仅能管理MicrosoftAccess格式的数据库,还能访问其他外部数据库,如FoxPro,Paradox等格式的数据库。
另外,VisualBasic还提供了开放式数据库连接(ODBC)功能,可以通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。
在应用程序中可以使用结构化查询语言(SQL)直接访问Server上的数据库,并提供简单的面向对象的库操作命令、多用户数据库的加锁机制和网络数据库的编程技术,为单机上运行的数据库提供SQL网络接口,以便于在分布式环境中快速而有效地实现客户/服务器方案。
2.2.SQLSERVER2005数据库的简介
SQL是一种标准,是一门ANSI的标准计算机语言,用来访问和操作数据库系统。
SQL语句用于取回和更新数据库中的数据。
SQL可与数据库程序协同工作,比如MSAccess、DB2、Informix、MSSQLServer、Oracle、Sybase以及其他数据库系统。
SQL(StructuredQueryLanguage),结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
3.可行研究和需求分析性
软件开发最初的工作就是问题定义,也就是确定超市中要求解决的问题是什么;做好软件定义时期的工作是降低软件成本提高软件质量的关键。
在软件开发的不同阶段进行修改需要付出的代价是很不相同的,越在早期改正错误,付出的代价就越小,了解了它的重要性之后,我明白前期工作一定要做好才能更好地提高工作效率。
我把任务超市又仔细地研究了一遍,充分明白了它的要求后,接下来作可行性研究,只有做好可行性研究才有可能把以后的工作做好。
3.1可行性研究
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
不能靠主观猜想,只能靠客观分析。
首先应该近一步地分析和澄清问题定义,如果正确则进一步加以肯定,如果有错则应立刻改正,经过仔细审查,然后从三方面分析它的可行性:
(1)技术可行性(即使用现有的技术能实现这个系统吗):
VB功能强大,能用简单的方法完成复杂的问题。
(2)操作可行性(系统的操作方式在这个用户组织能行的通吗):
本系统操作简单,系统的运行不需要特定的环境。
(3)经济可行性(系统的经济效益是否能超过它的开发成本):
产生的经济效益远超过它的开发成本。
3.2需求分析
需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
可行性研究阶段产生的文档是需求分析的出发点。
需求分析阶段系统本人仔细研究超市管理系统应实现的功能并将它们具体化。
针对一般超市管理系统的需求,通过对超市管理工作过程的内容分析与本人所要承担的任务,设计出下面的数据项和数据结构:
(1)商品信息查询:
包括商品号、商品名称、单价、商品类型、库存量、厂商等信息。
(2)销售记录查询:
包括销售号、销售职工号、商品号和销售时间等信息。
(3)销售员工信息表,包含的数据项有职工号、姓名、性别和用户类型等
3.3系统层次划分
3.3.1系统层次划分如图3.1所示
小型超市管理系统
商品信息查询
销售员工信息
销售记录查询
图3.1系统层次划分图
4.系统总体设计
4.1注册及登录
该功能可以实现用户的注册和登录
4.1.1注册功能及代码(图4.1)
图4.1用户注册
注册功能代码
PrivateSub注册_Click()
IfText1.Text=""OrText2.Text=""Then
MsgBox"用户名和密码不能为空",16+4,"警告"
Else
DimrsAsNewADODB.Recordset
str1="select*from登录表where用户名='"&Text1.Text&"'"
rs.Openstr1,cn,1,3
rs.AddNew
rs("用户名")=Text1.Text
rs("密码")=Text2.Text
rs.Update
MsgBox"注册成功",64,"信息提示"
EndIf
EndSub
4.1.2登录功能代码
PrivateSubCommand1_Click()
strsql="select*from登录表where用户名='"&Text1.Text&"'"&"and密码='"&Text2.Text&"'"
rs.Openstrsql,cn,1,3
Ifrs.EOFThen
MsgBox"用户名或密码错了",32,"警告"
Else
Form5.Show
UnloadMe
EndIf
EndSub
4.1.3登录界面相关功能与数据库连接的代码
PrivateSubForm_Load()
cn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=超市管理"
cn.Open
EndSub
4.2登录后主界面功能及界面及其相关功能代码
4.2.1登录后主界面(图4.2)
图4.2登录后主界面
4.2.2主界面相关功能代码
DimcnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
'Downloadby
PrivateSubCommand1_Click()
Form2.Show
UnloadMe
EndSub
PrivateSubCommand2_Click()
Form3.Show
UnloadMe
EndSub
PrivateSubCommand3_Click()
Form5.Show
UnloadMe
EndSub
PrivateSubCommand4_Click()
Form4.Show
UnloadMe
EndSub
4.3商品信息查询界面及其相关功能代码
4.3.1查询商品信息功能代码
PrivateSubCommand1_Click()
str1="select*from商品表where商品号='"&Text1.Text&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
Ifrs.EOFThen
MsgBox"该商品不存在"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource=str1
Adodc1.Refresh
Else
Text1.Text=rs("商品号")
Text2.Text=rs("商品名称")
Text3.Text=rs("库存量")
Text4.Text=rs("商品类型")
Text5.Text=rs("厂商")
Text6.Text=rs("单价")
EndIf
EndSub
4.3.2添加商品功能代码
PrivateSubCommand2_Click()
str1="select*from商品表where商品号='"&Text1.Text&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
Ifrs.EOFThen
rs.AddNew
rs("商品号")=Text1.Text
rs("商品名称")=Text2.Text
rs("库存量")=Text3.Text
rs("商品类型")=Text4.Text
rs("厂商")=Text5.Text
rs("单价")=Text6.Text
rs.Update
MsgBox"数据添加成功",64,"信息提示"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*from商品表"
Adodc1.Refresh
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Else
MsgBox"该商品已经存在了",16,"警告"
EndIf
EndSub
4.3.3删除商品信息功能代码
PrivateSubCommand4_Click()
DimrsAsNewADODB.Recordset
Dimrs1AsNewADODB.Recordset
Ifrs.State=1Then
rs.Close
EndIf
Ifrs1.State=1Then
rs1.Close
EndIf
rs1.Open"select*from商品表where商品号='"&Text1.Text&"'and商品名称='"&Text2.Text&"'",cn,1,3
Ifrs1.EOFThen
MsgBox"没有此种商品不能删除!
"
Else
rs.Open"delete商品表where商品号='"&Text1.Text&"'and商品名称='"&Text2.Text&"'",cn,1,3
MsgBox"确定删除吗",32+4,"警告"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*from商品表"
Adodc1.Refresh
EndIf
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
EndSub
4.3.4商品信息功能与数据库连接代码
PrivateSubForm_Load()
cn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=超市管理"
cn.Open
EndSub
4.4销售记录查询界面及其相关功能代码
4.4.1查询已销售商品信息功能代码
PrivateSubCommand1_Click()
str1="select*from销售表where销售号='"&Text1.Text&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
Ifrs.EOFThen
MsgBox"该销售商品不存在"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource=str1
Adodc1.Refresh
Else
Text1.Text=rs("销售号")
Text2.Text=rs("职工号")
Text3.Text=rs("商品号")
Text4.Text=rs("销售数量")
Text6.Text=rs("销售时间")
EndIf
EndSub
4.4.2添加已销售商品信息功能代码
PrivateSubCommand2_Click()
str1="select*from销售表where销售号='"&Text1.Text&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
Ifrs.EOFThen
rs.AddNew
rs("销售号")=Text1.Text
rs("职工号")=Text2.Text
rs("商品号")=Text3.Text
rs("销售数量")=Text4.Text
rs("销售时间")=Text6.Text
rs.Update
MsgBox"数据添加成功",64,"信息提示"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*from销售表"
Adodc1.Refresh
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text6.Text=""
Else
MsgBox"该种销售商品已经存在了",16,"警告"
EndIf
EndSub
4.4.3删除已销售商品信息功能代码
PrivateSubCommand3_Click()
IfAdodc1.Recordset.EOF=FalseThen
c=MsgBox("您确认要删除该记录吗?
",32+4,"特别提示")
X=Adodc1.Recordset.Fields(0)
Ifc=vbYesThen
str1="select*from销售表where销售号='x"&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
'Adodc1.Recordset.Delete
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*from销售表"
Adodc1.Refresh
MsgBox"销售商品的所有信息成功删除",64,"信息提示"
Adodc1.Refresh
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text6.Text=""
EndIf
Else
MsgBox"当前数据库中已经没有可删除的记录",64,"警告"
EndIf
EndSub
4.4.4销售商品信息表与数据库连接代码
PrivateSubForm_Load()
cn.ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=超市管理"
cn.Open
EndSub
4.5员工信息查询界面及其相关功能代码
4.5.1添加员工信息功能代码
PrivateSubCommand1_Click()
str1="select*from销售人员表where职工号='"&Text1.Text&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
Ifrs.EOFThen
rs.AddNew
rs("职工号")=Text1.Text
rs("姓名")=Text2.Text
rs("性别")=Text3.Text
rs("用户类型")=Text4.Text
rs.Update
MsgBox"用户添加成功",64,"信息提示"
Adodc1.CommandType=adCmdText