摘 要 本系统的主要功能是洗车房信息的管理及对各种信息的查询,增加,修改,更新。本系统的数据库是用SQL server 2008软件进行创建与设计,分别包括车辆信息,车位信息,工资信息和密码表四个表。通过系统ODBC数据源管理工具把已创建的数据源与系统数据库相连。利用VB软件对系统的窗口进行设计,包括欢迎界面、登陆界面、主菜单界面、浏览窗体和查询窗体等,可以通过这些窗体进行登陆操作,对输入的用户信息进行验证,以及最重要的操作是对数据库中信息进行浏览与查询。并可以对数据进行添加与删除,做到及时更新。 第1章 系统功能概述 1.1 系统功能 (1)(洗车记录的管理与查询 (2)(车位信息的管理与查询 (3)(工资信息的管理与查询 (4)(工作信息修改 1.2 系统结构总图 洗车房管理系统通过运用VB软件建立,窗口化设计,对洗车房各项工作的查询,管理,更新。记录日常工作信息,合理分配工资,及时查询工作记录等 第2章 数据库设计 2.1 需求分析 洗车房的业务很简单。来了一辆车,记录其车型、车牌号、洗车时间、价格,在那个车位洗车。每个车位包含若干洗车员,一辆车由多个洗车员同时清洗。洗车数量、车型与洗车员的工资挂钩,所以必须准确计算每个洗车员洗车的次数和车型。必须提供复杂的查询功能, 2.2 E-R模型 2.3 关系模型 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。根据E-R图向关系模型转换的原则,把E-R图转换为关系模型。关系的码用下横线标出。 (1)车辆信息(车牌号、车型信息、洗车时间、洗车价格、车位) (2)车位信息(车位、洗车员1、洗车员2、洗车员3) (3)工资信息(洗车员号码,工资,总车辆数,大车数量,中车数量,小车数量) (4)密码表(账号、密码) 2.4 表结构设计 本系统需在SQL Server中建立四个表,分别为车辆信息,车位信息,工资信息和密码表。 (1)洗车记录表的建立与基本数据: “洗车记录表”如图2.5,SQL 语句如下: create table 洗车记录 (车牌号 char(10) PRIMARY KEY, 车型 char(10) not null, 洗车时间 char(10) not null, 价格 char(10)not null, 车位 smallint not null,) ; 图2.5洗车记录表 (2)车位信息表的建立与基本数据: “车位信息表”如图2.6,SQL 语句如下: create table 车位信息 (车位 smallint primary key, 洗车员1 char(10), 洗车员2 char(10), 洗车员3 char(10), ); 图2.6车位信息表 (3)工资信息表的建立与基本数据: “工资信息表”如2.7,SQL 语句如下: create table 工资信息 (洗车员char(10) primary key, 工资 char(10), 数量 char(10), 大 char(10), 中 char(10), 小 char(10), ); 图2.7工资信息表 (4)系统信息表的建立与基本数据: “密码表”如图2.8,SQL语句如下: Create table 密码表 (账号 varchar(10), 密码 varchar(10)); 图2.8密码表 第3章 系统各功能模块的详细设计 3.1各窗体的设计 本洗车房管理系统共包括11个窗体,分别为欢迎界面,登录,注册新用户,车型信息查询,车位信息查询,工资信息查询,车型信息修改,查询车牌号,MDI窗体。其中主窗体为MDI窗体。 下面介绍各个窗体的设计语句及实现功能。 3.2 封面 封面,如图3.1,标题为“洗车房管理系统”,为此标题添加一个Timer,编辑代码使其可以定时变色。点击“点击进入系统”就可以关闭本窗体并打开登录窗体。 封面代码如下: Private Sub Picture1_Click() Form2.Show Unload Me End Sub 3.3登录窗体 单击封面,进入登录窗口,如图3.2,若正确则打开下面的主窗体,如图3.3。登录代码 如下: Dim miCount As Integer Private Sub CmdCancel_Click() Unload Me Private Sub CmdLand_Click() Static miCount As Integer Dim sqlstr As String sqlstr = "Select * from 密码表 Where 账号='" & Text1 & "'" Adodc1.RecordSource = sqlstr Adodc1.Refresh If Adodc1.Recordset.BOF Then MsgBox "账号错误,请重新输入 ", vbExclamation, "警告" Text1.Text = "": Text1.SetFocus Else If Adodc1.Recordset.Fields("密码") = Text2.Text Then MDIForm1.Show Unload Me Else MsgBox "密码错误,请重新输入 ", vbExclamation, "警告" Text2.Text = "": Text2.SetFocus End If End If miCount = miCount + 1 If miCount = 3 Then Unload Me End Sub 图3.2登录图 3.4 主菜单 设计为MDI窗体如图3.3,含有主菜单:[菜单](包括洗车记录)、[文件](包括洗车员工作记录)。 [代码如下: Private Sub xichejilu_Click() Form4.Show End Sub Private Sub shouru_Click() Form6.Show End Sub Private Sub xicheyuan_Click() Form7.Show End Sub Private Sub zuijia_Click() Form9.Show End Sub 图3.3主菜单图 3.5洗车记录窗体 洗车记录窗体用于查询洗车记录及其基本信息。单击“录入”按钮,允许添加新的记录,当单击确定时,同时添加新记录,单击“删除”按钮,删除已经添加的信息 。同时包含工资信息,修改工作信息,车位表,查询车型信息。登记代码如下: Private Sub CmdAdd_Click() Adodc1.Recordset.AddNew CmdAdd.Enabled = False CmdDel.Enabled = False CMDOK.Enabled = True CMDESC.Enabled = True Text1.Locked = False Text2.Locked = False Text3.Locked = False Text4.Locked = False Text5.Locked = False End Sub Private Sub CmdDel_Click() x = MsgBox("确实要删除当前记录吗,", vbYesNo + vbQuestion, "确认") If x = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Else Adodc1.Refresh End If End Sub Private Sub CmdFirst_Click() Adodc1.Recordset.MoveFirst ' 记录指针移到首记录(显示首记录) CmdFirst.Enabled = False ' 让[首记录]按钮无效 CmdPre.Enabled = False ' 让[前移]按钮无效 CmdNext.Enabled = True ' 让[后移]按钮有效 CmdLast.Enabled = True ' 让[末记录]按钮有效 End Sub Private Sub CmdLast_Click() Adodc1.Recordset.MoveLast ' 移到末记录 CmdFirst.Enabled = True CmdPre.Enabled = True CmdNext.Enabled = False CmdLast.Enabled = False End Sub Private Sub CmdNext_Click() Adodc1.Recordset.MoveNext '记录指针移到下一条记录 CmdFirst.Enabled = True CmdPre.Enabled = True If Adodc1.Recordset.EOF Then ' 如果记录指针移到了末记录之后 Adodc1.Recordset.MoveLast '则记录指针移到末记录上 CmdNext.Enabled = False CmdLast.Enabled = False End If End Sub Private Sub CmdPre_Click() Adodc1.Recordset.MovePrevious '记录指针移到前一条记录 CmdNext.Enabled = True CmdLast.Enabled = True If Adodc1.Recordset.BOF Then ' 如果记录指针移到首记录之前, Adodc1.Recordset.MoveFirst '则记录指针移到首记录上 CmdFirst.Enabled = False CmdPre.Enabled = False End If End Sub Private Sub Command2_Click() Adodc1.Refresh CmdAdd.Enabled = True CmdDel.Enabled = True CMDOK.Enabled = False CMDESC.Enabled = False End Sub Private Sub Command5_Click() Adodc1.Recordset.Update CmdAdd.Enabled = True CmdDel.Enabled = True CMDOK.Enabled = False CMDESC.Enabled = False End Sub Private Sub Command7_Click() Form14.Show End Sub Private Sub Command6_Click() Form10.Show End Sub Private Sub Command8_Click() Form12.Show End Sub Private Sub Command9_Click() Form13.Show End Sub “洗车记录”界面用于进行对“洗车记录”浏览,添加,以及对其他信息的查询修改,如图3.4 图3.4洗车记录浏览图 “修改工作信息”界面用于修改“工作信息”表内容,以便对洗车员工作记录进行及时更新,如图3.5 图3.5修改工作信息 “工资信息”界面用于显示工资信息表的内容,以便查询洗车员工资信息,如图3.6 图3.6工资信息图 “车位表”界面用于显示车位信息,如图3.7 图3.7车位表图 点击“查询车型信息”进入“车型查询界面”通过输入车牌号并点击“查询”查询车型信息,如图3.8,代码如下: Dim str As String str = " Select * From 洗车记录" str = str & "WHERE Vnumber Like '" & Text1 & "%'" Adodc1.RecordSource = str Adodc1.Refresh End Sub 图3.8车牌号查询界面 “洗车员工作记录”用于查询每位洗车员工作记录,如图3.9: 图3.9洗车员工作记录查询表 总结 通过这次数据库课程设计,我学会了如何利用Microsoft SQL Server2008软件建立相关信息的数据库,并通过Microsoft Visual Basic 6.0实现对相关信息的查询,将所学知识都运用到实践中去,增加了我对数据库的兴趣,让我能更清楚地了解到数据库在现实生活中为我们带来的极大便利,方便我们将所需要的信息进行规划和管理,将信息集中管理也为我们查询我们所需要的信息带来了简易的途经。 最后,感谢数据库课程设计老师对我们耐心的教导和帮助,为我们解决了许多在课堂上没弄懂的问题,让我们对数据库有了更进一步的认识和了解。今后我会更加努力学习数据库的相关知识,相信能为我以后带来很大的帮助。
信息发布:广州名易软件有限公司 http://www.myidp.net
|