库存管理系统实验指导材料_第1页
库存管理系统实验指导材料_第2页
库存管理系统实验指导材料_第3页
库存管理系统实验指导材料_第4页
库存管理系统实验指导材料_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用Visual Basic 6.0和SQL Server 2005开发库存销售管理系统1. 预备知识1.1 嵌入式SQL简介(ppt)1.2 Visual Basic 6.0简介1.2.1 Visual Basic 6.0 开发环境(ppt)1.2.2 Visual Basic 基本语法(ppt)1.3 SQL Server 2005基础2. 使用Visual Basic 6.0和SQL Server 2005开发库存销售管理系统使用Visual Basic 6.0开发工具开发一个库存销售管理系统,该系统采用SQL Server 2005数据库保存库存货物信息,数据库中包括货物出入库信息和商

2、品销售等信息。该系统包括系统登录、货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。系统主要实现以下目标:l 实现系统登录及修改用户密码的功能。l 对库存货物的出入库信息进行管理。l 对商品的销售信息进行管理。l 根据销售日期统计商品的销售数据。2.1 设计数据库建立一个名为“DB_KCGL”的数据库,根据前述的主要功能目标,需要建立3个数据表(关系):(1) Tb_InOut:保存货物的出入库信息l id:库存货物信息的编号,主码,建议长度为18的numeric类型。l tb_title:库存货物的名称,建议长度为50的varchar类型。

3、l tb_style:库存货物的类型,建议长度为50的varchar类型。l tb_nums:库存货物的数量,建议为整型int。l tb_values:库存货物的价格,实数类型real。l tb_date:库存货物的入库日期,时间日期类型datetime。l tb_mark:库存货物的备注信息,建议长度为50的varchar类型。(2) Tb_Sale:保存商品的销售信息id:商品销售信息的编号,主码,建议长度为18的numeric类型。tb_title:销售商品的名称,建议长度为50的varchar类型。tb_nums:建议为整型int。tb_values:销售商品的总价,浮点类型float

4、。tb_date:商品销售的日期,时间日期类型datetime。(3) Tb_User:保存系统用户的信息id:用户信息的编号,主码,建议长度为18的numeric类型。tb_name:用户名称,建议长度为50的varchar类型。tb_pas:用户的密码信息,建议长度为50的varchar类型。2.2 设计连接数据库的模块需要首先建立一个连接数据库的模块,这样应用程序才能与数据库中的数据表取得连接,将数据信息从数据表中读出到应用程序中或通过应用程序保存到数据表中。为此,建立一个负责数据库连接的模块如下:(1) 选择“工程”菜单下的“添加模块”命令,在应用程序中添加一个模块Module1。(2

5、) Module1模块的实现如下:'数据连接模块Public MyStrs As StringPublic DB_AdoRs As New ADODB.Recordset '后添加一个记录集对象Public DB_AdoRs1 As New ADODB.Recordset '后添加一个记录集对象Public DB_AdoRs2 As New ADODB.Recordset '后添加一个记录集对象Public Function Cnn() As ADODB.Connection '定义连接字符串函数 Set Cnn = New ADODB.Connecti

6、on Cnn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB_KCGL;Data Source=."End FunctionPublic Sub Main() MyStrs = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DB_KCGL;Data Source=." '

7、;显示系统登录窗体 frm_xtdl.ShowEnd Sub(3) 这里需要将程序的入口设置为模块中的Main()函数。选择“工程”菜单下的“工程属性”命令,在“通用”标签中进行相应设置。2.3 系统登陆模块设计在本库存销售管理系统中,只有授权用户(管理员)可以登录并进行库存和销售信息管理与维护,因此需要一个系统登录界面,防止非法用户登录到系统中,从而保证了应用程序的安全性和可靠性。2.3.1 登录窗体设计设计如下的登录窗体,在窗体中要添加一个ADO控件,命名为Adodc1。(1) 登录窗体启动之后,需要将Tb_User数据表中的所有用户名称信息添加到窗体的ComboBox控件的Op_Name

8、属性中,即实现在“操作员名称”下拉列表中可以出现系统当前的操作员信息,供登录用户选择。Private Sub Form_Load()'使用代码连接数据库与数据表 Adodc1.ConnectionString = MyStrs Adodc1.RecordSource = "select * from Tb_User" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst Op_Name.Clear '在添加数据时,首先清空控件中的内容 Do

9、While Adodc1.Recordset.EOF = False '将操作员信息添加到下拉列表框控件当中 Op_Name.AddItem (Adodc1.Recordset.Fields("tb_name") Adodc1.Recordset.MoveNext Loop End IfEnd Sub(2) 当用户在“操作员名称”下拉列表中选择操作员的名称,并且在“操作员密码”文本框输入正确的密码之后,单击“确定”按钮将登录到系统中,否则将无法登录系统。具体实现如下:Private Sub Cmd_Ok_Click() Adodc1.RecordSource = &

10、quot;select * from Tb_User where tb_name ='" & Op_Name.Text & "'" Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then MPassword = Adodc1.Recordset.Fields("tb_pas") If Txt_Password.Text = MPassword Then '判断数据的密码是否正确 Name1 = Op_Name.Text Frm_Main.Sta

11、tusBar1.Panels.Item(2).Text = "当前操作员: " + Adodc1.Recordset.Fields("tb_name") Frm_Main.Show '通过身份验证则显示主窗体,登录到系统当中 Unload Me Else MsgBox "密码不正确,请您确认后重新输入", , "提示信息" Txt_Password.Text = "" Txt_Password.SetFocus End If Else MsgBox "对不起 没有此用户的信息&

12、quot;, , "提示信息" Op_Name.Text = "" Txt_Password.Text = "" End IfEnd Sub2.4 系统主界面的实现2.4.1 主界面设计(1) 在工程中添加一个窗体,将窗体命名为Frm_main,将窗体Caption属性设置为“库存管理系统”。(2) 添加一个Toolbar控件,工具栏由“修改密码”、“库存管理”、“商品销售”、“销售统计”和“退出系统”5个按钮组成。(3) 添加一个StatusBar控件,使得状态栏中能够显示登录操作员姓名和当前系统时间等信息。(4) 在主窗体上添加一

13、个时钟控件,用于显示系统当前日期和时间信息。(5) 在主窗体上添加一个Label标签控件,将其Caption属性设置为“库存管理系统”。系统主窗体界面运行效果如下图:2.4.2 代码实现(1) 窗体启动时,在窗体的状态栏中将显示当前系统的日期信息:Private Sub Form_Load() StatusBar1.Panels.Item(3).Text = Format(Now, "yyyy年mm月dd日")End Sub(2)单击窗口工具栏按钮时,将会调用系统的各个子功能模块:Private Sub Toolbar1_ButtonClick(ByVal Button A

14、s MSComctlLib.Button) Select Case Button.Index Case 1 Frm_Pas.Show '修改密码 Case 2 Frm_Inout.Show '库存管理 Case 3 Frm_Sale.Show '商品销售 Case 4 Frm_Stat.Show '销售统计 Case 5 End '退出系统 End SelectEnd Sub(3) 在时钟控件的Timer事件中添加如下代码,实现在状态栏中显示当前系统时间的功能:Private Sub Timer1_Timer() StatusBar1.Panels.It

15、em(4).Text = TimeEnd Sub(4) 再向状态栏中添加公司名称,操作员和公司网址信息。系统主窗体的运行界面如下图所示:2.5 出入库管理模块的设计与实现该模块主要是记录和维护库存中的货物信息,其中包括对货物信息的删除、修改和保存等方面的功能。2.5.1 窗体界面设计(1) 在工程中添加一个窗体,命名为Frm_Inout,将窗体Caption设置为“出入库管理”。(2) 在窗体上添加相应的控件,如下图所示。(3) 通过“工程”菜单下的“部件”命令将DataGrid数据表格控件添加到工具箱中,然后在窗体上添加1个数据表格控件DataGrid1。(4) 在窗体上添加一个ADO控件A

16、dodc1,同时将DataGrid1的数据源属性DataSource设置为Adodc1。2.5.2 程序代码实现(1) 窗口载入时,将数据库中商品表数据读出。Private Sub Form_Load() Adodc1.ConnectionString = MyStrs Adodc1.RecordSource = "select * from Tb_InOut order by id" Adodc1.Refresh AddTitleEnd Sub其中,AddTitle函数用于向DataGrid1添加表头,实现如下:'添加数据库字段标题的事件过程Private Sub

17、 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 = "单价" DataGrid1.Columns.Item(5).Caption

18、 = "入库日期" DataGrid1.Columns.Item(6).Caption = "备注"End Sub(2)点击“添加”按钮,清空编辑框,让用户输入新的待添加内容Private Sub Command1_Click()'清空文本框中的内容 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "&

19、quot; Text1.SetFocusEnd Sub(3)点击“删除”按钮,删除选中当前记录。Private Sub Command2_Click()'删除库存信息 c = MsgBox("确认要删除该信息吗", 17, "提示信息") If c = vbOK Then '如果有错误则执行错误处理 On Error Resume Next Set DB_AdoRs = Cnn.Execute("Delete from Tb_InOut where id='" + Text1.Text + "'

20、;") '删除后刷新数据信息 Adodc1.RecordSource = "select * from Tb_InOut order by id" Adodc1.Refresh AddTitle End If Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" End Sub(4)点击“修改”按钮,修

21、改当前的记录信息。Private Sub Command4_Click()'修改库存信息 c = MsgBox("确认修改信息吗", 33, "提示信息") If c = vbOK Then ' On Error Resume Next Set DB_AdoRs = Cnn.Execute("UPDATE Tb_InOut SET tb_title='" + Text2 + "',tb_style='" + Text3 + "',tb_nums='&

22、quot; + Text4 + "',tb_values='" _ + Text5 + "',tb_mark='" + Text6 + "' where id='" + Text1.Text + "'") MsgBox "数据修改成功", 64, "提示信息" Adodc1.RecordSource = "select * from Tb_InOut order by id" Adodc1.Refre

23、sh AddTitle End IfEnd Sub(5)点击“保存”按钮,将保存文本框中输入的货物信息。Private Sub Command5_Click()If Text1.Text = "" Or Text2.Text = "" Then MsgBox "保存的数据信息不能为空", 48, "提示信息" Else DB_AdoRs.Open "select * from Tb_InOut where tb_title='" + Text2.Text + "'&qu

24、ot;, Cnn, adOpenKeyset If DB_AdoRs.RecordCount > 0 Then '判断要保存的信息是否已经存在 MsgBox "该货物信息信息已经存在", 48, "提示信息" DB_AdoRs.Close Else DB_AdoRs.Close c = MsgBox("确认保存信息吗", 33, "提示信息") If c = vbOK Then '如果选择的是“确定”按钮则保存信息 Set DB_AdoRs = Cnn.Execute("insert

25、 into Tb_InOut values(" & Text1 & ",'" & Text2 & "','" & Text3 & "'," & Text4 & "," _ & Text5 & ",'" & Date & "','" & Text6 & "')") MsgBo

26、x "信息保存成功", 64, "提示信息" Else End If '保存数据后刷新数据信息 Adodc1.RecordSource = "select * from Tb_InOut order by id" Adodc1.Refresh AddTitle End If End IfEnd Sub(6)点击退出,销毁当前窗口。Private Sub Command6_Click() Unload MeEnd Sub(7) 单击DataGrid1中的相应记录,会在窗体左侧的各个编辑框中显示相应的内容。Private Sub

27、DataGrid1_Click()'On Error Resume Next If Adodc1.Recordset.RecordCount > 0 Then 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 =

28、Adodc1.Recordset.Fields(6) End IfEnd Sub2.6 商品销售模块的设计与实现在“商品销售管理”窗口中的“销售商品”下拉列表中选择要销售的商品之后,该商品的基本信息将显示在窗体中相应的文本框中,在输入销售数量和实收金额后,单击“确认销售”按钮完成销售商品的操作。2.6.1 窗体界面设计(1) 在工程中添加一个窗体,命名为Frm_Sale,将Caption属性设置为“商品销售管理”。(2)在窗体上添加相应的控件,如下图所示。(3)通过“工程”菜单下的“部件”命令将DataGrid数据表格控件添加到工具箱中,然后在窗体上添加1个数据表格控件DataGrid1。(4)在窗体上添加2个ADO控件Adodc1和Adodc2,同时将DataGr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论