版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.数据库课程设计实验报告姓名:黄世增班级:计算机 1403学号: 1411640305.1. 实验名称使用 Visual Basic 6.0 和 SQL Server 2014开发库存销售管理系统2. 实验目的使用 Visual Basic 6.0 开发工具开发一个库存销售管理系统,该系统采用SQL Server 2014数据库保存库存货物信息,数据库中包括货物出入库信息和商品销售等信息。该系统包括系统登录、 货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。系统主要实现以下目标:实现系统登录及修改用户密码的功能。对库存货物的出入库信息进行管
2、理。对商品的销售信息进行管理。根据销售日期统计商品的销售数据。3. 实验步骤3.1 设计数据库建立一个名为“DB_KCGL ”的数据库,根据前述的主要功能目标,需要建立3 个数据表(关系):(1)货物的出入库信息:保存货物的出入库信息id:库存货物信息的编号,主码,建议长度为18 的 numeric 类型。tb_title :库存货物的名称,建议长度为50 的 varchar 类型。tb_style:库存货物的类型,建议长度为50 的 varchar 类型。tb_nums:库存货物的数量,建议为整型int 。tb_values:库存货物的价格,实数类型real。tb_date:库存货物的入库日
3、期,时间日期类型datetime。tb_mark:库存货物的备注信息,建议长度为50 的 varchar 类型。(2)商品的销售信息:保存商品的销售信息id:商品销售信息的编号,主码,建议长度为18 的 numeric 类型。.tb_title :销售商品的名称,建议长度为50 的 varchar 类型。tb_nums:建议为整型int。tb_values:销售商品的总价,浮点类型float 。tb_date:商品销售的日期,时间日期类型datetime。(3)系统用户的信息:保存系统用户的信息id:用户信息的编号,主码,建议长度为18 的 numeric 类型。tb_name:用户名称,建议
4、长度为50 的 varchar 类型。tb_pas:用户的密码信息,建议长度为50 的 varchar 类型。3.2 设计连接数据库的模块需要首先建立一个连接数据库的模块,这样应用程序才能与数据库中的数据表取得连接,将数据信息从数据表中读出到应用程序中或通过应用程序保存到数据表中。为此,建立一个负责数据库连接的模块如下:( 1)选择“工程”菜单下的“添加模块”命令,在应用程序中添加一个模块Module1 。( 2)Module1 模块的实现如下:数据连接模块Public MyStrs As StringPublic DB_AdoRs As New ADODB.Recordset后添加一个记录集
5、对象Public DB_AdoRs1 As New ADODB.Recordset后添加一个记录集对象Public DB_AdoRs2 As New ADODB.Recordset后添加一个记录集对象Public Function Cnn() As ADODB.Connection定义连接字符串函数Set Cnn = New ADODB.ConnectionCnn.OpenProvider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;Initial Catalog=DB_KCGL;Data Source=.End F
6、unctionPublic Sub Main()MyStrs=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurity.Info=False;Initial Catalog=DB_KCGL;Data Source=.显示系统登录窗体Form1.ShowEnd Sub( 3)这里需要将程序的入口设置为模块中的Main() 函数。选择“工程”菜单下的“工程属性”命令,在“通用”标签中进行相应设置。3.3 系统登陆模块设计在本库存销售管理系统中, 只有授权用户 (管理员) 可以登录并进行库存和销售信息管理与维护, 因此需要一个系统登录界面
7、, 防止非法用户登录到系统中, 从而保证了应用程序的安全性和可靠性。3.3.1 登录窗体设计设计如下的登录窗体,在窗体中要添加一个ADO 控件,命名为Adodc1 。( 1)登录窗体启动之后,需要将系统用户的信息数据表中的所有用户名称信息添加到窗体的 ComboBox 控件的 Op_Name 属性中,即实现在“操作员名称”下拉列表中可以出现系统当前的操作员信息,供登录用户选择。Private Sub Form_Load()使用代码连接数据库与数据表Adodc1.ConnectionString = MyStrsAdodc1.RecordSource = select * from系统的用户信息
8、Adodc1.RefreshIf Adodc1.Recordset.RecordCount 0 ThenAdodc1.Recordset.MoveFirstOp_Name.Clear在添加数据时,首先清空控件中的内容Do While Adodc1.Recordset.EOF = False将操作员信息添加到下拉列表框控件当中Op_Name.AddItem (Adodc1.Recordset.Fields(tb_name).Adodc1.Recordset.MoveNextLoopEnd IfEnd Sub( 2)当用户在“操作员名称”下拉列表中选择操作员的名称,并且在“操作员密码”文本框输入正
9、确的密码之后,单击“确定”按钮将登录到系统中,否则将无法登录系统。具体实现如下:Private Sub Cmd_Ok_Click()Adodc1.RecordSource = select * from Tb_User where tb_name = & Op_Name.Text & Adodc1.RefreshIf Adodc1.Recordset.RecordCount 0 ThenMPassword = Adodc1.Recordset.Fields(tb_pas)If Txt_Password.Text = MPassword Then判断数据的密码是否正确Name1 = Op_Nam
10、e.TextFrm_Main.StatusBar1.Panels.Item(2).Text=当前操作 员:+Adodc1.Recordset.Fields(tb_name)Frm_Main.Show通过身份验证则显示主窗体,登录到系统当中Unload MeElseMsgBox 密码不正确 ,请您确认后重新输入, , 提示信息 Txt_Password.Text = Txt_Password.SetFocusEnd IfElseMsgBox 对不起没有此用户的信息, , 提示信息 Op_Name.Text = Txt_Password.Text = End IfEnd Sub3.4 系统主界面的
11、实现3.4.1 主界面设计( 1)在工程中添加一个窗体,将窗体命名为 Frm_main ,将窗体 Caption 属性设置为“库存管理系统”。( 2)添加一个 Toolbar 控件,工具栏由“修改密码”、“库存管理”、“商品销售”、“销售统计”和“退出系统” 5 个按钮组成。( 3)添加一个 StatusBar 控件,使得状态栏中能够显示登录操作员姓名和当前系统时间等信息。.(4)在主窗体上添加一个时钟控件,用于显示系统当前日期和时间信息。(5)在主窗体上添加一个Label 标签控件,将其Caption 属性设置为“库存管理系统”。3.4.2 代码实现(1)窗体启动时,在窗体的状态栏中将显示当
12、前系统的日期信息:Private Sub Form_Load()StatusBar1.Panels.Item(3).Text = Format(Now, yyyy年 mm 月 dd 日)End Sub(2)单击窗口工具栏按钮时,将会调用系统的各个子功能模块:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.IndexCase 1Frm_Pas.Show修改密码Case 2Frm_Inout.Show库存管理Case 3Frm_Sale.Show商品销售Case 4Frm_
13、Stat.Show销售统计Case 5End退出系统End SelectEnd Sub(3)在时钟控件的Timer 事件中添加如下代码,实现在状态栏中显示当前系统时间的功能:Private Sub Timer1_Timer()StatusBar1.Panels.Item(4).Text = TimeEnd Sub( 4)再向状态栏中添加公司名称,操作员和公司网址信息。系统主窗体的运行界面如下图所示:.3.5 出入库管理模块的设计与实现该模块主要是记录和维护库存中的货物信息, 其中包括对货物信息的删除、 修改和保存等方面的功能。3.5.1 窗体界面设计( 1)在工程中添加一个窗体,命名为Frm_
14、Inout ,将窗体 Caption 设置为“出入库管理”。( 2)在窗体上添加相应的控件,如下图所示。.(3)通过“工程”菜单下的“部件”命令将DataGrid 数据表格控件添加到工具箱中,然后在窗体上添加1 个数据表格控件DataGrid1 。(4)在窗体上添加一个ADO 控件 Adodc1 ,同时将DataGrid1 的数据源属性DataSource 设置为 Adodc1 。3.5.2 程序代码实现(1)窗口载入时,将数据库中商品表数据读出。Private Sub Form_Load()Adodc1.ConnectionString = MyStrsAdodc1.RecordSource
15、 = select * from货物的出入库信息order by idAdodc1.RefreshAddTitleEnd Sub其中, AddTitle 函数用于向DataGrid1 添加表头,实现如下:添加数据库字段标题的事件过程Private Sub AddTitle()DataGrid1.Columns.Item(0).Caption = 编号 DataGrid1.Columns.Item(1).Caption = 名称 DataGrid1.Columns.Item(2).Caption = 类型 DataGrid1.Columns.Item(3).Caption = 数量 DataGr
16、id1.Columns.Item(4).Caption = 单价 DataGrid1.Columns.Item(5).Caption = 入库日期 DataGrid1.Columns.Item(6).Caption = 备注 .End Sub(2)点击“添加”按钮,清空编辑框,让用户输入新的待添加内容Private Sub Command1_Click()清空文本框中的内容Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text1.SetFocusEnd Sub(3)点击“删除”按钮,删
17、除选中当前记录。Private Sub Command2_Click()删除库存信息c = MsgBox( 确认要删除该信息吗, 17, 提示信息 )If c = vbOK Then如果有错误则执行错误处理On Error Resume NextSet DB_AdoRs = Cnn.Execute(Delete from 货物的出入库信息 where id= + Text1.Text + )MsgBox 数据删除成功 , 64, 提示信息 删除后刷新数据信息Adodc1.RecordSource = select * from货物的出入库信息order by idAdodc1.RefreshA
18、ddTitleEnd IfText1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = End Sub(4)点击“修改”按钮,修改当前的记录信息。Private Sub Command3_Click()修改库存信息c = MsgBox( 确认修改信息吗, 33, 提示信息 )If c = vbOK Then. On Error Resume NextSet DB_AdoRs = Cnn.Execute(UPDATE 货物的出入库信息 SET tb_title= + Text2 + ,tb_style=
19、 + Text3 + ,tb_nums= + Text4 + ,tb_values= _+ Text5 + ,tb_mark= + Text6 + where id= + Text1.Text + ) MsgBox 数据修改成功 , 64, 提示信息 Adodc1.RecordSource = select * from货物的出入库信息order by idAdodc1.RefreshAddTitleEnd IfEnd Sub(5)点击“保存”按钮,将保存文本框中输入的货物信息。Private Sub Command4_Click()If Text1.Text = Or Text2.Text
20、= Or Text3.Text = Or Text4.Text = Or Text5.Text = Or Text6.Text = ThenMsgBox 保存的数据信息不能为空, 48, 提示信息 ElseDB_AdoRs.Open select * from 货物的出入库信息where tb_title=+ Text2.Text + ,Cnn, adOpenKeysetIf DB_AdoRs.RecordCount 0 Then判断要保存的信息是否已经存在MsgBox 该货物信息信息已经存在, 48, 提示信息 DB_AdoRs.CloseElseDB_AdoRs.Closec = MsgB
21、ox( 确认保存信息吗, 33, 提示信息 )If c = vbOK Then 如果选择的是“确定”按钮则保存信息Set DB_AdoRs = Cnn.Execute(insert into货物的出入库信息values( & Text1& , & Text2 & , & Text3 & , & Text4 & , _& Text5 & , & Date & , & Text6 & ) MsgBox 信息保存成功 , 64, 提示信息 ElseEnd If保存数据后刷新数据信息Adodc1.RecordSource = select * from货物的出入库信息order by idAdodc1
22、.RefreshAddTitleEnd IfEnd IfEnd Sub(6)点击退出,销毁当前窗口。Private Sub Command6_Click()Unload MeEnd Sub.(7)单击 DataGrid1 中的相应记录,会在窗体左侧的各个编辑框中显示相应的内容。Private Sub DataGrid1_Click()On Error Resume NextIf Adodc1.Recordset.RecordCount 0 ThenText1.Text = Adodc1.Recordset.Fields(0)Text2.Text = Adodc1.Recordset.Field
23、s(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)End IfEnd Sub窗体的运行界面如下图所示:3.6 商品销售模块的设计与实现在“商品销售管理”窗口中的“销售商品”下拉列表中选择要销售的商品之后,该商品的基本信息将显示在窗体中相应的文本框中, 在输入销售数量和实收金额后, 单击“确认销售”按钮完成销售商品的操作。.3.6
24、.1 窗体界面设计( 1)在工程中添加一个窗体,命名为Frm_Sale,将 Caption 属性设置为“商品销售管理”。( 2)在窗体上添加相应的控件,如下图所示。(3)通过“工程”菜单下的“部件”命令将DataGrid 数据表格控件添加到工具箱中,然后在窗体上添加1 个数据表格控件DataGrid1 。( 4)在窗体上添加 2 个 ADO 控件 Adodc1 和 Adodc2 ,同时将 DataGrid1 的数据源属性DataSource 设置为 Adodc2 。3.6.2 程序代码实现( 1)窗体启动时,将商品库存中的货物名称信息添加到下拉列表中,然后再将商品销售的数据信息显示在 Data
25、Grid1 控件中。Private Sub Form_Load()Adodc2.ConnectionString = MyStrsAdodc2.RecordSource = select * from商品的销售信息order by id.Adodc2.RefreshAddTitle使用代码连接数据库与数据表Adodc1.ConnectionString = MyStrsAdodc1.RecordSource = select * from货物的出入库信息Adodc1.RefreshIf Adodc1.Recordset.RecordCount 0 ThenAdodc1.Recordset.Mo
26、veFirstCombo1.Clear在添加数据时,首先清空控件中的内容Do While Adodc1.Recordset.EOF = False将货物出入库信息添加到下拉列表框控件当中Combo1.AddItem (Adodc1.Recordset.Fields(tb_title)Adodc1.Recordset.MoveNextLoopEnd IfEnd SubPrivate Sub AddTitle()DataGrid1.Columns.Item(0).Caption = 编号 DataGrid1.Columns.Item(1).Caption = 名称 DataGrid1.Column
27、s.Item(2).Caption = 销售数量 DataGrid1.Columns.Item(3).Caption = 销售总价 DataGrid1.Columns.Item(4).Caption = 销售日期 End Sub(2)选择下拉列表中的商品之后,该商品的详细信息将显示在窗体中相对应的文本框中。商品详细信息Private Sub Combo1_Click()Adodc1.RecordSource = select * from 货物的出入库信息 where tb_title = & Combo1.Text & Adodc1.RefreshIf Adodc1.Recordset.Re
28、cordCount 0 ThenText1.Text = Adodc1.Recordset.Fields(id)Text2.Text = Adodc1.Recordset.Fields(tb_style)Text3.Text = Adodc1.Recordset.Fields(tb_nums)Text4.Text = Adodc1.Recordset.Fields(tb_values)Text5.Text = Adodc1.Recordset.Fields(tb_mark)End If清空文本框中的内容Text6.Text = Text7.Text = Text8.Text = Text9.T
29、ext = .End Sub( 3)单击“确认销售”按钮,将完成销售商品的操作。( 4)当用户输入销售数量后并将输入焦点移开后,需要实时更新商品详细信息中的数量信息,即在原有数量的基础上减去用户输入的销售数量。( 3)和( 4)的代码:Private Sub Command1_Click()Adodc1.ConnectionString = MyStrsAdodc1.RecordSource = select * from 货 物 的 出 入 库 信 息 where tb_title = & Combo1.Text & Adodc1.RefreshDim a As IntegerDim b A
30、s Integera = Val(Text7.Text)b = Val(Text4.Text * Text6.Text)If Text6.Text = Or Text7.Text = ThenMsgBox 请补全信息! , 64, 提示信息 ElseIf a 0 ThenAdodc1.Recordset.MoveFirstCombo1.Clear在添加数据时,首先清空控件中的内容Do While Adodc1.Recordset.EOF = False将商品销售信息添加到下拉列表框控件当中Combo1.AddItem (Adodc1.Recordset.Fields(tb_title)Adod
31、c1.Recordset.MoveNextLoopEnd IfEnd SubPrivate Sub AddTitle().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 = 销售日期 End Sub窗体的运行结果如下:3.8 修改密码模块的设计与实现3.8.1
32、 窗体界面设计(1)添加一个窗体,命名为Frm_Pas,将 Caption 属性设置为“密码修改”。(2)在窗体上加入一个ADO 控件 Adodc1 。(3)设计窗体的界面如下图。.3.8.2 程序代码实现(1)载入窗口时连接操作员信息数据表Private Sub Form_Load()使用代码连接数据库与数据表Adodc1.ConnectionString = MyStrsAdodc1.RecordSource = select * from系统用户的信息Adodc1.RefreshEnd Sub( 2)当点击“确定”按钮时,首先判断用户输入的用户名和原密码信息是否正确,如果正确并且两次输入的新密码一致,就将用户密码修改为新密码。Private Sub Command1_Click()Adodc1.RecordSource = select * from系统用户的信息where tb_name = & Text1.Text & Adodc1.RefreshIf Text1.Text = ThenMsgBox
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东省湛江市单招职业倾向性考试题库含答案详解(预热题)
- 2026年广东省佛山市单招职业适应性测试题库含答案详解(综合题)
- 2026年广东省肇庆市单招职业倾向性测试题库及一套完整答案详解
- 2026年川南幼儿师范高等专科学校单招职业技能测试题库带答案详解(a卷)
- 2026年广州卫生职业技术学院单招职业倾向性测试题库附答案详解(巩固)
- 2026年山西金融职业学院单招综合素质考试题库带答案详解(黄金题型)
- 2026年山西铁道职业技术学院单招职业倾向性考试题库附参考答案详解(能力提升)
- 2026年广东碧桂园职业学院单招职业适应性测试题库含答案详解(综合卷)
- 2026年岳阳现代服务职业学院单招职业倾向性测试题库含答案详解(完整版)
- 2026年广东环境保护工程职业学院单招职业倾向性测试题库附参考答案详解(a卷)
- 车辆运营服务合同模板
- 个人合作开店合同范例
- 学习二十国集团领导人峰会《建设一个共同发展的公正世界》重要讲话心得体会
- 煤炭英文术语
- 数字经济学 课件全套 第1-15章 数字经济学基础 - 数字经济监管
- 中医适宜技术-中药热奄包
- 2021年公务员多省联考《申论》题(河北乡镇卷)及参考答案
- 粘土矿物加工的创新方法
- DB11T 2279-2024 社会单位消防安全评估规范
- 美国ZOLLMseries除颤监护仪操作培训课件
- 建筑工程设计文件编制深度规定2016年版
评论
0/150
提交评论