数据库实训库存系统.docx
- 文档编号:1306471
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:30
- 大小:2.30MB
数据库实训库存系统.docx
《数据库实训库存系统.docx》由会员分享,可在线阅读,更多相关《数据库实训库存系统.docx(30页珍藏版)》请在冰点文库上搜索。
实习报告
实习题目:
库存销售管理系统
实习时间
实习地点
实习学时
30
实习
目的
学习使用vb6.0、sqlsever2008开发数据库应用程序的一般方法及步骤;熟悉数据库,熟练使用数据库程序开发中的相关组件;对前面所学的知识做总结与回顾。
实习
内容
使用VisualBasic6.0开发工具开发一个库存销售管理系统,该系统采用SQLServer2008数据库保存库存货物信息,数据库中包括货物出入库信息和商品销售等信息。
该系统包括系统登录、货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。
实习
分工
安排
独立完成模块设计、内容搭建以及数据库数据连接
实
习
要
求
使用VisualBasic6.0和SQLServer2008开发库存销售管理系统
实习
主要
设施
设备
VisualBasic6.0、SQLServer2008、Win7系统的PC机一台
实
习
成
果
开发并成功运行了一个简单的库存销售管理系统,该系统采用SQLServer2008数据库保存库存货物信息,数据库中包括货物出入库信息和商品销售等信息。
该系统包括系统登录、货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。
实习报告
1引言
1.1系统概述
使用VisualBasic6.0开发工具开发一个库存销售管理系统,该系统采用SQLServer2008数据库保存库存货物信息,数据库中包括货物出入库信息和商品销售等信息。
该系统包括系统登录、货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。
1.2需求分析
使用VisualBasic6.0开发工具开发一个库存销售管理系统,该系统采用SQLServer2005数据库保存库存货物信息,数据库中包括货物出入库信息和商品销售等信息。
该系统包括系统登录、货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。
系统主要实现以下目标:
l实现系统登录及修改用户密码的功能。
l对库存货物的出入库信息进行管理。
l对商品的销售信息进行管理。
l根据销售日期统计商品的销售数据。
1.3运行环境
win7系统,vb6.0以及SQLServer2008
2概要设计
2.1设计思路
1.设计数据库2.设计连接数据库的模块3.系统登陆模块设计4.系统主界面的实现5.出入库管理模块的设计与实现6.商品销售模块的设计与实现7.销售统计模块的设计与实现8.修改密码模块的设计与实现
2.2模块功能介绍
连接数据库的模块:
负责连接数据库
系统登陆模块:
用来匹配用户名和用户密码
出入库管理模块:
记录存货信息,储存到数据库
商品销售模块:
用来贩卖商品后更新数据库
销售统计模块:
用来对销售出去的货品信息进行统计
修改密码模块:
提供更改用户密码服务
2.3模块结构图
系统登录模块
出入库管理模块
修改密码模块
销售统计模块
商品销售模块
2.4程序流程图
3 详细设计
1设计数据库;
建立一个名为“DB_KCGL”的数据库,根据前述的主要功能目标,需要建立3个数据表(关系):
3NF
(1)Tb_InOut:
保存货物的出入库信息
(2)Tb_Sale:
保存商品的销售信息
(3)Tb_User:
保存系统用户的信息
2设计连接数据库的模块
(1)选择“工程”菜单下的“添加模块”命令,在应用程序中添加一个模块Module1。
(2)Module1模块的实现如下:
'数据连接模块
PublicMyStrsAsString
PublicDB_AdoRsAsNewADODB.Recordset'后添加一个记录集对象
PublicDB_AdoRs1AsNewADODB.Recordset'后添加一个记录集对象
PublicDB_AdoRs2AsNewADODB.Recordset'后添加一个记录集对象
PublicFunctionCnn()AsADODB.Connection'定义连接字符串函数
SetCnn=NewADODB.Connection
Cnn.Open"Provider=SQLOLEDB.1;Integrated
Security=SSPI;PersistSecurityInfo=False;InitialCatalog=DB_KCGL;Data
Source=."
EndFunction
PublicSubMain()
MyStrs="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=DB_KCGL;DataSource=."
'显示系统登录窗体
frm_xtdl.Show
EndSub
(3)这里需要将程序的入口设置为模块中的Main()函数。
选择“工程”菜单下的“工程属性”命令,在“通用”标签中进行相应设置。
3系统登陆模块设计
3.1系统登录对话框
3.1.1对话框设计,设计图如下:
3.1.2窗体设计
设计的登录窗体,需要在窗体中要添加一个ADO控件,命名为Adodc1。
3.1.3代码解析
(1)登录窗体启动之后,我们需要将Tb_User数据表中的所有用户名称信息添加到窗体的ComboBox控件的Op_Name属性中,即实现在“操作员名称”下拉列表中可以出现系统当前的操作员信息,供登录用户选择。
具体操作如下:
PrivateSubForm_Load()
'使用代码连接数据库与数据表
Adodc1.ConnectionString=MyStrs
Adodc1.RecordSource="select*fromTb_User"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
Adodc1.Recordset.MoveFirst
Op_Name.Clear
'在添加数据时,首先清空控件中的内容
DoWhileAdodc1.Recordset.EOF=False'将操作员信息添加到下拉列表框控件当中
Op_Name.AddItem(Adodc1.Recordset.Fields("tb_name"))
Adodc1.Recordset.MoveNext
Loop
EndIf
EndSub
(2)当用户在“操作员名称”下拉列表中选择操作员的名称,并且在“操作员密码”文本框输入正确的密码之后,单击“确定”按钮将登录到系统中,否则将无法登录系统。
具体实现如下:
PrivateSubCmd_Ok_Click()
Adodc1.RecordSource="select*fromTb_Userwheretb_name='"&Op_Name.Text&"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
MPassword=Adodc1.Recordset.Fields("tb_pas")
IfTxt_Password.Text=MPasswordThen'判断数据的密码是否正确
Name1=Op_Name.Text
Frm_main.StatusBar1.Panels.Item
(2).Text="当前操作员:
"+Adodc1.Recordset.Fields("tb_name")
Frm_main.Show
'通过身份验证则显示主窗体,登录到系统当中
UnloadMe
Else
MsgBox"密码不正确,请您确认后重新输入",,"提示信息"
Txt_Password.Text=""
Txt_Password.SetFocus
EndIf
Else
MsgBox"对不起没有此用户的信息",,"提示信息"
Op_Name.Text=""
Txt_Password.Text=""
EndIf
EndSub
(3)当点击取消时,将所在窗体本身从内存中移除,所实现代码如下:
PrivateSubCommand2_Click()
UnloadMe
EndSub
4系统主界面的实现
3.2.1对话框设计,设计图如下图:
3.2.2窗体设计
(1)在工程中添加一个窗体,将窗体命名为Frm_main,将窗体Caption属性设置为“库存管理系统”。
(2)添加一个Toolbar控件,工具栏由“修改密码”、“库存管理”、“商品销售”、“销售统计”和“退出系统”5个按钮组成。
(3)添加一个StatusBar控件,使得状态栏中能够显示登录操作员姓名和当前系统时间等信息。
(4)在主窗体上添加一个时钟控件,用于显示系统当前日期和时间信息。
(5)在主窗体上添加一个Label标签控件,将其Caption属性设置为“库存管理系统”。
3.2.3代码解析
(1)窗体启动时,在窗体的状态栏中将显示当前系统的日期信息,并实时更新时间为当前系统的时间:
PrivateSubForm_Load()
StatusBar1.Panels.Item(3).Text=Format(Now,"yyyy年mm月dd日")
Timer1.Enabled=True
EndSub
(2)单击窗口工具栏按钮时,将会调用系统的各个子功能模块:
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Index
Case1
Frm_Pas.Show'修改密码
Case2
Frm_Inout.Show'库存管理
Case3
Frm_Sale.Show'商品销售
Case4
Frm_Stat.Show'销售统计
Case5
End'退出系统
EndSelect
EndSub
(3)在时钟控件的Timer事件中添加如下代码,实现在状态栏中显示当前系统时间的功能:
PrivateSubTimer1_Timer()
StatusBar1.Panels.Item(4).Text=
Time
EndSub
(4)再向状态栏中添加公司名称,操作员和公司网址信息。
5出入库管理模块的设计与实现
对话框设计,设计图如下图:
3.3.2窗体设计
(1)在工程中添加一个窗体,命名为Frm_Inout,将窗体Caption设置为“出入库管理”。
(2)在窗体上添加相应的控件。
(3)通过“工程”菜单下的“部件”命令将DataGrid数据表格控件添加到工具箱中,然后在窗体上添加1个数据表格控件DataGrid1。
(4)在窗体上添加一个ADO控件Adodc1,同时将DataGrid1的数据源属性DataSource设置为Adodc1。
3.3.3代码解析
(1)窗口载入时,将数据库中商品表数据读出:
PrivateSubForm_Load()
Adodc1.ConnectionString=MyStrs
Adodc1.RecordSource="select*fromTb_InOutorderbyid"
Adodc1.Refresh
AddTitle
EndSub
(2)其中,AddTitle函数用于向DataGrid1添加表头,实现如下:
PrivateSubAddTitle()
DataGrid1.Columns.Item(0).Caption="编号"
DataGrid1.Columns.Item
(1).Caption="名称"
DataGrid1.Columns.Item
(2).Caption="类型"
DataGrid1.Columns.Item(3).Caption=
"数量"
DataGrid1.Columns.Item(4).Caption="单价"
DataGrid1.Columns.Item(5).Caption="入库日期"
DataGrid1.Columns.Item(6).Caption="备注"
EndSub
(3)点击“添加”按钮,清空编辑框,让用户输入新的待添加内容:
PrivateSubCommand1_Click()
'清空文本框中的内容
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text1.SetFocus
EndSub
(4)点击“删除”按钮,删除选中当前记录:
PrivateSubCommand2_Click()
'删除库存信息
c=MsgBox("确认要删除该信息吗",17,"提示信息")
Ifc=vbOKThen
'如果有错误则执行错误处理
OnErrorResumeNext
SetDB_AdoRs=Cnn.Execute("DeletefromTb_InOutwhereid='"+Text1.Text+"'")
'删除后刷新数据信息
Adodc1.RecordSource=
"select*fromTb_InOutorderbyid"
Adodc1.Refresh
AddTitle
EndIf
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
EndSub
(5)点击“修改”按钮,修改当前的记录信息:
PrivateSubCommand4_Click()
'修改库存信息
c=MsgBox("确认修改信息吗",33,"提示信息")
Ifc=vbOKThen
'OnErrorResumeNext
SetDB_AdoRs=Cnn.Execute("UPDATETb_InOutSETtb_title='"+Text2+"',tb_style='"+Text3+"',tb_nums='"
+Text4+"',tb_values='"_
+Text5+"',tb_mark='"+Text6+"'whereid='"+Text1.Text+"'")
MsgBox"数据修改成功",64,"提示信息"
Adodc1.RecordSource="select*fromTb_InOutorderbyid"
Adodc1.Refresh
AddTitle
EndIf
EndSub
(6)点击“保存”按钮,将保存文本框中输入的货物信息:
PrivateSubCommand5_Click()
IfText1.Text=""OrText2.Text=""Then
MsgBox"保存的数据信息不能为空",48,"提示信息"
Else
DB_AdoRs.Open"select*fromTb_InOutwheretb_title='"+Text2.Text+"'",Cnn,adOpenKeyset
IfDB_AdoRs.RecordCount>0Then'判断要保存的信息是否已经存在
MsgBox"该货物信息信息已经存在",48,"提示信息"
DB_AdoRs.Close
Else
DB_AdoRs.Close
c=MsgBox("确认保存信息吗",33,"提示信息")
Ifc=vbOKThen
'如果选择的是"确定"按钮则保存信息
SetDB_AdoRs=Cnn.Execute("insertintoTb_InOutvalues("&Text1&",'"&Text2&"','"&Text3&"',"&Text4&","_
&Text5&",'"&Date&"','"&Text6&"')")
MsgBox"信息保存成功",64,"提示信息"
Else
EndIf
'保存数据后刷新数据信息
Adodc1.RecordSource="select*fromTb_InOutorderbyid"
Adodc1.Refresh
AddTitle
EndIf
EndIf
EndSub
(7)点击退出,销毁当前窗口:
PrivateSubCommand6_Click()
UnloadMe
EndSub
(8)单击DataGrid1中的相应记录,会在窗体左侧的各个编辑框中显示相应的内容:
PrivateSubDataGrid1_Click()
'OnErrorResumeNext
IfAdodc1.Recordset.RecordCount>0Then
Text1.Text=Adodc1.Recordset.Fields(0)
Text2.Text=Adodc1.Recordset.Fields
(1)
Text3.Text=Adodc1.Recordset.Fields
(2)
Text4.Text=Adodc1.Recordset.Fields(3)
Text5.Text=Adodc1.Recordset.Fields(4)
Text6.Text=Adodc1.Recordset.Fields(6)
EndIf
EndSub
6商品销售模块的设计与实现
对话框设计,设计图如下图:
3.4.2窗体设计
(1)在工程中添加一个窗体,命名为Frm_Sale,将Caption属性设置为“商品销售管理”。
(2)在窗体上添加相应的控件。
(3)通过“工程”菜单下的“部件”命令将DataGrid数据表格控件添加到工具箱中,然后在窗体上添加1个数据表格控件DataGrid1。
(4)在窗体上添加2个ADO控件Adodc1和Adodc2,同时将DataGrid1的数据源属性DataSource设置为Adodc2。
3.4.3代码解析
(1)窗体启动时,将商品库存中的货物名称信息添加到下拉列表中,然后再将商品销售的数据信息显示在DataGrid1控件中:
PrivateSubForm_Load()
'使用代码连接数据库与数据表
Adodc1.ConnectionString=MyStrs
Adodc1.RecordSource="select*fromTb_InOut"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>0Then
Adodc1.Recordset.MoveFirst
Combo1.Clear
DoWhileAdodc1.Recordset.EOF=False
'添加货物名称信息到下拉列表
Combo1.AddItem(Adodc1.Recordset.Fields("tb_title"))
Adodc1.Recordset.MoveNext
Loop
EndIf
Adodc2.ConnectionString=MyStrs
Adodc2.RecordSource="select*fromtb_Sale"
Adodc2.Refresh
AddTitle
EndSub
'添加数据库字段标题的事件过程
PrivateSubAddTitle()
DataGrid1.Columns.Item(0).Caption="编号"
DataGrid1.Columns.Item
(1).Caption="货物名称"
DataGrid1.Columns.Item
(2).Ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 库存 系统