辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
cl_id cl_kind cl_owner cl_code1 cl_code2 cl_code3 cl_total cl_passenger cl_regdate cl_cardate cl_color cl_driver char char char char char char numeric numeric datetime datetime char char 20 20 20 10 10 20 9(18,0) 9(18,0) 8 8 4 10 表2.3 运营信息表
否 否 否 否 车辆牌照 车型 车主 发动机号 车架号 厂家型号 车重 核定载客 车辆注册日期 发证日期 车辆颜色 主要司机 字段名称 yy_id yy_driver yy_bdate yy_edate yy_distance yy_waste 数据类型 char char datetime datetime numeric numeric 字段长度 15 20 8 8 9(18,0) 9(18,0) 可否为空 否 否 否 否 说明 运营车辆牌照 运营的司机姓名 运营开始时间 运营结束时间 运营行程 运营费用 2.3.3物理设计
数据库物理设计是将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用RDBMS的内部特征、存储结构、存取方法。
可以直接在数据库中建立数据表,也可以将自由表添加到数据库中,但不能将另一个数据库中的表拉到当前数据库中来。可以在同一个数据库中建立多个表
图2.10用户信息
13
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
第3章 系统实施
3.1开发工具介绍
前台使用Visual Basic 6.0,它是Windows应用程序开发工具,具有直观的开发界面、先进的程序设计思想,是目前最为广泛的、易学易用的面向对象的开发工具。VB还提供了软件发布功能,使得开发、调试到发布可以一步完成。故而,实现本系统VB是一个相对较好的选择。
关系型数据库应用数学方法来处理数据库中的数据。关系型数据库最大的特点在于它将每个具有相向属性的数据独立地存储在一个表中。对任何一个表来而言,用户可以新增、删除、修改表中的任何数据,而不会影响表中的其它数据。本系统使用的后端数据库是SQL Server2000。SQL Server数据库就是关系型数据库。在SQL Server 2000中的查询分析器里面输入建表语句,之后执行查询,保存,就可以得到所需要的表格了。
SQL Server,它是一种功能强大的数据库开发工具,数据库汇集了信息以供查询、存储和检索。选择SQL数据库的最主要原因是,它支持网络数据库,现在企业规模的迅速扩大,车辆作为最主要的交通工具在企业中已经大量存在,为了合理控制这些信息,最佳的调配各部门的车辆使用,采用网络数据库是最理想的选择。
3.2系统测试
采用ADO控件连接数据库和系统,ADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等。
通过系统自带ODBC的文件DSN,进行连接数据库,其中定义的时候DSN文件名为myconnection.dsn(自定义),具体数据库连接的代码如下:
Public Function ConnectString() As String ConnectString = \End Function
其中的ConnectString的调用如下,这样就成功的连接了数据库 Set cnn = New ADODB.Connection cnn.Open ConnectString
3.3系统设计的特点
系统充分考虑了当前的市场需求,根据实际能力进行了调整,操作方便、界面友好直观,易用性、实用性很强;系统采用了网络数据库,使得用户可以分布式对数据进行处理,同时数据安全性得到提高,也使得数据在一个较大规模的企业中实现了透明;系统提供方便快捷的字典功能,用户只需输入一次数据,以后对字典实行增加、修改就可以满足要求了,大大地减少了输入的工作量。系统是根据当前市场的普遍需求设计的,所以适用范围很广,最适用于各种非运营单位的车辆管理,同时也可以作为运营单位车辆管理。提供了强大的数据报表功能,可行手工进行报表的设计调整,也可以系统自动生成,这样可以满足不同的用户的不同需求。
14
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
附录:主要代码
司机信息查询代码如下: Private Sub cmdok_Click() Dim txtsql As String
If Check1.Value = vbChecked Then ' Call hidecheck
If Trim(Text1.Text) = \
MsgBox \查询内容不能为空\警告\ Else
txtsql = \ End If
' Check2.Enabled = False ' Check3.Enabled = False End If
If Check2.Value = vbChecked Then 'Call hidecheck
If Trim(Text2.Text) = \
MsgBox \查询内容不能为空\警告\ Else
txtsql = \ End If
'Check1.Enabled = False 'Check3.Enabled = False End If
If Check3.Value = vbChecked Then ' Call hidecheck
If Trim(Text3.Text) = \
MsgBox \查询内容不能为空\警告\ Else
txtsql = \ End If
'Check1.Enabled = False ' Check2.Enabled = False End If
If Trim(txtsql) = \
MsgBox \请设置查询方式!\提示\ Exit Sub Else
'If flagdEdit Then
Unload frmdriverfind 'End If
frmdriverlist.txtsql = \
15
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
frmdriverlist.Show End If End Sub
车辆信息添加代码:
Private Sub Cmdsave_Click() Dim txtcount As Integer Dim tmsg As String Dim msgtext As String For txtcount = 0 To 3
If Trim(txtitem(txtcount) & \ Select Case txtcount Case 0
tmsg = \车牌\ Case 1
tmsg = \车型\ Case 2
tmsg = \车主\ Case 3
tmsg = \发动机号\ End Select
tmsg = tmsg & \不能为空!\
MsgBox tmsg, vbOKOnly + vbExclamation, \警告\ txtitem(txtcount).SetFocus Exit Sub End If Next txtcount
If Not IsNumeric(txtitem(6)) Then
MsgBox \输入错误,请输入数字\警告\ txtitem(6).SetFocus Exit Sub End If
If Not IsNumeric(txtitem(7)) Then
MsgBox \输入错误,请输入数字\警告\ ' Exit Sub
txtitem(7).SetFocus Exit Sub End If
If Trim(txtitem(8) & \ If Not IsDate(txtitem(8)) Then
MsgBox \请输入时间,格式yyyy-mm-dd!\vbOKOnly + vbExclamation, \警告\
txtitem(8).SetFocus Exit Sub Else
16
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
txtitem(8) = Format(txtitem(8), \ End If End If
If Trim(txtitem(9) & \ If Not IsDate(txtitem(9)) Then
MsgBox \请输入时间,格式yyyy-mm-dd!\vbOKOnly + vbExclamation, \警告\
txtitem(9).SetFocus Exit Sub Else
txtitem(9) = Format(txtitem(9), \ End If End If
If gintvMode = 1 Then
txtsql = \\
Set mrc = ExecuteSQL(txtsql, msgtext) If mrc.EOF = False Then
MsgBox \此车辆信息已经存在\警告\ txtitem(0).SetFocus Exit Sub Else
mrc.AddNew
For txtcount = 0 To 11
mrc.Fields(txtcount) = Trim(txtitem(txtcount)) Next txtcount mrc.Update End If mrc.Close
MsgBox \添加信息成功\添加信息\ End If
If gintvMode = 2 Then
txtsql = \from vehicle where cl_id='\& Trim(txtitem(0)) & \ ExecuteSQL txtsql, msgtext
txtsql = \
Set mrc = ExecuteSQL(txtsql, msgtext) mrc.AddNew
For txtcount = 0 To 11
mrc.Fields(txtcount) = Trim(txtitem(txtcount)) Next txtcount mrc.Update mrc.Close
flagvEdit = True
17