当前位置:文档之家› 数据库课程设计——库存销售管理系统

数据库课程设计——库存销售管理系统

数据库课程设计实验报告姓名:***班级:计算机1403学号:**********1.实验名称使用Visual Basic 6.0和SQL Server 2014开发库存销售管理系统2.实验目的使用Visual Basic 6.0开发工具开发一个库存销售管理系统,该系统采用SQL Server 2014数据库保存库存货物信息,数据库中包括货物出入库信息和商品销售等信息。

该系统包括系统登录、货物出入库管理、商品销售管理和商品统计管理等功能,通过这些功能实现对库存中货物信息和销售信息进行管理。

系统主要实现以下目标:●实现系统登录及修改用户密码的功能。

●对库存货物的出入库信息进行管理。

●对商品的销售信息进行管理。

●根据销售日期统计商品的销售数据。

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:库存货物的入库日期,时间日期类型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:用户名称,建议长度为50的varchar类型。

●tb_pas:用户的密码信息,建议长度为50的varchar类型。

3.2 设计连接数据库的模块需要首先建立一个连接数据库的模块,这样应用程序才能与数据库中的数据表取得连接,将数据信息从数据表中读出到应用程序中或通过应用程序保存到数据表中。

为此,建立一个负责数据库连接的模块如下:(1)选择“工程”菜单下的“添加模块”命令,在应用程序中添加一个模块Module1。

(2)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.ConnectionCnn.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 SecurityInfo=False;Initial Catalog=DB_KCGL;Data Source=."'显示系统登录窗体Form1.ShowEnd Sub(3)这里需要将程序的入口设置为模块中的Main()函数。

选择“工程”菜单下的“工程属性”命令,在“通用”标签中进行相应设置。

3.3 系统登陆模块设计在本库存销售管理系统中,只有授权用户(管理员)可以登录并进行库存和销售信息管理与维护,因此需要一个系统登录界面,防止非法用户登录到系统中,从而保证了应用程序的安全性和可靠性。

3.3.1 登录窗体设计设计如下的登录窗体,在窗体中要添加一个ADO控件,命名为Adodc1。

(1)登录窗体启动之后,需要将系统用户的信息数据表中的所有用户名称信息添加到窗体的ComboBox控件的Op_Name属性中,即实现在“操作员名称”下拉列表中可以出现系统当前的操作员信息,供登录用户选择。

Private Sub Form_Load()'使用代码连接数据库与数据表Adodc1.ConnectionString = MyStrsAdodc1.RecordSource = "select * from 系统的用户信息"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)当用户在“操作员名称”下拉列表中选择操作员的名称,并且在“操作员密码”文本框输入正确的密码之后,单击“确定”按钮将登录到系统中,否则将无法登录系统。

具体实现如下: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_Name.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 系统主界面的实现3.4.1 主界面设计(1)在工程中添加一个窗体,将窗体命名为Frm_main,将窗体Caption属性设置为“库存管理系统”。

(2)添加一个Toolbar控件,工具栏由“修改密码”、“库存管理”、“商品销售”、“销售统计”和“退出系统”5个按钮组成。

(3)添加一个StatusBar控件,使得状态栏中能够显示登录操作员姓名和当前系统时间等信息。

(4)在主窗体上添加一个时钟控件,用于显示系统当前日期和时间信息。

(5)在主窗体上添加一个Label标签控件,将其Caption属性设置为“库存管理系统”。

3.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 As MSComctlLib.Button)Select Case Button.IndexCase 1Frm_Pas.Show '修改密码Case 2Frm_Inout.Show '库存管理Case 3Frm_Sale.Show '商品销售Case 4Frm_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_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 = "select * from 货物的出入库信息order by id"Adodc1.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 = "数量"DataGrid1.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)点击“删除”按钮,删除选中当前记录。

相关主题