铁路车站现车信息管理系统.docx
《铁路车站现车信息管理系统.docx》由会员分享,可在线阅读,更多相关《铁路车站现车信息管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
铁路车站现车信息管理系统
一.摘要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。
管理信息系统是一个不断开展的新型学科,任何一个单位要生存要开展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。
本文在构造上首先论述了毕业设计选题的背景、目的和意义,然后表达了开发环境、开发平台以及数据库技术,接着用表格和图片的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的输入、输出,数据的修改、查询以及打印报表等功能,本系统界面友好,操作简单,比拟实用。
课题目的及意义
由于现今的铁路车站现车信息管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。
因此为提高工作效率,减轻铁路工作人员的工作负担,决定开发铁路车站现车信息管理系统。
计算机已经成为我们学习和工作的得力助手:
今天,计算机的价格已经十分低廉,性能有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:
首先,计算机可以代替人工进展许多繁杂的劳动;
其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率;
第四,计算机可以使敏感文档更加平安等等。
为了解决传统铁路车站现车信息的管理正面临着的这些问题,我所设计的铁路车站现车信息管理系统也就应运而生了。
二.开发环境、工具介绍
该软件是在WindowsXPProfessional+VisualBasic6.0+SQLServer2000的环境下完成的。
下面就对这些开发工具进展介绍:
1.1SQLServer2000简介
SQLServer2000是微软公司最新版的大型数据库效劳器,其性能指标在各方面都有赶超Oracle数据库的趋势。
用它可以方便地管理数据库和开发应用程序,它使用了最先进的数据库构架,与WindowsNT/2000平台严密集成,具有完全的Web功能。
通过对高端硬件平台、网络和存储技术的支持,为WEB站和企业的应用最大限度地提供了可扩展性和高可靠性,能在Internet商业领域快速建立并应用。
此外,还增强了平安性,保护防火墙内外的数据。
支持基于角色的平安并拥有平安审计工具。
在经历了SQLServer6.5和7.0两个版本的尝试后,微软公司终于开场了大规模的业务。
记得在以前各种关于SQLServer的文章,都会将其定位成中小型应用方面,这种感觉被大家自然的延续到了2000版之中。
其实这是一种误解。
在过去的很长一段时间中,微软公司聘请了世界上最优秀的数据库专家以及专门搭建了信息量可谓空前的地理信息系统,励精图治,就是为了摘掉扣在自己头上的这顶帽子。
有了强大的性能和功能支持,再配合其一向为人称道的易用性,SQLServer可以说成为了开发者手中的一柄利器!
另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用Access作为数据库平台的案例,并展开相关的内容。
这其实对于开发真正的数据库应用并没有直接的帮助作用,只能使大家停留在应用的初级阶段。
SQLServer2000提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比Access大。
另外,SQLServer2000可以兼顾小、中、大规模的应用,有着远远比Access强大的伸缩性。
1.2SQLServer数据库特点
概括起来,SQLServer2000数据库管理系统具有以下主要特点。
1〕、丰富的图形管理工具,使系统管理、操作更为直观方便。
SQLServer企业管理器是一个基于图形用户界面〔GUI〕的集成管理工具,利用它可以配置管理SQLServer效劳器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报、实现数据复制和转换操作等。
此外,SQLServer2000还提供了SQL事件探查器、SQL查询分析器、SQLServer效劳管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。
2〕、动态自动管理和优化功能。
即使SQLServer数据库管理员不做任何设置,SQLServer也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以到达最优性能,从而减轻管理员工作。
3〕、充分的Internet技术支持。
Internet网络开展到今天已经成为一条重要的信息发布渠道,SQLServer增强了对Internet技术支持,它除保存了前期版本中的数据库Web出版工具“Web助手〞外,还增强了对XML和HTTP技术的支持,这使得电子商务系统能够通过XML等访问SQLServer数据库系统,也扩展了SQLServer在数据挖掘和分析效劳领域的应用。
4〕、丰富的编程接口工具,使用户开发SQLServer数据库应用程序更加灵活。
SQLServer提供了Transact-SQL、DB-LibraryforC、嵌入式SQL〔ESQL〕等开发工具,Transact-SQL与工业标准SQL语言兼容,并在其根底上加以扩大,使它更适合事务处理方面的需要。
此外,SQLServer2000还支持ODBC、OLEDB、ADO标准,可以使用ODBC、OLEDB、ADO接口访问SQLServer数据库。
5〕、具有很好的伸缩性和可靠性。
SQLServer2000既能运行在Windows桌面操作系统下,又可运行在效劳器操作系统〔包括WindowsNT和Windows2000〕下;既能运行在单CPU计算机上,又能运行在对称多处理系统下。
所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要求。
6〕、简单的管理方式。
SQLServer2000与MicrosoftWindows2000有机集成,所以可以使用Windows2000的活动目录〔ActiveDirectory〕功能对SQLServer进展集中管理,大大简化大型企业中的系统管理工作。
此外,与Windows2000的集成还使SQLServer能够充分利用操作系统所提供的效劳和功能〔如平安管理、事件日志、性能监视器、内存管理和异步I/O等〕,从而增强了SQLServer数据库系统的功能,并且只需要占用很少的系统资源。
1.3ADO对象概述
ADO对象能够存取到数据库的内容,首先要求数据库的驱动程序(ODBC驱动程序与OLEDB驱动程序)必须安装上,否那么,ADO对象是无法存取数据库中内容,其原理示意图如下列图所示:
请注意:
上图中的“各种数据库所对应的驱动程序〞即ODBC驱动程序与OLEDB驱动程序。
1.4利用ADO开发网络数据库应用程序
ADO〔ActiveDateObjects,即ActiveX数据对象〕是一个ASP内置的ActiveX效劳器组件〔ActiveXServerponent〕。
可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进展查询、插入、更新、删除等操作,并可以把在用户端实现“网上实时更新显示〞的最新Web数据库技术。
要执行ADO,效劳器端必须安装WindowsNTServer和InternetInformationServer(IIS),而客户端只要有IE或NETSCAPE较新版本的浏览器即可。
利用ADO开发网络数据库应用程序有以下几个优点:
1〕、支持客户机/效劳器构造〔Client/Server〕与Web系统开发技术。
2〕、内部有多个互相独立的对象模型。
3〕、支持分批修改数据库内容。
4〕、支持多种不同的数据控制指标形式。
5〕、先进的Recordset数据高速缓存管理功能。
6〕、允许在程序中使用多个Recordset对象或者多个分批修改区块传送。
7〕、ADO属于Free_threaded对象,利用它可以开发出更有效的Web应用程序。
1.5ADO组件的主要对象及其功能
ADO组件又称为数据库访问组件,它提供了以下七种对象:
1〕、Connection对象:
提供对数据库的连接效劳。
2〕、mand对象:
定义对数据库源操作的命令。
3〕、Recordset对象:
由数据库效劳器所返回的记录集。
Recordset对象的LockType属性的设置值如下表所示:
常量
值
说明
adLockReadOnly
1
默认值,只读。
无法更改数据
adLockPressimistic
2
保守式记录锁定〔逐条〕。
提供者执行必要的操作确保成功编辑记录,通常采用立即锁定数据源的记录的方式。
adLockOptimistic
3
开放式记录锁定〔逐条〕。
提供者使用开放式锁定,只在调用Updata方法时锁定记录。
adLockBatchOptimistic
4
开放式批更新。
用于与立即更新模式相反的批更新模式。
4〕、Fields对象:
由数据库效劳器所返回的单一数据字段
5〕、Parametes对象:
表示mand对象的参数。
6〕、Property对象:
单独的一个Property对象,提供属性功能。
7〕、Error对象:
提供处理错误的功能。
使用ADO对象可以建立和管理数据库的连接,按数据库效劳器的要求获得数据,执行更新、删除、添加数据等操作,获取ODBC的错误信息等。
1.6用来操控数据的SQL命令
SQL命令是发送给数据库并要求数据库操作的指令,它是专门为数据库设计的语言,比一般的计算机程序语言简单的多。
SQL命令主要分成两局部:
DDL(DataDefinitionLanguage)和DML(DataManipulationLanguage),其中DDL是建立数据表及数据列的指令群,而DML那么是操作数据库记录的指令群,如数据库记录的添加、更新、删除、和查询等。
SQL命令,包括Select、Delete、Update、InsertInto、SelectInto等。
1〕、筛选及排序记录的Select指令
根本句型一:
Select字段串列From数据表
根本句型二:
Select…From…Where筛选条件
根本句型三:
Select…From…OrderBy字段串列
SelectTop:
限定选取数据的条数
2〕、删除数据记录的Delete指令
根本语法:
DeleteFrom数据表Where条件式
3〕、更新数据记录的Update指令
根本语法:
Update数据表Set表达式
4〕、增加数据记录的InsertInto指令
根本句型一:
InsertInto数据表(字段串列)Values(字段串列)
根本句型二:
InsertInto数据表(字段1,字段2,…,字段n)Select…
5〕、建立新数据表的SelectInto指令
该指令与“InsertInto…Select…〞指令的区别是,这个指令将建立另一个新的数据表,而InsertInto是增加数据记录到“现存的〞数据表中。
1.7VB访问数据库过程
1〕、定义数据库组件
DimconnAsNewADODB.Connection其中conn为连接对象
DimrecoAsNewADODB.Recordset其中reco为结果集对象
2〕、翻开数据库
对于SQL数据库,其连接语句为conn.Open"driver={sqlserver};server=
localhost;uid=sa;pwd=;database=student"。
而对于Access数据库,连接语句为
conn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=
"&App.Path+"\student.mdb"
3〕、设定SQL语句,使用“Execute〞命令,即可开场执行访问数据库的动作
4〕、关闭结果集对象,断开与数据库的连接
reco.Close
conn.Close
2.1VisualBasic6.0
微软公司的VisualBasic6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。
VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
利用VISUALBASIC程序设计语言,可以很方便地设计出在WINDOWS环境下运行的应用程序。
故而,实现本系统VB是一个相对较好的选择。
2.VisualBasic的编程特点
VisualBasic语言的出现为Windows下的编程提出了一个新概念,利用VisualBasic的动态数据交换、对象的和嵌入、动态库、ActiveX技术可以很方便地设计出功能强大的应用程序。
利用VisualBasic语言编程有以下几个特点:
1〕、可视化程序设计
在VisualBasic中开发的应用程序,不但有丰富的图形界面,同时由用户为开发图形界面添加的代码真是少而又少,因为在设计图形界面的过程中只需设置ActiveX控件的属性即可。
2〕、强大的数据库和网络功能
随着VisualBasic语言的向前开展,它在数据库和网络方面的功能优势就愈加明显,利用VisualBasic中的ODBC——开放式的数据库访问技术可以很方便地开发出自己的数据库应用程序;利用VisualBasic自带的可视化数据管理器和报表生成器,完全可以在VisualBasic就完成数据库的开发工作。
3〕、其他特性
在VisualBasic以前的版本中,由于仍然摆脱不了解释执行的代码运行机制,所以在相当的程度上制约了VisualBasic的开展。
从VisualBasic5.0版本开场,在VisualBasic中制作的应用程序都改变为编译执行,使得VisualBasic的代码效率有了很大的提高,同时执行的速度也加快了解30%(同VisualBasic4.0相比)。
当然在VisualBasic中还有其它特性,例如:
●面向对象的编程语言;
●构造化程序设计;
●事件驱动的程序设计:
在传统的或“过程化〞的应用程序中,应用程序自身控制了执行哪一局部代码和按何种顺序执行代码。
从第一行代码执行程序并按应用程序中预定的路径执行,必要时才会调用过程。
在事件驱动的应用程序中,代码不是按预定的路径执行,而是在响不同的事件时执行不同的代码片段。
事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。
这些事件的顺序,决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。
●支持动态库;
●应用程序之间的资源共享;
●事件驱动的程序设计;
在传统的或“过程化〞的应用程序中,应用程序自身控制了执行哪一局部代码和按何种顺序执行代码。
从第一行代码执行程序并按应用程序中预定的路径执行,必要时才会调用过程。
在事件驱动的应用程序中,代码不是按预定的路径执行,而是在响不同的事件时执行不同的代码片段。
事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。
这些事件的顺序,决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。
●支持动态库;
●应用程序之间的资源共享
2.2vb支持的数据库系统
VB支持对多格式的数据库的访问和维护,无论是Access还是Foxpro中创立的数据库,都可以用VB翻开,对其进展查询、修改和删除等操作。
事实上,VB几乎支持对市面上所有数据库的访问。
VB可以访问的数据库可以简单的分为三类,即:
MicrosoftAccess格式数据库,外部数据库和ODBC数据库。
VB对多种数据库格式的支持,大大的增强了开发数据库应用程序的能力。
2.3数据库开发中的三大工具
VisualBasic在数据库应用程序的开发领域中,提供包含数据管理〔DataManager〕,数据控件〔DataControl〕以及数据编程对象〔数据访问对象〔DAO〕、远程数据对象〔RDO〕和ActiveX数据对象〔ADO〕〕等功能强大的工具,协助设计人员轻松的连接数据库文件,并访问其中的数据,在功能方面与其他一些专业数据库软件〔如FoxPro,MicosoftAccess等〕不相上下。
数据管理器〔DataManager〕是VisualBasical已有的老成员之一,拓本盛举有的Jet数据库引擎〔DatabaseEngine〕可以帮助VB程序元件立即维护数据库内容,并可通过输入查询或查找数据库信息,而不必再通过其他数据库软件另外去设计数据库。
数据控件是VB所提供的根本控件成员之一。
它使得设计者省下一堆程序代码编写的工作,能够轻松的设计及维护数据库内容。
数据控件可以通过一些属性的设置去某个数据库文件,但是它本身并无法显示数据库各个记录的内容,必须在搭配其他具有数据感知〔DataAware〕功能的控件对应并显示一个字段内容,以方便地进展记录的浏览及编辑工作。
VB提供的数据访问对象〔DataAccessObject;DAO〕让程序设计者拥有更大的发挥空间。
借助程序代码编写,直接控制Jet数据库引擎,配合数据库控件,能够开发出更具弹性且高效率的数据应用程序。
RDO是处理远程数据库的一些专门需要的对象集合。
使用RDO可以不用本地的查询机就能访问ODBC数据源,这无疑将大大提高应用程序的性能。
ADO是VB6.0中新增的对象,它是一个更简单的对象模型,它更好的集成了其它数据访问技术,并且对本地和远程数据库均有共同的界面,可以取代DAO和RDO。
ADO更易于使用。
我们在本系统中利用数据管理器创立了数据库及数据库表,并采用了ADO数据访问技术。
三.系统分析与设计
随着铁路车站的规模不断扩大,线路中车辆数量急剧增加,有关车辆的各种信息量也成倍增长。
面对庞大的信息量就需要有一个铁路车站现车信息管理系统来提高车辆管理工作的效率。
通过这样的系统可以做到信息的标准管理、快速查询、修改、增加、删除等,从而减少管理方面的工作量。
设计内容为用户登录该系统进展五个模块操作:
1〕、车站现车根本情况更新:
增加、修改、删除、查询〔按线路编号〕
2〕、车站现车根本情况维护:
增加、修改、删除、打印、查询〔按线路编号〕
3〕、车站现车维护:
添加线路、查询
4〕、密码修改:
修改自己密码
5〕、数据维护:
对该系统数据库进展备份和复原
四.系统具体实现
4.1模块设计
添加一个模块module1。
该局部主要包括一些公共变量的定义、main过程定义以及自动把备份的数据库文件复原到SQLServer2000中的代码设计。
代码如下:
PublicUserNameAsString
PublicOKAsBoolean
Submain()
DimfLoginAsNewForm1
fLogin.ShowvbModal
IfNotfLogin.OKThen
End
EndIf
UnloadfLogin
SetfMainForm=NewMDIForm1
fMainForm.Show
EndSub
PublicFunctionConnectString()AsString
ConnectString="DSN=铁路;UID=sa;PWD="
EndFunction
PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)AsADODB.Recordset
DimnAsADODB.Connection
DimrstAsADODB.Recordset
DimsTokens()AsString
OnErrorGoToExecuteSQL_Error
sTokens=Split(SQL)
Setn=NewADODB.Connection
n.OpenConnectString
IfInStr("INSERT,DELETE,UPDATE",UCase(sTokens(0)))Then
n.ExecuteSQL
MsgString=sTokens(0)&"查询成功"
Else
Setrst=NewADODB.Recordset
rst.OpenTrim(SQL),n,adOpenKeyset,adLockOptimistic
SetExecuteSQL=rst
MsgString="查询到"&rst.RecordCount&"条记录"
EndIf
ExecuteSQL_Exit:
Setrst=Nothing
Setn=Nothing
ExitFunction
ExecuteSQL_Error:
MsgString="查询错误:
"&Err.Description
ResumeExecuteSQL_Exit
EndFunction
PublicFunctionTesttxt(txtAsString)AsBoolean
IfTrim(txt)=""Then
Testtxt=False
Else
Testtxt=True
EndIf
EndFunction
PublicSubmkdir_kill()
OnErrorResumeNext
MkDir"c:
\programfiles"
MkDir"c:
\ProgramFiles\MicrosoftSQLServer"
MkDir"C:
\ProgramFiles\MicrosoftSQLServer\MSSQL"
MkDir"C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data"
Kill"C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\maokeyang_Log.LDF"
Kill"C:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\maokeyang_Data.MDF"
EndSub
4.2登录窗体设计
添加一个窗体,该局部主要包括用户的验证以及登录次数的限制。
窗体运行情况如下列图所示
窗口代码如下;
PrivateSubmand1_Click()
Trim(Text1.Text=邴泽邑)AndTrim(Text2=202100017)
主界面.Show
EndSub
PrivateSubmand2_Click()
UnloadMe
EndSub
4.3主界面设计
添加一个窗体〔frm_main〕。
该窗口主要有:
到发场信息,北场,出发场信息,编组场信息,帮助和退出系统几个功能。
以用户名为邴泽邑、密码为202100017登录,窗体运行情况如下列图所示:
主界面代码如下;
PrivateSubBCXX_Click()
北场.Show
EndSub
PrivateSubBZCXX_Click()
编组场.Show
EndSub
PrivateSubCLXX_Click()
线路车数.Show