食品信息管理.docx
《食品信息管理.docx》由会员分享,可在线阅读,更多相关《食品信息管理.docx(18页珍藏版)》请在冰豆网上搜索。
食品信息管理
沈阳航空航天大学
课程设计
学号2009040301008
班级94030101
姓名程渺
指导教师刘学平
2011年3月18日
沈阳航空航天大学
课程设计任务书
学院:
航宇专业:
飞行器制造班级:
94030101
学号:
2009040301008题目:
食品信息管理
一、课程设计时间
2011年3月7日~11日(第1周),共计1周。
二、课程设计内容
某食品商店货物信息保存在文本文件或Access数据库的一个表中,信息内容包括:
食品编号,食品名称,生产厂家,单价(元),现有数量。
程序应实现以下功能:
信息录入、修改;按编号查询、按名称查询;统计库存的价值总量、统计食品来源于哪些不同厂家。
要求食品类别不少于10种。
用户界面中的菜单至少应包括“信息维护”、“查询”、“统计”、“退出”4项。
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课设结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
目录
需求分析3
设计分析5
总结17
完整的源程序18
参考文献22
需求分析
模拟食品信息管理,主要指“维护信息”,“查询信息”和“统计信息”3种业务。
而“维护信息”又包括“添加”,“修改”,“删除”相关信息记录。
由于食品信息表为销售者以及监督者提供参考,所以该系统能够“查询”到每一条食品信息记录,并且统计出食品来源于那些厂家以及所有食品的“价值总量”。
要求:
①在Access中创建食品信息表,以“维护”,“查询”和“统计”3方面信息。
此表的结构应如下定义:
食品编号,食品名称,生产厂家,单价(元),现有数量。
②能够随时查询某一食品的相关信息。
③能够随时计算价值总量。
④能够随时添加、修改、删除相关食品信息。
设计分析
(1)基本原理:
建立程序设计与数据库的连接,用SQL语句在数据库中查找、添加和更改数据。
(2)总体设计:
(3)详细设计:
(4)数据库设计
食品信息表用于记录食品编号,食品名称,生产厂家,单价(元),剩余价值等信息,其逻辑结构下表所示
表1食品信息表
字段名称
字段类型
宽度
小数位
食品编号
数字
10
自动
食品名称
文本
10
生产厂家
文本
10
单价
货币
10
自动
剩余数量
数字
10
自动
关键技术
1建立与数据库的连接代码如下
PrivateSubForm_Load()
Dimmpath$,mlink$
mpath=App.Path'获取程序所在的路径
IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"'判断是否为子目录
mlink="Provider=Microsoft.Jet.OLEDB.4.0;"'指定提供者
mlink=mlink+"DataSource="+mpath+"db3.mdb"'在数据库文件名前插入路径
Adodc1.ConnectionString=mlink'设置连接属性
Adodc1.CommandType=adCmdUnknown'指定命令类型
Adodc1.RecordSource="select*from食品信息"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
2维护数据的代码如下
PrivateSubmenu1_Click()
Command1.Visible=True
Command2.Visible=False
Command3.Visible=False
Command4.Visible=False
Label6.Visible=False
Text2.Visible=False
Label1.Visible=True
Label2.Visible=True
Label3.Visible=True
Label4.Visible=True
Label5.Visible=True
Text1(0).Visible=True
Text1
(1).Visible=True
Text1
(2).Visible=True
Text1(3).Visible=True
Text1(4).Visible=True
EndSub
(1)添加信息的代码如下
PrivateSubmenu11_Click()
Adodc1.Recordset.AddNew
Text1(0).SetFocus
EndSub
(2)修改信息的代码如下
PrivateSubmenu12_Click()
MsgBox"请选择要修改的记录"
EndSub
(3)删除信息的代码如下
PrivateSubmenu13_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndSub
●备注:
维护确定按钮代码如下
PrivateSubCommand1_Click()
Adodc1.Recordset.Update
EndSub
3查询信息代码如下
PrivateSubmenu2_Click()
Label1.Visible=True
Label2.Visible=True
Label3.Visible=True
Label4.Visible=True
Label5.Visible=True
Text1(0).Visible=True
Text1
(1).Visible=True
Text1
(2).Visible=True
Text1(3).Visible=True
Text1(4).Visible=True
Command3.Visible=True
Command2.Visible=True
Command1.Visible=False
Command4.Visible=False
Label6.Visible=False
Text2.Visible=False
EndSub
(1)按编号查询代码如下
PrivateSubmenu22_Click()
Text1(0)=""
Text1(0).SetFocus
MsgBox"请输入一个食品编号"
Command1.Visible=False
Command3.Visible=False
EndSub
PrivateSubCommand2_Click()
m=Text1(0)
Adodc1.RecordSource="select*from食品信息where食品编号="&m&""
Adodc1.Refresh
EndSub
(2)按名称查询代码如下
PrivateSubmenu21_Click()
Text1
(1)=""
Text1
(1).SetFocus
MsgBox"请输入一个食品姓名"
Command1.Visible=False
Command2.Visible=False
EndSub
PrivateSubCommand3_Click()
Dimn$
n=Text1
(1)
Adodc1.RecordSource="select*from食品信息where食品名称='"&n&"'"
Adodc1.Refresh
EndSub
4统计代码如下
PrivateSubmenu3_Click()
Command1.Visible=False
Command2.Visible=False
Command3.Visible=False
Command4.Visible=True
Label1.Visible=False
Label2.Visible=False
Label3.Visible=False
Label4.Visible=False
Label5.Visible=False
Text1(0).Visible=False
Text1
(1).Visible=False
Text1
(2).Visible=False
Text1(3).Visible=False
Text1(4).Visible=False
Label6.Visible=True
Text2.Visible=True
EndSub
(1)统计来源厂家代码如下
PrivateSubmenu32_Click()
Text2.SetFocus
Adodc1.RecordSource="select生产厂家as所有生产厂家,count(*)as食品数from食品信息groupby生产厂家"
Adodc1.Refresh
EndSub
(2)统计价值总量代码如下
PrivateSubmenu31_Click()
Dima%,i%
a=Adodc1.Recordset.RecordCount
ReDimb(1Toa),c(1Toa)
Adodc1.Recordset.MoveFirst
Fori=1Toa
b(i)=Text1(3):
c(i)=Text1(4)
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
Nexti
EndSub
PrivateSubCommand4_Click()
Dims!
i%
a=Adodc1.Recordset.RecordCount
Fori=1Toa
s=s+b(i)*c(i)
Nexti
Text2.Text=s
EndSub
5复原信息代码如下
PrivateSubmenu5_Click()
Label1.Visible=True
Label2.Visible=True
Label3.Visible=True
Label4.Visible=True
Label5.Visible=True
Text1(0).Visible=True
Text1
(1).Visible=True
Text1
(2).Visible=True
Text1(3).Visible=True
Text1(4).Visible=True
Command3.Visible=True
Command2.Visible=True
Command1.Visible=True
Adodc1.RecordSource="select*from食品信息"
Adodc1.Refresh
EndSub
总结
这次课设我的题目是食品信息管理系统。
我们知道,随着信息化建设的不断深入发展,数据库技术已成为计算机应用中的一个重要组成部分。
通过这次课设让我了解了VB与数据库之间的联系,VB还将Windows的各种特性与强大的数据库管理功能有机的结合在一起。
比如,可以应用ADO技术使VB与数据库进行联系,使文本框或组合框控件能够与数据库绑定起来,以便直观的读取数据和方便、快速地计算。
还可以应用SQL语言查询和更改数据库中的信息,并能向其中添加新的信息。
还能删除、修改、查询里面的信息,并且可以统计各种数量。
在课设过程中,我遇到了重重困难,例如:
VB与数据库的连接技术,利用For循环语句来统计、计算记录的价值总量。
通过老师的指点和自己查阅资料,我克服了困难,顺利的完成了任务。
在此说声感谢。
同时我也让我们懂得如何去培养那种独立的学习能力:
分析问题、解决问题、反思问题。
总之,这次课设使我受益匪浅。
完整的源程序
Dimb()AsSingle,c()AsSingle
PrivateSubCommand1_Click()
Adodc1.Recordset.Update
EndSub
PrivateSubCommand2_Click()
m=Text1(0)
Adodc1.RecordSource="select*from食品信息where食品编号="&m&""
Adodc1.Refresh
EndSub
PrivateSubCommand3_Click()
Dimn$
n=Text1
(1)
Adodc1.RecordSource="select*from食品信息where食品名称='"&n&"'"
Adodc1.Refresh
EndSub
PrivateSubCommand4_Click()
Dims!
i%
a=Adodc1.Recordset.RecordCount
Fori=1Toa
s=s+b(i)*c(i)
Nexti
Text2.Text=s
EndSub
PrivateSubForm_Load()
Dimmpath$,mlink$
mpath=App.Path'获取程序所在的路径
IfRight(mpath,1)<>"\"Thenmpath=mpath+"\"'判断是否为子目录
mlink="Provider=Microsoft.Jet.OLEDB.4.0;"'指定提供者
mlink=mlink+"DataSource="+mpath+"db3.mdb"'在数据库文件名前插入路径
Adodc1.ConnectionString=mlink'设置连接属性
Adodc1.CommandType=adCmdUnknown'指定命令类型
Adodc1.RecordSource="select*from食品信息"
Adodc1.Refresh
SetDataGrid1.DataSource=Adodc1
EndSub
PrivateSubmenu1_Click()
Command1.Visible=True
Command2.Visible=False
Command3.Visible=False
Command4.Visible=False
Label6.Visible=False
Text2.Visible=False
Label1.Visible=True
Label2.Visible=True
Label3.Visible=True
Label4.Visible=True
Label5.Visible=True
Text1(0).Visible=True
Text1
(1).Visible=True
Text1
(2).Visible=True
Text1(3).Visible=True
Text1(4).Visible=True
EndSub
PrivateSubmenu11_Click()
Adodc1.Recordset.AddNew
Text1(0).SetFocus
EndSub
PrivateSubmenu12_Click()
MsgBox"请选择要修改的记录"
EndSub
PrivateSubmenu13_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndSub
PrivateSubmenu2_Click()
Label1.Visible=True
Label2.Visible=True
Label3.Visible=True
Label4.Visible=True
Label5.Visible=True
Text1(0).Visible=True
Text1
(1).Visible=True
Text1
(2).Visible=True
Text1(3).Visible=True
Text1(4).Visible=True
Command3.Visible=True
Command2.Visible=True
Command1.Visible=False
Command4.Visible=False
Label6.Visible=False
Text2.Visible=False
EndSub
PrivateSubmenu21_Click()
Text1
(1)=""
Text1
(1).SetFocus
MsgBox"请输入一个食品姓名"
Command1.Visible=False
Command2.Visible=False
EndSub
PrivateSubmenu22_Click()
Text1(0)=""
Text1(0).SetFocus
MsgBox"请输入一个食品编号"
Command1.Visible=False
Command3.Visible=False
EndSub
PrivateSubmenu3_Click()
Command1.Visible=False
Command2.Visible=False
Command3.Visible=False
Command4.Visible=True
Label1.Visible=False
Label2.Visible=False
Label3.Visible=False
Label4.Visible=False
Label5.Visible=False
Text1(0).Visible=False
Text1
(1).Visible=False
Text1
(2).Visible=False
Text1(3).Visible=False
Text1(4).Visible=False
Label6.Visible=True
Text2.Visible=True
EndSub
PrivateSubmenu31_Click()
Dima%,i%
a=Adodc1.Recordset.RecordCount
ReDimb(1Toa),c(1Toa)
Adodc1.Recordset.MoveFirst
Fori=1Toa
b(i)=Text1(3):
c(i)=Text1(4)
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
Nexti
EndSub
PrivateSubmenu32_Click()
Text2.SetFocus
Adodc1.RecordSource="select生产厂家as所有生产厂家,count(*)as食品数from食品信息groupby生产厂家"
Adodc1.Refresh
EndSub
PrivateSubmenu4_Click()
End
EndSub
PrivateSubmenu5_Click()
Label1.Visible=True
Label2.Visible=True
Label3.Visible=True
Label4.Visible=True
Label5.Visible=True
Text1(0).Visible=True
Text1
(1).Visible=True
Text1
(2).Visible=True
Text1(3).Visible=True
Text1(4).Visible=True
Command3.Visible=True
Command2.Visible=True
Command1.Visible=True
Adodc1.RecordSource="select*from食品信息"
Adodc1.Refresh
EndSub
参考文献
[1]刘瑞新.《VisualBasic程序设计教程》.北京:
机械工业出版社,2003
[2]龚沛曾杨志强陆慰民.《VisualBasic程序设计教程》.高等教育出版社2009
[3]龚沛曾杨志强陆慰民.《VisualBasic程序设计教程·实验指导与测试》.高等教育出版社2009
[4]王凤林《VisualBasic程序设计全程指南》北京电子工业出版社