轿车销售公司管理系统实验报告 - 图文

更新时间:2024-05-19 01:52:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

(此文档为word格式,下载后您可任意编辑修改!)

轿车销售管理系统实验报告

一 实验目的

通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容。 二 实验简述

轿车销售管理系统的主要实现对轿车信息、客户信息和员工信息的管理。 三 课程设计全过程

1需求分析:(实际详细调查)

2数据库设计:(SQL Server 2000设计)

概念(模型)设计 (实际到概念) 逻辑设计 (逻辑推导) 物理设计 (理论到实现)

SQL编程、调试(测试验证) (实践反复检验)

3应用程序编程、调试、测试

需求分析

随着近年来我国经济的发展,国民生活水平的提高,国内的轿车产业开始迅猛发展,人民群众对于轿车的需求也是日益增多,也因此产生了很多轿车销售公司。

在这些轿车销售公司里,由于业务繁忙,往往需要处理各种品牌型号轿车的销售查询工作,销售员的管理工作等等。这些工作如果光靠人工来实现,工作量就很大,而且容易出现错误,造成管理上的混乱。因此,制作一套轿车销售管理系统对于公司管理能够提高轿车销售公司的管理水平、工作效率、服务质量、降低销售成本,最终提高公司的市场竞争力。

1.1 编写目的

1 轿车销售管理系统可以有效的管理轿车信息、员工信息和客户信息。它主要轿车销售公司的管理工作。本系统以SQL Server 2000为后台数据库,利用SQL Server2000的企业管理器和查询分析器对数据库进行管理和操作的方法。本文将以轿车销售公司的管理为背景,介绍如何以VB为前台开发工具,SQL Server2000为后台数据库管理系工具开发数据库应用系统。本系统具有很强的使用性,用户只要根据实际的使用情况稍加修改,就可以把它应用到实际工作中。

1.1.1数据库应用系统的开发涉及如下内容:

? 系统功能设计; ? 数据库设计; ? 界面设计 ? 程序代码设计 1.1.2项目内容:

开发一个轿车销售管理系统

对于该项目,主要注意以下两个方面:

? 轿车销售公司的销售员管理、轿车信息管理和客户信息管理

? 轿车销售系统中涉及那些数据对象,各对象之间以及对象内部的关系如何?如何保存个数据对象的相关数据,以便图书馆借阅系统进行数据处理。 1.2 分析

1.2.1轿车销售系统的主要功能有:

(1) 系统用户管理功能。用户根据姓名和密码登录系统。登录用户分为两个等级:普

通用户和管理员用户。普通用户只查看轿车信息、客户信息、员工信息等功能;管理员用户(admin)除了以上功能外,同时还有添加用户、修改用户密码和删除用户的功能。

(2) 轿车信息管理功能。录入所销售的轿车编号、型号、品牌、价格、保修期等信息,

同时支持对轿车信息的添加、修改、删除和查询功能。

(3) 客户信息管理功能。录入购买轿车的客户姓名、性别、年龄、联系方式、所购车

型号、购车价格等信息,同时还支持亏客户信息的添加、修改、删除和查询功能。

(4) 员工信息管理功能。录入员工的员工号、姓名、性别等信息,同时支持对员工信

息的添加、修改、删除和查询功能。

1.2.2根据系统的功能要求,采用模块化的方法,设计图书借阅系统的控制流程图如图:

2 1.2.3 E-R模型

用E-R模型描述土书馆管理系统中的实体集与实体集之间的关系,目的是以E-R图为工具,设计关系型的数据库,即确定应用系统所使用的数据库应包含哪些表,每个表的结构是怎么样的。

逻辑设计

(从理论‘ER模型’到理论‘关系模型’的整理转换)

2.1 关系描述的设计

根据以上各E-R图,经过转换,可以导出各个关系。这些实体涉及的数据项有: 系统用户:(用户名、密码、用户等级) 管理:(用户等级、类型描述)

轿车信息:(轿车编号、轿车型号、轿车品牌、轿车价格、轿车保修期、轿车具体描述) 客户信息:(客户编号、客户姓名、客户性别、客户年龄、客户职业、身份证号、客户电话、客户住址、购车型号、购车价格、备注)

员工信息:(员工编号、员工姓名、员工性别、员工生日、进入公司时间、所在部门、员工职务、员工电话、员工地址)

物理设计

(从理论‘关系模型’到实现\\实施‘数据库建立’)

3.1 数据库物理设计 3.1.1创建数据库

在创建数据库表之前,首先要创建一个数据库,本系统以SQL Server 2000为后台数据库。用户可以在企业管理器中创建数据库,也可以在查询分析器中执行SQL语句。需要主要的是,在设计数据库结构时,通常需要考虑主文件,从文件和日志文件的存储位置和大小。文件大小可以根据数据库的用途,用户数量和存储数据等因素综合考虑。一般出事大小不宜设置过大,以免浪费存储空间。而文件最大尺寸需要设置大些,以保证有足够的存储空间。日志文件则不需要太多的空间。 3.1.2 轿车销售管理系统库表结构设计

该系统设计了五个数据库表:用户信息表Users、用户类型表UserType、轿车信息表Car、客户信息表Customer、员工信息表Staff。 具体结构如下图所示:

3 Users表

字段名称 User_name User_pwd User_type

UserType表

字段名称 User_type 标识名称 用户等级 数据类型 Smallint Varchar(50) N N 空否 字段说明 限制用户权限 标识名称 用户名 密码 用户等级 数据类型 Varchar(10) Varchar(20) smallint N N N 空否 字段说明 主键 限制用户权限 Type_discription 类型描述

Car表

字段名称 Car_ip Car_name Car_brand Car_price Car_time Car_info

Customer表

字段名称 Customer_id Customer_name Customer_sex Customer_age 标识名称 客户编号 客户姓名 客户性别 客户年龄 数据类型 Int Varchar(10) Varchar(2) Int Varchar(10) Varchar(20) N N N Y Y Y 空否 字段说明 自增,主键 标识名称 轿车编号 轿车型号 轿车品牌 轿车价格 轿车保修期 轿车具体描述 数据类型 Int Varchar(20) Varchar(10) Int Varchar(10) Varchar(100) N N N N N Y 空否 字段说明 自增,主键 备注 Customer_occup 客户职业 Customer_num Customer_tel 身份证号 客户电话 Varchar(10) Y 4 Customer_addr Buy_car Buy_price Info

客户住址 购车型号 购车价格 备注 Varchar(20) Y Varchar(20) N Varchar(10) N Varchar(100) Y 客户其他信息 Staff表

字段名称 Staff_id Staff_name Staff_sex Staff_brith Staff_intime Staff_depart Staff_title Staff_tel Staff_addr

3.1.3 用SQL 建立各个表 3.1.3.1 建立Users表: CREATE TABLE [dbo].[Users]

( User_name VARCHAR(10) Primary Key User_pwd VARCHAR(20) NOT NULL User_type SMALLINT NOT NULL) 3.1.3.2 建立UserType表 CREATE TABLE [dbo].[UserType] ( User_type SMALLINT Primary Key

Type_discription VARCHAR(100) NOT NULL )

3.1.3.3 建立Car表

标识名称 员工编号 员工姓名 员工性别 员工生日 进入公司时间 所在部门 员工职务 员工电话 员工住址 数据类型 Int N 空否 字段说明 自增,主键 Varchar(10) N Varchar(2) Varchar(8) Varchar(8) N Y N Varchar(10) Y Varchar(10) Y Varchar(10) Y Varchar(20) Y 5

CREATE TABLE [dbo].[Car] (Car_id INT Primary Key Car_name VARCHAR(20) NOT NULL Car_brand VARVHAR(20) NOT NULL Car_price INT NOT NULL Car_time VARVHAR(10) NOT NULL Car_info VARCHAR(100) NULL )

3.1.3.4 建立Customer表 CREATE TABLE [dbo].[Customer] (Customer_id INT Primary Key Customer_name VARCHAR(10) NOT NULL Customer_sex VARCHAR(2) NULL Customer_age INT NULL

Customer_occup VARCHAR(10) NULL Customer_num VARCHAR(20) NULL Customer_tel VARCHAR(10) NULL Customer_addr VARCHAR(20) NULL Buy_car VARCHAR(20) NOT NULL Buy_price VARCHAR(10) NOT NULL Info)

3.1.3.5 建立Staff表 CREATE TABLE [dbo].[staff] ( Staff_id INT Primary Key Staff_name VARCHAR(10) NOT NULL Staff_sex VARCHAR(2) NOT NULL Staff_birth VARCHAR(8) NULL Staff_intime VARCHAR(8) NOT NULL Staff_depart VARCHAR(10) NULL Staff_title VARCHAR(10) NULL

6 Staff_tel VARCHAR(10) NULL Staff_addr VARCHAR(20) NULL)

SQL编程、调试

(测试验证) (实践反复检验)

4.1 界面设计

4.1.1轿车销售管理系统启动时,首先进入图4.1.1所示的用户界面。

图4.1.1

单击“确定”按钮,将出发cmd_OK_Click事件,将输入的用户信息与SQL Server对应数据表中的用户信息进行比较,如果输入的用户信息正确,则进入轿车销售公司管理系统。 4.1.2 当系统运行时,首先启动轿车销售管理界面FromMain.Show。主界面具体设置如表4.1.2所示。

轿车销售公司管理界面设置完成后,即可进行各部分的程序设计。在主界面中主要通过单击主菜单来进行各种功能的操作。

7 4.1.3 用户信息管理

添加用户功能,单击主界面的“添加用户”选项,启动frm_addUser.Show,进入“添加用户”界面,如图4.1.3.1所示。

图4.1.3.1

单击“取消”按钮,将触发Cmd_Cancle_Click事件,不保存输入文本框的内容而直接返回到主界面中。

单击“确定”按钮,将触发cmd_OK_Click事件,把输入的用户信息添加到SQL Server对应的数据库中。

4.1.3.2 单击“查看修改密码”选项,启动frm_selectUser.Show,进入“用户列表”界面,如图4.1.3.2所示。

图4.1.4

在本界面中,使用了一个DataGrid控件来显示用户信息。

单击“取消”按钮,将触发cmd_Cancel_Client事件,返回主界面。 选中一个用户,单击“删除”按钮,将触发cmd_del_Click事件。

8 单击“修改密码”选项后,进入“修改密码界面”

在这个界面中,可以进行用户密码的修改。 4.1.4 在轿车信息管理系统中实现如图4.1.4的功能

图4.1.4

单击“查看轿车信息”选项,启动frm_queCar.Show,进入“查看轿车”界面,如图4.1.4.1所示。

图4.1.4.1

9 单击“查询轿车”信息界面中,可以采用按轿车型号、轿车品牌和轿车价格3中查询方式来查询。我们添加了一个DataGrid控件来连接数据库,显示查询信息。在文本框中输入查询内容后,单击“确定”按钮,触发cmd_Que_click事件,完成对轿车信息的查询。 单击“修改删除轿车信息”选项,启动frm_edit_Car.Show,进入“编辑轿车信息”界面,如图4.1.4.2所示

图4.1.4.2

在“编辑轿车信息”界面中,可以实现对轿车信息的逐条查看功能,还能实现对轿车信息的修改和删除功能。和前面的添加轿车信息界面一样,在这里同样使用了一个Adodc控件来连接数据库。

单击“增加轿车信息”选项,启动frm_addCar.Show,进入“增加轿车信息”界面,如图4.1.4.3所示。

图4.1.4.3

10

4.1.5 客户信息管理系统设计。

在客户信息系统中需要设计实现如下所示功能。

单击“查看客户信息”选项,启动frm_queCus.Show,进入“查询顾客”界面。 单击“修改删除客户信息”选项,启动frm_edit_Cus.Show,进入编辑客户信息界面。 单击“添加客户信息”选项,启动frm_addCus.Show,进入“添加客户信息”界面。 4.1.6 员工信息管理系统界面。

在员工信息管理系统中需要设计实现以下的功能。

单击“查看员工信息”选项,启动frm_queEmp.Show,进入“查询员工”界面

单击“修改查询员工信息”选项,启动frm_edit_Emp.Show,进入编辑员工信息界面。 单击“添加员工信息”选项,启动frm_addEmp.Show,进入“添加员工信息”界面。 4.2 程序设计

4.2.1系统所使用的技术和工具主要有: 1)Visual basic编程语言

2)Adodc控件和DataGrid控件的使用方法 3)Recordset对象使用方法

轿车销售公司管理系统在调用SQL Server数据库表时使用了ADO控件Adodc来连接数据库。

在使用DataGrid控件时要注意数据源DataSource,它的连接对象直接决定了显示在窗口中的内容。

在对数据库进行添加、修改、删除等操作时没有采用Insert、updataa、delete等SQL Server语句,而是采用了Visual Basic自带的Recordset对象用法,这种方法同样能够实现对数据库的操作。 添加汽车信息的程序:

Adodc1.RecordSource = \ Adodc1.Refresh

If Adodc1.Recordset.EOF = True Then txtId = 1 Else

txtId = Adodc1.Recordset.Fields(0) + 1 End If

11 If txtBrand.Text = \ MsgBox (\请输入汽车品牌\ Exit Sub End If

If txtPrice.Text = \ MsgBox (\请输入汽车价格\ Exit Sub End If

If txtName.Text = \ MsgBox (\请输入汽车型号\ Exit Sub End If

If txtTime.Text = \ MsgBox (\请输入汽车保修期\ Exit Sub End If '增加新车

Adodc1.Recordset.AddNew

Adodc1.Recordset.Fields(0).Value = Val(txtId)

Adodc1.Recordset.Fields(1).Value = Trim(txtName.Text) Adodc1.Recordset.Fields(2).Value = Trim(txtBrand.Text) Adodc1.Recordset.Fields(3).Value = Val(Trim(txtPrice.Text)) Adodc1.Recordset.Fields(4).Value = Trim(txtTime.Text) Adodc1.Recordset.Fields(5).Value = Trim(txtInfo.Text) Adodc1.Recordset.Update Adodc1.Refresh

MsgBox \汽车信息增加完成\ Unload Me End Sub

另外添加员工信息和添加客户信息的程序与之类似。

12 查修改删除轿车信息的程序: Private Sub Cmd_del_Click() Adodc1.Recordset.Delete Adodc1.Recordset.Update

MsgBox (\轿车记录已删除\

Adodc1.RecordSource = \ Adodc1.Refresh End Sub

Private Sub Cmd_final_Click() Adodc1.Recordset.MoveLast Cmd_next.Enabled = False Cmd_pre.Enabled = True End Sub

Private Sub Cmd_first_Click() Adodc1.Recordset.MoveFirst Cmd_pre.Enabled = False Cmd_next.Enabled = True End Sub

Private Sub Cmd_modi_Click()

curId = Adodc1.Recordset.Fields(0)

Adodc1.Recordset.Fields(1) = Trim(txtCarname.Text) Adodc1.Recordset.Fields(2) = Trim(txtCarbrand.Text) Adodc1.Recordset.Fields(3) = Val(Trim(txtCarprice.Text)) Adodc1.Recordset.Fields(4) = Trim(txtCartime.Text) Adodc1.Recordset.Fields(5) = Trim(txtCarinfo.Text) Adodc1.Recordset.Update MsgBox (\轿车记录已修改\

Adodc1.RecordSource = \

13 Adodc1.Refresh

Do While Adodc1.Recordset.Fields(0) <> curId Adodc1.Recordset.Move (1) Loop End Sub

Private Sub Cmd_next_Click() If Cmd_pre.Enabled = False Then Cmd_pre.Enabled = True End If

Adodc1.Recordset.MoveNext

If Adodc1.Recordset.Fields(0) = lastId Then Cmd_next.Enabled = False End If End Sub

Private Sub Cmd_pre_Click()

If Cmd_next.Enabled = False Then Cmd_next.Enabled = True End If

Adodc1.Recordset.MovePrevious

If Adodc1.Recordset.Fields(0) = firstId Then Cmd_pre.Enabled = False End If End Sub

Private Sub Cmd_quit_Click() Unload Me End Sub

Private Sub Form_Load()

Adodc1.RecordSource = \ Adodc1.Refresh

If Adodc1.Recordset.RecordCount <> 0 Then

14 Adodc1.Recordset.MoveLast

lastId = Adodc1.Recordset.Fields(0) Adodc1.Recordset.MoveFirst

firstId = Adodc1.Recordset.Fields(0) End If

Cmd_pre.Enabled = False

If Adodc1.Recordset.RecordCount = 1 Then Cmd_next.Enabled = False End If End Sub

修改删除员工和客户信息的程序与之类似。 按照姓名查询员工信息的命令如下: Private Sub Cmd_que_Click() If Option1 = True Then

If txtEmpname.Text <> \

Adodc1.RecordSource = \Trim(txtEmpname.Text) + \ Adodc1.Refresh End If End If End sub

Private Sub Option1_Click() txtdate.Text = \ txtdate.Enabled = False txtdepart.Text = \ txtdepart.Enabled = False txttitle.Text = \ txttitle.Enabled = False txtEmpname.Enabled = True End Sub

15 按照时间或部门查询的程序与之类似。 查询汽车和客户信息的程序雷同。

16

本文来源:https://www.bwwdw.com/article/eu17.html

Top