运输企业管理系统.docx
- 文档编号:12699108
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:70
- 大小:594.25KB
运输企业管理系统.docx
《运输企业管理系统.docx》由会员分享,可在线阅读,更多相关《运输企业管理系统.docx(70页珍藏版)》请在冰点文库上搜索。
运输企业管理系统
琼州学院
课程实验 报告
(2010~2011年度第2 学期)
专业计算机科学与技术
课程数据库原理及其应用教程
班级 二班
姓名 李彤玉
学号 10253032
教师 王海丰
琼州学院电子信息工程学院制
运输企业管理系统
运输企业在一般日常生活中的运用,需要一套车辆信息管理系统,便于对司机基本情况、车辆情况、运营信息、维修信息和事故信息进行管理.
第一章 系统设计
1.1系统功能分析
系统开发的总体任务是实现车辆信息的系统化、规范化和自动化。
本系统的主要功能:
有关司机各种信息的输入,包括司机基本信息、执照信息等。
司机各种信息查询。
司机各种信息修改。
车辆信息的输入等。
车辆信息查询。
车辆信息修改。
运营信息的输入.
运营信息的查询。
运营信息的修改。
车辆维护信息输入。
车辆维护信息查询。
车辆维护信息修改。
事故信息输入。
事故信息查询。
事故信息修改。
1.2系统功能模块设计
对上述各项功能进行集中、分块,并按照结构化程序设计的要求,得出如图1-1所示的系统功能模块图.
图1-1 系统功能模块图
第二章 数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响.
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。
2。
1数据库需求分析
用户需求具体体现在各种信息的提供、保存、更新和查询,这要求数据库结构能充分满足各种信息的输入和输出。
收集基本数据、数据结构以及数据处理的流程,组成一份详细的数据字典,为后面的具体设计打下基础.
仔细分析调查有关运输企业信息需求的基础上,得到如图2-1所示的本系统所处理的数据流程。
图2-1运输企业信息管理系统数据流程图
针对一般运输企业信息管理系统的需要,通过对运输工作的内容和数据流程分析,设计如下面所示的数据项和数据结构:
司机基本信息包括的数据项有:
司机姓名、司机性别、出生日期、家庭住址、初次领证时间、执照号码、准驾车型、有效期起止时间等.
车辆基本信息包括的数据项有:
车号、类型、车主、发动机号、车架号、厂牌型号、车辆总质量、核定载客、登记时间、发证时间、颜色、主要上司等。
运营信息包括的数据项有:
车号、司机姓名、运营开始时间、运营结束时间、运行公里、耗油量等.
车辆维护信息包括的数据项有:
车牌号、维修时间、维修单位、维修内容、维修价格、配件、备注等。
事故信息包括的数据项有:
车牌号、司机姓名、事故时间、事故地点、事故原因对方车号、对方单位、处理方式、处理金额、备注等。
2。
2数据库概念结构设计
根据上面的设计规划处得实体有:
司机实体、车辆实体、运营信息实体、维修信息 和事故信息实体。
各个实体具体的描述E-R图如下。
图2—2是司机实体E-R图。
图2-2司机实体E-R图
图2—3是车辆实体E—R图。
图2-3车辆实体E—R图
图2—4是运营信息实体E-R图。
图2-4运营信息实体E—R图
图2-5是维修信息实体E-R图.
图2—5维修信息实体E—R图
图2-6是事故信息实体E—R图。
图2-6事故信息实体E—R图
图2-7是实体之间关系的E-R图。
图2—7实体之间关系的E—R图
2.3数据库逻辑结构设计
现在需要把上面的数据库概念结构转化为SQLServer 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
运输企业信息管理系统数据库中各个表格的设计结果如下表格所示。
每个表格表示在数据库中的一个表。
表2—1为司机基本状况表。
表2—1 driver司机基本信息表
列名
数据类型
可否为空
说明
Sjid
Varchar
NOTNULL
执照号码
Sjname
Varchar
NOTNULL
姓名
Sjsex
Varchar
NULL
性别
Sjbirthday
Datetime
NULL
出生年月
Sjaddress
Varchar
NULL
住址
Sjfirstdate
Datetime
NULL
初次领证时间
Sjtype
Varchar
NOTNULL
准驾车型
Sjbegin_date
Datetime
NULL
有效期起始时间
Sjend_date
Datetime
NULL
有效期结束时间
表2—2为车辆基本信息表。
表2-2 vehicle为车辆基本信息表
列名
数据类型
可否为空
说明
Clid
Varchar
NOT NULL
车号
Clkind
Varchar
NOTNULL
类型
Clowner
Varchar
NOTNULL
车主
Clcode1
Varchar
NOTNULL
发动机号
Clcode2
Varchar
NULL
车架号
Clcode3
Varchar
NULL
厂牌型号
Cltotal
Numeric
NULL
总质量
Clpassenger
Numeric
NULL
核定载客
Clregist_date
Datetime
NULL
登记时间
Clcertifi_date
Datetime
NULL
发证时间
Clcolor
Varchar
NULL
颜色
Cldriver
Varchar
NULL
主要司机
表2—3为运营信息表.
表2-3 statisticﻩ运营信息表
列名
数据类型
可否为空
说明
Yyid
Varchar
NOTNULL
车号
Yydriver
Varchar
NOTNULL
司机
Yybegin_date
Datetime
NOTNULL
开始时间
Yyend_date
Datetime
NOTNULL
结束时间
Yydistance
Numeric
NULL
运行公里
Yywaste
Numeric
NULL
耗油
表2-4为车辆维修信息表。
表2-4 repair车辆维修信息表
列名
数据类型
可否为空
说明
Wxid
Varchar
NOTNULL
车号
Wxdate
Datetime
NOT NULL
时间
Wxdept
Numeric
NULL
维修单位
Wxcontent
Varchar
NULL
维修内容
Wxprice
Numeric
NULL
价格
Wxslave
Varchar
NULL
配件
Wxmemo
Text
NULL
备注
表2-5为事故信息表。
表2—5 accident事故信息表
列名
数据类型
可否为空
说明
Sgid
Varchar
NOT NULL
车号
Sgdate
Datetime
NOT NULL
时间
Sgplace
Varchar
NOTNULL
地点
Sgreason
Varchar
NULL
原因
Sgdriver
Varchar
NULL
司机
续表
列名
数据类型
可否为空
说明
Sgopp_dept
Varchar
NULL
对方单位
Sgopp_id
Varchar
NULL
对方车号
Sgmode
Varchar
NULL
处理方式
Sgvalue
Numeric
NULL
处罚金额
第三章数据库结构的实现
经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。
现在就可以在SQLServer2000数据库系统中实现该逻辑结构.利用SQLServer2000数据库系统中的SQL查询分析器实现.下面为创建这些表格的SQL语句。
3.1创建数据库和数据表
1。
创建系统用户表User_Info
CREATETABLE [dbo]。
[user_info1] (
[user_ID][char](10) COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[user_PWD][char](10)COLLATEChinese_PRC_CI_AS NULL,
[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
2。
创建司机基本信息表格driver
CREATETABLE[dbo].[driver](
ﻩ[sjid] [char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[sjname][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[sjsex][char]
(2)COLLATEChinese_PRC_CI_ASNULL ,
ﻩ[sjbirthday][datetime] NULL,
[sjaddress][char](30)COLLATEChinese_PRC_CI_ASNULL,
ﻩ[sjfirstdate][datetime]NULL,
[sjtype][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[sjbegin_date][datetime]NULL,
ﻩ[sjend_date][datetime]NULL
)ON[PRIMARY]
3。
创建车辆基本信息表vehicle
CREATE TABLE[dbo].[vehicle](
ﻩ[clid][char](10)COLLATEChinese_PRC_CI_ASNOT NULL ,
ﻩ[clkind][char](20)COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[clowner][char](20)COLLATEChinese_PRC_CI_ASNOTNULL ,
[clcode1] [char](10)COLLATE Chinese_PRC_CI_ASNOTNULL ,
ﻩ[clcode2][char](10)COLLATEChinese_PRC_CI_AS NULL,
ﻩ[clcode3][char] (20)COLLATEChinese_PRC_CI_ASNULL,
ﻩ[cltotal] [numeric](8,2) NULL,
ﻩ[clpassenger][numeric](2,0)NULL ,
[clregist_date][datetime] NULL,
[clcertifi_date][datetime]NULL,
[clcolor][char] (4) COLLATEChinese_PRC_CI_ASNULL,
[cldriver][char](10)COLLATEChinese_PRC_CI_ASNULL
) ON[PRIMARY]
4.创建运营信息表statistic
CREATETABLE[dbo].[statistic](
ﻩ[yyid][char] (10) COLLATE Chinese_PRC_CI_ASNOTNULL,
ﻩ[yydriver] [char] (10)COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[yybegin_date][datetime]NOTNULL,
ﻩ[yyend_date][datetime]NOTNULL,
[yydistance][numeric](8, 2)NULL,
ﻩ[yywaste][numeric](8,2)NULL
)ON[PRIMARY]
5.创建车辆维修信息表repair
CREATETABLE[dbo]。
[repair](
ﻩ[wxid] [char] (10)COLLATEChinese_PRC_CI_ASNOTNULL,
ﻩ[wxdate][datetime]NOTNULL,
ﻩ[wxdept][char](30) COLLATE Chinese_PRC_CI_ASNULL,
[wxcontent] [char](40)COLLATEChinese_PRC_CI_AS NULL,
[wxprice] [numeric](10, 2) NULL ,
[wxslave][char](30)COLLATE Chinese_PRC_CI_AS NULL,
ﻩ[wxmemo][text]COLLATEChinese_PRC_CI_AS NULL
)ON [PRIMARY]TEXTIMAGE_ON[PRIMARY]
6.创建车辆事故信息表accident
CREATETABLE [dbo].[accident](
ﻩ[sgid][char](10) COLLATEChinese_PRC_CI_ASNOTNULL ,
[sgdriver] [char](10)COLLATEChinese_PRC_CI_ASNULL,
ﻩ[sgdate][datetime] NOTNULL,
[sgplace][char](30)COLLATEChinese_PRC_CI_AS NOTNULL,
ﻩ[sgreason] [char](30) COLLATEChinese_PRC_CI_AS NULL ,
ﻩ[sgopp_id][char](10)COLLATEChinese_PRC_CI_ASNULL,
ﻩ[sgopp_dept][char](30)COLLATEChinese_PRC_CI_ASNULL ,
[sgmode][char](30)COLLATEChinese_PRC_CI_ASNULL,
ﻩ[sgvalue] [numeric](10,2)NULL,
[sgmemo] [text] COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
3。
2SQLServer2000
为了确保程序代码的正确运行,需要对SQLServer2000进行相应设置。
打开SQLServer2000的企业管理器,如图3-1所示.
图3-1 SQLServer 2000企业管理器
选择“SQLServer组”中的服务器,然后单击右键选择弹出菜单中的“属性”,出现对话框选择“安全性"属性页,设置成“SQLServer和Windows”身份验证.其他属性设置如图3-2。
图3—2设置SQL Server 2000的安全属性 图3—3 设置sa用户的密码为空
程序同发过sa用户访问数据库,密码设置为空.在企业管理器中选择“安全性”中的“登录",选择sa用户.如图3-3所示设置sa密码为空。
3.3Visual Basic设置
由于程序利用ADO(ActiveDataObject)完成对数据库的访问和操作,需要添加ADO库。
打开MicrosoftVisualBasic,选择“工程"菜单中的“部件",如图3-4在打开对话框中选择“MicrosoftADO DataControl 6。
0(OLEDB)”.
图3-4 为Visual Basic添加ADO库
3.4创建数据库
如图3-5所示,查询分析器打开之前写好的VEHICLE。
SQL文件。
选中全部代码并执行讲产生程序运行需要的数据库和存储过程。
存储过程参考数据库中代码.
3。
5创建ODBC
程序对数据库的访问需要通过ODBC来实现。
打开“控制面板"中的“管理工具"的“数据源(ODBC)”,在如图3—6所示的对话框中创建文件DSN。
本系统需要创建的文件DSN名称为Vehicle.dsn,登录方式选择“使用网络登录ID的WindowsNT验证”,登录ID为administrator,密码为空,默认连接数据库为Vehicle。
图3-5用查询分析器打开数据库创建文件
图3—6—a添加文件DSN
图3—6—b选择登录方式
图3-6—c创建数据源 图3—6-d测试结果
第四章运输企业管理信息系统主窗体创建
上面的SQL语句在SQL Server2000中查询分析器的执行,将自动生成需要的所有表格。
有关数据库结构的所有后台工作已经完成。
现在通过运输企业管理信息系统中各个功能模块的实现,理解VisualBasic编写数据库系统的客户端程序。
4。
1添加部件
由于Visual Basic编写数据库系统有些部件在工具栏里没有,所以需要首先添加部件。
打开VisualBasic,选择“工程”菜单中的“部件”,在“MicrosoftCommonDialogControl6.0(SP6)”、“MicrosoftFlexGridControl 6。
0”、“MicrosoftRichTextboxControl6.0”和“MicrosoftWindows CommonControl6.0(SP6)"选项前面的框里打钩。
4.2创建工程项目——Vehicle_MIS
启动VisualBasic后,单击新建工程菜单,在工程模板中选择StandardEXE,VisualBasic自动产生一个Form窗体,属性都是缺省设置.这里我们删除这个窗体,单击保存工程,将这个工程项目命名为Vehicle_MIS。
4.3创建企业认识信息管理系统的主窗体
这个项目使用多文档界面,单击工具栏中的添加窗体按钮,产生一个窗体.在窗体上添加所需空间,窗体和空间的属性设置见表4—1。
表4-1 主窗体及其控件属性设置
控件
属性
属性取值
frmMain(Form)
Name
FrmMain
Caption
运输信息管理系统
StarUpPosition
2-屏幕中心
WindowState
2—Maximized
SbStatusBar(StatusBar)
Name
SbStatusBar
Panels
(1)
Style
SbrText
Panels
(2)
Style
SbrDate
Panels(3)
Style
SbrTime
创建好的窗体如图4—1所示。
在主窗体中加入状态栏控件,可以实时反应系统中的各个状态的变化。
状体栏控件需要在通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置。
选中状态栏控件,单击鼠标右键,选中property菜单,然后设置属性。
面便1用来显示各种文本信息,面板2用来显示当前日期,面板3用来显示当前时间.
4.4创建主窗体的菜单
在如图4-1所示的主窗体中,单击鼠标右键,选择弹出式菜单的“菜单编辑器”创建如图4-2所示的菜单结构:
4-1运输管理信息系统主窗体 图4-2主窗体中的菜单结构
4。
5创建公用模块
在Visual Basic中可以用公用模块存放整个工程项目公用的函数、过程和全局变量等。
这样可以极大提高代码的效率。
在项目资源管理器中为项目添加一个module,保存为module。
bas,然后就可以开始添加需要的代码。
由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。
添加函数ExecuteSQL,代码如下:
PublicFunction ExecuteSQL(ByValSQL_
AsString,MsgStringAsString)_
AsADODB。
Recordset
‘执行SQL语句,并班会记录及对象
DimcnnAsADODB.Connection
Dimrst AsADODB.Recordest
DimsTokens() AsString
‘异常处理
OnError GoToExecuteSQL_Error
‘用Split函数产生一个包含各个子川的数组
sTokens=Split(SQL)
Setcnn=New ADODB.Connection
‘打开连接
Cnn.OpenConnectString
‘判断查询语句内容
IfInStr(“INSERT,DELETE,UPDATE",_
UCase$(sTokens(0)))Then
‘执行查询语句
cnn。
Execute SQL
‘返回查询信息
MsgString=sTokens(0)&_
“query successful”
Else
‘创建数据集对象
Setrst=NewADODB。
Recordest
‘执行查询操作
rst。
OpenTrim$(SQL),cnn,_
adOpenKeyset,_
adLockOptimistic
‘rst。
MoveLast ‘get RecordCount
‘返回记录集对象
SetExecuteSQL=rst
MsgString=”查询到”&rst。
RecordCount&_
“条记录”
End If
ExecuteSQL_Exit;
‘卸载
Setrst=Nothing
‘中断连接
Setcnn=Nothing
ExitFunction
‘错误信息
ExecuteSQL_Error
MsgString=”查询错误;”&_
Err。
Description
ResumeExecuteSQL_Exit
End Function
在ExecuteSQL函数中使用了ConnectString函数,这个函数用来连接数据库,代码如下:
PublicFunctionConnectString()_
AsString
‘返回一个数据库连接
ConnectString=”FileDSN=vehicle。
dsn;UID=sa;PWD=”
EndFunction
在录入有关信息是,需要回车进入下一个文本框。
在所有的功能模块都需要这个函数,所以将它放在公用模块中,代码如下:
Public SubEnterToTab(KeyascAsInteger)
‘判断是否为回车键
IfKeya
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运输 企业管理 系统