ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:377.89KB ,
资源ID:3386666      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3386666.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于VB的文件自动更新系统的设计与实现毕业设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于VB的文件自动更新系统的设计与实现毕业设计.docx

1、基于VB的文件自动更新系统的设计与实现毕业设计基于VB的文件自动更新系统的设计与实现毕业设计1 引言1.1课题背景 随着网络技术的日新月异,基于网络的各种应用软件层出不穷,而用户的需求也随着使用范围和深度的增加不断扩展,由于网络的分散性,软件提供商无法逐一为用户更新升级,因此网络软件自动升级功能显得尤为重要。目前软件自动升级功能已经在商业、管理、娱乐等领域得到充分应用,是一项十分成熟的技术1。 然而,煤矿的信息化相对于高度信息化的现代IT企业,其信息化程度较为滞后。淮北矿业集团作为国有大型能源企业,其信息化程度在同行业中名列前茅,但由于其应用需求的特殊性,许多应用软件根据生产和管理需求定制,然

2、后由软件开发商定制开发。淮北矿业集团的OA系统,生产管理系统、物资管理系统、财务系统等已经十分成熟,但企业近年定制的“淮北矿业集团安全生产监测监控智能联网平台”虽在使用功能上基本满足了企业需求,然而某些功能仍需要完善和补充,其中,全局客户端软件的自动升级更新功能即为函待解决的问题之一。本文基于此,设计一套文件自动更新系统,以帮助企业解决软件自动更新方面的功能欠缺问题,为企业生产提供服务。 1.2国内文件更新系统发展现状 在因特网出现之前,为了使用户得到升级软件,软件的开发商主要采取邮寄的方法,这种方法的缺点是显而易见的:一是邮寄速度慢,二是邮件过程中可能会损坏或丢失升级软件,三是邮寄费用对软件

3、开发商来说也是一笔不小的开支。因特网得到广泛应用后,用户可以从开发商的服务器下载升级软件或由开发商利用电子邮件将升级软件发送给用户,大大提高了软件升级的效率,给用户和开发商都带来了很大的便利2。现在通过因特网升级软件已经被绝大多数软件开发商和用户采纳。不同的软件尽管功能各异,但其升级的过程都是类似的。目前大多数应用系统所采用的C/S两层体系结构是自PC诞生以来为克服集中式运算的弊端而应运而生的。该结构安装、运行在客户端的计算机中,通过局域网或广域网与后台数据库服务器连接、共享数据,并把原始数据或处理后的数据存储在后台数据库中,有效地解决了集中式运算的执行效率低及容量不足等问题,使企业信息系统网

4、络化变成现实3。1.3课题研究的意义和目的 本课题的意义在于通过在了解企业需求的基础上,设计完成企业所需的文件自动升级软件,让用户的软件和服务器端的软件第一时间内同步,满足企业的软件自动更新需求。1.4课题基本思路本课题的开发思路是以淮北矿业集团对文件更新的需求为向导,以先进的计算机和数据库技术为主要手段,以现有的局域网为依托,采用Windows平台,利用VB程序设计语言和assess数据库进行设计开发,对系统总体设计、各功能模块设计、数据库设计等进行研究,达到逐步实现文件更新系统系统软件开发的目的。由于该论文主要针对文件更新系统进行设计,所以主要有以下几方面的工作:(1) 服务器和客户端使用

5、人员的登陆,保证其安全性。(2) 文件更新时数据的在服务器端和客户端之间的传输。(3) 利用access数据库,来记录登陆和更新的情况。1.5论文主要内容及构成本文的主要内容为:(1) 能使数据库中的用户登陆(2) 能够检测要更新的文件,方便下一步更新(3) 能够自动传输检测到的更新文件论文构成如下:第一章为引言部分,主要论述了选题的背景、发展现状、设计开发的基本思路及研究的主要内容等几个方面。第二章为系统的结构和开发工具的选择部分,主要论述了系统设计所需的环境、系统的体系结构、开发语言的描述、数据库的选择以及开发语言等问题,为系统的设计开发奠定一个良好的基础。第三章为系统结构总体设计部分,论

6、述了系统的需求分析、功能描述、功能模块划分等,为系统开发提供一个大的方向。第四章对设计进行详细的说明。第五章论文中的典型问题的分析。第六章总结1.6小结本章主要介绍了本课题的选题背景、研究现状。同时简要的说明了课题研究的基本思路以及论文的主要内容构成,先从起源开始了解,这样为以后论文编写做好了准备。2 开发平台与关键技术2.1系统开发环境本系统的软件开发环境为Microsoft公司的Microsoft Visual Basic 6.0和Microsoft Office Access数据库。Microsoft Visual Basic 6.0是由微软公司推出的一套完整的Windows系统软件开发

7、工具,可用于开发Windows环境下的各类应用程序,是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。它编程简单、方便、功能强大,具有与其它语言及环境的良好接口,不需要编程开发人员具备C/C+或者Turbo Pascal语言知识和特别高深的专业知识,只要懂得Windows的界面及其基本操作,就可以迅速上手,而VB在程序界面设计、多媒体开发方面更是独具优势4。Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine和图形用户界

8、面两项特点,是Microsoft Office的成员之一。其实Access 也是微软公司另一个通讯程序的名字,想与ProComm以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。Access在2000年的时候成为了计算机等级考试中的计算机二级的一种数据库语言并且因为它的易学易用的特点正逐步取代传统的VFP成为二级中最受欢迎的数据库语言5。2.2开发平台的选择计算机技术日益发达,存在众多的编程工具,开发语言和数据库技术,因此在选择系统的开发平台时做出了慎重的考虑。2.2.1应用程序开发语言如今流行的界面开发工具软件像VB、JAVA、VC等

9、都能够实现强大的功能,并且拥有良好的人机交互界面,还可以与数据库进行连接,成为许多软件开发者的首选前台开发软件。本系统决定采用VB作为前台开发工具主要有以下几个原因:(1)可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来。传统的程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中去修改,这就大大影响到了软件的开发效率。Visual Basic提供了可视化设计工具,把Win- dows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量的程序代码。只需要

10、按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种控件,并设置这些对象的属性。Visual Basic自动产生界面设计代码,程序人员只需要编写实现程序功能的那部分代码,从而大大提高了程序的效率。(2)基于面向对象的程序设计思想。Visual Basic把程序和数据封装起来成为一个个对象,并且为每一个对象赋予各种属性,使对象成为实在的东西。编程时,不必编写建立和描述每个对象的程序代码,而是用工具画出来,系统自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。(3)事件驱动的编程机制。在Visual Basic程序设计语言中,对象与程序的交互是通过事件来完成的。即针

11、对每一对象,可能会有多种事件产生,每一事件都可以驱动一段程序运行,完成相应的工作。(4)结构化的程序设计语言。Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语句结构,接近于自然语言和人类的逻辑思维方式。语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且灵活使用的调试器和编译器,并且可以随时运行程序。而在整个应用程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。(5)基于构件的程序开发。Visual Basic程序设计中,可以使用已经设计好的程序构件,通过构件的重用和共

12、享,迅速建立应用程序系统,完成应用程序的开发6。此外,数据管理器(Data Manager)、数据控件(Data Controller)以及数据访问对象(DAO)、 ODBC API、远程数据对象(RDO)都具有极强的功能。(1)数据管理器数据管理器是一个可以完全独立于VB之外的数据管理工具,它具有Jet的数据库引擎,既可以建立和修改数据库,也可以实现对数据库的维护。它可以操作的数据库包括:Microsoft Access,Dbase,FoxPro,Excel和各种ODBC数据库。恰当的使用数据库管理器可以方便数据库数据的利用,对系统的开发有很大帮助。(2)数据控件所谓数据控件,就是用来在数据

13、库数据和数据感知控件之间提供连接方式的程序接口。而数据感知控件,就是对数据有感觉,通过建立与数据库的连接,能对数据的变化做出及时反应的控件。VB提供的数据感知控件包括DBList,DBCombo,DBGrid,MSFLexgrid,Pieture,Label,TextBox,CheckBox,Image和ListBox等。与数据控件建立了连接的数据感知控件,能够自动的显示来自当前纪录的一个或多个字段内容。但是,在建立数据库、数据控件、数据感知控件的相互关系时,只需要少量的VB语言程序,甚至只需要通过相应控件的属性设置就可以实现这一功能。(3)开放式数据库链接编程接口(ODBC)开放式数据库链接

14、编程接口作为一种接口,可以提供大量的动态库函数,这些函数存储在运行动态库ODBC.DLL(16位)或ODBC.DLL(32位)中。使用时,只需在VB模块中加入ODBC API声明语句,然后在VB编程时,直接调用 ODBC API函数就可以访问ODBC数据库。如图2-1所示是数据库访问对象关系图:图2-1 数据访问对象关系图此外,已完成的应用程序是使用Visual Basic虚拟机的真正.exe文件,可以自由发布7。综上所述,VB完全能够实现对数据库的复杂操作,而且编程简单、方便实用,因此该文件自动更新系统采用VB为前端开发语言。2.2.2数据库管理系统选择虽然创建数据库可在多种环境(如Acce

15、ss、Excel、Paradox、SQL Server、Oracle等)下进行,但从数据的使用情况着手,我选择了access数据库。(1)存储方式简单,易于维护管理 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。 (2)面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库(1)存储方式简单,易于维护管理 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和

16、管理。 (2)面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 (3)界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查

17、询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 (4)集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 (5) Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档

18、,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。 (6)支持广泛,易于扩展,弹性较大 能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。还可以通过以Access作为前台客户端,以SQL Server作为后台数据库的方式(如ADP)开发大型数据库应用系统8。 总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型

19、软件,也可以用来开发大型的应用系统管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便9。 2.3开发的几种关键技术2.3.1程序与数据接口使用Visual Basic作为数据库的前端开发语言,其访问数据库的方法很多,一般情况下分成两大类:接口对象法API和数据控件法,而每一类又有很多方法。接口对象法需要程序员编程控制数据库的建立连接、打开数据表、

20、修改数据、关闭连接等所有数据库操作,对程序员要求有相当高的数据库和编程技术。数据控件法是指编程工具已经将大部分数据库操作集成在控件中,只需对控件进行简单的编程就可以满足所有的需要,大大降低了编程难度、减少了编程所需时间。VB与数据库之间的接口常用的有5种方法,即:ADO,ODBC API,DAO,ODBC Direct,DAO。ADO是微软最新的数据访问技术,它实际是一种提供访问各种数据类型的连接机制。它被设计用来同新的数据访问层 OLE DB Provider一起协同工作,通过其内部的属性和方法,提供通用数据访问(Universal Data Access)。它以简单的对象模型为特征,能够更

21、好地与Microsoft和非Microsoft的各种技术结合。ADO具有较高的访问速度,较低的内存占用,熟悉的界面,还提供了对OLE DB的Automation封装接口10。对于数据库程序设计人员而言,最需要得到的就是一个简单、一致的应用程序编程接口(API),从而使应用程序能够访问和修改众多类型的数据源。数据源可能像文本文件一样简单,也可有SQL Server2000数据库那样复杂。此外,API不应该预先设定访问和操作数据源的方式。典型的数据源依然需要支持开放式数据库连接性(ODBC)标准的关系型数据库,并可通过结构化查询语言(SQL)编写的命令对它进行操作。Microsoft对这个问题所提

22、供的解决方案是OLE DB,即一组“组件对象模型”(COM)接口,以统一的方式访问存储在不同信息源中的数据。但是,OLEDB应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。而Microsoft ActiveX Data Objects (ADO)正是我们所需要的API,它是一座连接应用程序和 OLE DB的桥梁。ADO就是为微软最新和最强大的数据访问范例OLEDB专门设计的,是一个便于使用的应用程序层接口。 OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO在关键的INTERNE

23、T方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。同时ADO使用了与DAO和RDO相似的约定和特性,简化的语义使它更易于学习。在典型情况下,需要在编程模型中采用所有这些步骤。但是,由于ADO有很强的灵活性,所以最后只需执行部分模块就能做一些有用的工作。例如:将数据从文件直接存储到缓存行,然后仅用ADO资源对数据进行检查。以程序员的视角来看,使用ADO对象要比DAO和RDO简单得多。最主要的一点在于,程序员不用像在使用DAO和RDO那样要从对象模型的顶层开始一步一步地创建子对象。因此ADO提供了一种更灵活的编程方式11。综上所述,我们最终确

24、定本系统调用数据库方法:利用ADO数据库控件,在VB中通过数据源(ODBC)实现对Access数据库的访问。2.3.2 SQL技术(1)SQL简介结构化查询语言 (SQL)是工业标准数据库操作语言,是 Visual Basic与数据库引擎之间进行通讯的基本方法,在大多数关系型数据库管理系统中,都需要用到SQL。SQL是一种数据库编程语言,它的起源与关系数据库紧密相联。现代的SQL己经发展为关系数据库所广泛使用的标准,并且被ANSI标准所定义。现在的标准是一个SQL查询至少要包括下面3个元素:一个动词,例如SELECT,它决定了操作的类型;一个谓词宾语,由它来指定一个或多个字段名,或者指定一个或

25、多个对象;一个介词短语,由它来决定动词在数据库中哪个对象上动作。当一个SQL语句被传送给一个基于SQL的查询引擎,产生结果数据集合。结果集合以行(记录)和列(字段)的形式给出。(2)查询的类型目前的ANSI标准认可4种执行SQL语句的方法12:交互式SQL:交互式SQL允许在一个类似于Dbase的点命令提示符下输入SQL语句。系统的结构和开发工具交互式Dbase命令的使用与交互式SQL语句的使用非常类似。交互式SQL称为一个批过程。如果在SQL提示符下输入一个查询,查询结果将在计算机显示器上显示。嵌入式SQL:大多数SQL语言都支持把SQL语句插入到普通的应用程序代码中。这样,不一定使用固定的

26、用户接口工具就可以通过SQL访问数据库。嵌入式SQL允许用户通过在SQL语句之前加入一个关键字来执行SQL语句。嵌入式SQL的优点在于进一步为单一变量赋予属性值,其缺点是必须逐行地处理查询结果集合。存储过程或模块SQL:存储过程由一些SQL代码组成,当应用程序通过Call命令调用它时,它会实现许多动作。利用Visual Basic 6.0提供的数据环境设计器可以方便地使用存储过程来执行各种操作。动态SQL:动态SQL可以创建在编写语句时无法预测其内容的SQL语句。对数据库应用程序设计而言,静态SQL和动态SQL都称为约束SQL语句方法。约束是指如何把SQL语句组合到源代码和目标代码中,如何向S

27、QL语句传送值以及如何处理查询结果集合。(3)SQL语句13SQL语句由命令、子句、运算符和合计函数构成,这些元素结合起来组成语句,用来创更新和操作数据库。任何SQL命令都是以下面几种命令开头:SELECT、CREATE、DROP、ALTER、INSERT、DELETE或UPDATE。主要使用这些命令来指定所要进行操作的类型。SELECT命令:于在数据库中查找满足特定条件的记录。它是所有SQL命令中最常用的一个命令。SELECT命令可以生成一个数据库中的一个或多个表的某些字段的结果集合。CREATE,DROP和ALTER命令:用于操纵整个表。其中CREATE命令用于创建新的表、字段和索引,DR

28、OP命令用来删除数据库中的表和索引,ALTER命令通过添加字段或改变字段定义来修改表。INSERT,DELETE和UPDATE命令:主要适用于单个记录。其中INSERT命令用于在数据库中用单一的操作添加一个记录,DELETE命令用于删除数据库表中己经存在的一个记录,UPDATE命令用来修改特定记录或字段的值。SQL子句是用来指定条件的,这些条件被用来定义要选定或要操作的数据。SQL语句中常用的几个子句FORM、WHERE、GROUP BY、HAVING、ORDER BY的功能分别为指定从其中选定纪录的表的名称、指定所选纪录必须满足的条件、把选定的纪录分成特定的组、说明每个组需要满足的条件、按特

29、定的次序将纪录排序。本系统数据库的操作是通过SQL语言来实现的。2.3.3 Windows Socket技术WinSock是Windows下网络编程的规范。这套规范是Windows下得到广泛应用的,开放的支持多种协议的编程接口。它定义并记录了如何使用API与 Internet协议族(通常指的是TCP/IP)连接。当为客户机/服务器开发一个特殊的应用程序时,可以通过套接字来交换数据结构和数据报,以完成应用程序之间的通讯。应用程序调用Windows Sockets 的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际上的通讯工作14。应用程序

30、和Windows Socket之间的关系如图2-3所示:图2-3 应用程序和Windows Socket 关系在Windows套接字中,主要有两种形式:数据报套接字(Datagram Socket)和流式套接字(Stream Socket)。流式套接字采用TCP协议,它提供了双向,有序,无重复并且无记录边界的数据流服务。在这种方式下,两个通讯的应用程序之间先要建立一种虚拟的连接,其特点是:通讯可靠,对数据有校验和重发的机制,适合于大量数据的传输。数据报套接字采用的是UDP协议,它建立在IP协议上,提供无连接数系统总体设计据报传输,支持双向的数据流,但并不保证可靠,有序,无重复的服务。Winso

31、ck控件重要属性、方法、和事件15(1) 属性Protocol:通过Protocol属性可以设置WinSock控件连接远程计算机使用的协议。可选的协议是TCP和UDP,对应的VB中常量分别是sckTCPProtocol和sckUDPProtocol,Winsock控件默认协议是TCP。注意:虽然可以在运行时设置协议,但必须在连接未建立或断开连接后。SocketHandle:SocketHandle返回当前socket连接的句柄,这是只读属性。RemoteHostIP:返回远程计算机的IP地址。在客户端,当使用了控件的Connect方法后,远程计算机的IP地址就赋给了RemoteHostIP属性

32、,而在服务器端,当ConnectRequest事件后,远程计算机(客户端)的IP地址就赋给了这个属性。如果使用的是UDP协议那么当DataArrival事件后,发送UDP报文的计算机的IP才赋给了这个属性。ByteReceived:返回当前接收缓冲区中的字节数。State:用于返回当前WinSock控件的状态。返回WinSock控件当前的状态如表2.1所示:表2.1 返回WinSock控件当前的状态常数值描述sckClosed0缺省值,关闭SckOpen1打开SckListening2侦听sckConnectionPending3连接挂起sckResolvingHost4识别主机sckHostResolved5已识别主机sckConnecting6正在连接sckConnect

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1