目录
4.1 本系统采用的开发工具Visual Basic 说明... 5
5.3 使用ADO、DAO和Data控件实现数据库的各个模块之间的联系... 10
Data控件是Visual Basic中访问数据库的重要控件,它支持大多数与数据库有关的操作,通过使用Data控件可以开发非常复杂的数据库应用程序。这是本系统使用它的根本原因。... 11
Data可以不用编写代码完成以下功能:完成对数据库的链接;打开指定的数据库表,或者是基于SQL查询集合;将表中字段传至数据绑定控件,并针对数据绑定控件中的修改来更新数据库;关闭数据库。... 11
·DatabaseName属性:设置被访问的数据库的名字和路径,可以在属性表中设置,也可以在运行时利用语句进行设置。??? 11
·RecordSource属性:设置数据源,为底层表、SQL语句或者QueryDef对象。同样有两种设置方法。??? 11
·Recordset属性:返回一个指定的数据源中记录集或者运行一次查询所得的记录的结果结合。... 11
·BOF和EOF属性:设置当BOF为True时,即记录集移动到第一个记录上头时,Data控件动作;设置当EOF为True时,即记录集移动到最后一个记录下头时,Data控件动作。... 11
·Refresh方法,在Data控件打开或者从新打开数据库的内容时,该方法可以更新Data控件的数据设置。??? 11
·UpdateRecord方法,把当前的内容保存到数据库中,但不触发Validate事件。... 11
·UpdateControls方法,将Data控件记录集中的当前记录填充到某个数据绑定控件。... 11
Data控件还有一些不太重要的属性、方法和事件没有提到,如要查阅请参照《Visual Basic程序设计导学》。??? 11
特别要注意的是在两个数据模型都引用的时候要先引用DAO数据模型后引用ADO数据模型,否则会出现数据类型的错误。... 12
DAO和ADO有很多对象,我们后面将详细介绍在系统中的使用。... 12
5.4使用DBGrid控件来显示各个模块中的数据... 12
在VB中可以和Data控件绑定的控件很多,如文本框、复选框、标签等等,这里我们要使用DBGrid控件。??? 13
使用DBGrid控件之前,必须要在“工程”中的“部件”中选择“Microsoft Data Bound Grid Control 5.0”将其控件图标在工具栏中显示出来。... 13
升降橫移表、升降框架表、升降提升表、提升机提升表设计如下:... 16
Dim conn As New ADODB.Connection. 25
Dim rs As New ADODB.Recordset 25
TEXT1.Text = Replace(TEXT1.Text, "'", "") 25
TEXT1.Text = Replace(TEXT1.Text, Chr(34), "") 25
TEXT2.Text = Replace(TEXT2.Text, "'", "") 25
TEXT2.Text = Replace(TEXT2.Text, Chr(34), "") 25
If TEXT1.Text = "HD00001" And TEXT2.Text = "HD00001" Then. 26
sql = "select * from 管理员 where ID='" & TEXT1.Text & "' and? PASSWD=?? '" & TEXT2.Text & "'"? 26
MsgBox "帐号口令错误,请检查后从新进入!", 0, "信息提示": X = X + 1. 26
Private Sub CMDCANCEL_Click() 26
Private Sub Form_Unload(Cancel As Integer) 27
第一章 课题来源
1.1来源介绍
现在我国的企业中数据信息的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。虽然现在有很多的软件工程公司已经成功研制和开发出很多大型的管理软件,但是对于中小型企业来讲,能够有一套结合自己实际情况,符合自己实际需要的管理软件应该是比较现实的。我作为一个计算机应用的本科生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我四年的所学编制出一个实用的程序来帮助我所在的企业进行更有效的企业数据信息管理。
? 使用计算机参与企业数据管理有以下优点:
(7) 可以限定权限,更好的做好保密工作。
???
第二章 可行性分析
2.1经济可行性
根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。从经济角度投入较少,可以在现有软硬件条件下进行开发,不需要增加额外的费用。
2.2技术可行性
微软公司的Visual Basic 6.0应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。Microsoft Access2000 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
ADO,即ActiveX数据对象,实际是一种提供访问各种数据类型的连接机制。ADO设计为一种简单格式,通过ODBC的方法同数据库接口,可以使用任意一种ODBC数据源,既不仅适合于SQL Server,Oracle,Access等数据库应用程序,也适合于Excel表格、文本文件和无格式数据文件。
从技术角度开发一个中小型企业的数据管理系统是完全可行的。
第三章? 需求分析
3.1功能需求分析
根据系统的实际调研,该系统应该具备以下功能
1、输入功能:系统根据条件按照最底层数据表计算出本次操作所需的数据加载到事先设置好的空数据表中,为用户操作做好准备。
2、查询功能:提供用户对所需内容进行查询,提供查询的数据条件,比如:“名称 = 螺栓”、“国标 包含 GB”、“数量 >= 300” 等,还可以直接从菜单中直接调取标准件表、图号册、外购件等专用表格,同时查到的数据能添加到专用的表中,进行多工程的数据管理
3、报表功能:将查找或者汇总完成的信息打印成报表,用于文件存档或者便于企业管理者管理数据信息
4、汇总功能:对数据进行分类查找和归纳,可以把相同的项按要求汇总到一起,以便于直观,清楚的管理数据信息,以便更方便进行工程汇总工作。
5、数据备份功能:对物理表进行添加、修改、备份和删除等工作,便于数据库的长期正常运行。同时可以防止意外的数据丢失。
6、系统安全控制功能:在登陆进系统时有权限的要求,高级的权限可以管理低级的权限,权限的设置便于系统的管理,有利于企业信息的保密工作
3.2系统结构分析
数据输入模块 |
各种数据查询模块 |
物理表管理模块 |
系统权限维护模块 |
报表功能模块 |
各种数据汇总模块 |
图3-2-1系统结构分析
第四章? 系统开发工具简介
4.1 本系统采用的开发工具Visual Basic 说明
Visual Basic具有简单易学的特性,只要稍微有计算机语言基础就可以很快掌握它。可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解放出来。可视化的编程环境的“所见即所得”功能,使得界面设计如同堆积木游戏一样,从而使得编程变成一种享受。
对象是我们感兴趣的或要加以研究的事物,是数据与操作相互结合的统一体。对象的基本思想是用系统的观点把要研究的事物看成一个整体,整个世界的由不同的对象所构成的。
对象是面向对象的程序设计的基本感念,也是其核心,是人们要进行研究的任何实际存在的事物,它具有状态(用数据来描述)和操作(用来改变对象的状态)。在面向对象的程序设计中,对象必须是用户自己来设计。而在Visual Basic中,对象是现成的,这是Visual Basic的重要特征之一。
Visual Basic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和 方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。Visual Basic应用由一系列对象组成,包括有函数、菜单、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
4.2.1面向对象程序设计的主要优点
1.与人类习惯的思维方式一致? 面向对象的程序设计一对象为中心,对象是一个统一体,它的由描述内部状态表示静态属性的数据以及可以对这些书记施加的操作一起所构成的。面向对象设计方法是对问题领域进行自然分解,确定需要使用的对象,在对象之间传递消息实现必要联系,从而按照人们习惯的思维方式建立起模型,模拟客观世界。
2.可维护性好 ?面向对象引用模块机制,它的独立性好,修改一个模块通常很少牵涉到其他的模块。面向对象软件技术的多态性机制使得扩充软件功能时对原有代码所需做的修改进一步减少,需增加的新代码也比较少。所以,面向对象方法设计的程序具有很好的可维护性。
4.3 控件和窗体
Visual Basic中的对象主要分为控件和窗体两类。控件(ActiveX)是指“空的对象”或者基本对象,是应用程序的图形用户界面的一个组件,对其属性可以进行不同的设置,从而构成不同的对象;窗体(Form)是用户的工作区,所有控件都在窗体中得到了集成,从而构成应用程序的界面。
不同的对象会含有不同的属性,我们把各个对象的所有属性的集合称为“属性表”。通过对属性表中个项属性的不同设置,我们可以建立各种对象。
4.4 事件和方法以及事件驱动应用程序的工作方式
事件是发生在对象上的一件事情。事件可以分成系统事件和用户事件两种。系统事件有计算机系统自动生成;用户事件是由用户产生的。不同的对象发生在其身上的事件是不同的。
事件过程是指对象对发生在其上的某一事件的反应。不同的对象对同一事件的反应是不一样的,这是是因为不同对象的事件过程是不同的。在Visual Basic建立了对象后,希望某个对象在收到某个事件之后能作出预期的反应,就要在该对象的特定事件过程中编写相应的程序代码。所以,Visual Basic开发应用程序重点是编写事件过程。
方法是指对象本身就具有的、反映该对象功能的内部函数或者过程(不是事件过程)。方法的内容是不可见的,我们并不知道对象是怎么实现这一功能的。我们只要会使用这些方法就可以了。
事件是窗体或者控件的行为和动作。在响应事件时,事件驱动应用程序会执行Basic代码。Visual Basic的每一个窗体或控件都有一个事件集。如果其中有一个事件发生,而且关联的事件过程中存在代码,则Visual Basic将调用该代码。
尽管Visual Basic中对象自动识别预定义的事件集,但要判定它们是否响应具体事件以及如何响应具体事件就是编程的责任了。
4.5 数据库的实现技术
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
关系数据库以表的形式(即关系)组织数据。关系数据库以关系的数学理论为基础,在关系数据库中,用户可以不必关心数据的存储结构,同时,关系数据库的查询可用高级语言编写,这有利于查询效率。
Visual Basic数据库是用于存储大量数据的区域,它通常包括一个或者多个表。数据库应用成为当今计算机应用的主要领域之一。Visual Basic提供了功能强大的数据库管理功能,能方便、灵活地完成数据库应用中涉及的诸如建立数据库、查询和更新等各种基本操作。Visual Basic提供Data控件、DBGrid控件、ADO Data控件的使用方法和SQL语言。
4.5.1新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。
? (1) 标识需要的数据;
? (2) 收集被标识的字段到表中;
? (3) 标识主关键字字段;
? (4) 绘制一个简单的数据图表;
? (5) 规范数据;
? (6) 标识指定字段的信息;
? (7) 创建物理表。
本系统数据表为统一结构,字段为图号、标准、名称、规格、尺寸、材料、特性、类、数量、单重、单价、工时、备注,有些特殊的表还有ID或者总重和总价等字段。
4.5.2 修改已建的数据库
数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。
4.5.3 实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。
第五章? 系统总体规划
5.1 系统功能
(7) 汇总数据表。
(8) 打印数据表。
5.2? 功能模块图
系统启动封面 |
系统总控界面 |
确定所需数据模块 |
各种数据查询模块 |
物理表管理模块 |
系统权限维护模块 |
报表功能模块 |
各种数据汇总模块 |
图5-2-1系统功能模块图
5.2.1对这四个模块做具体说明
·确定所需数据模块
??? 输入:按照所需要的工程规格输入条件。
功能:系统根据条件按照最底层数据表计算出本次操作所需的数据加载到事先设置好的空数据表中,为用户操作做好准备。
·各种数据查询模块
??? 输入:要查询的数据条件,比如:“名称 = 螺栓”、“国标 包含 GB”、“数量 >= 300” 等,还可以直接从菜单中直接调取标准件表、图号册、外购件等专用表格。
输出:在查询窗体的DBGird控件中直接显示出查找到的数据。还可以把查到的数据添加到专用的表中,进行多工程的数据管理。
功能:对数据进行分类查找和归纳,以便进行工程汇总工作。
·各种数据汇总模块
输出:在查询窗体的DBGrid控件中直接显示出汇总的数据。也可以把汇总的数据添加到专用的表中,进行多工程的数据管理。
功能:如果查询到的数据包含很多相同的项,可以把相同的项按要求汇总到一起,以便于直观,清楚的管理数据信息。
·物理表管理模块
功能:可以对物理表进行添加、修改、备份和删除等工作,便于数据库的长期正常运行。
·报表功能模块
输出:在查询窗体的DBGrid控件中直接显示出的数据。可以打印成报表形式。
功能:将查找或者汇总完成的信息打印成报表,用于文件存档或者便于企业管理者管理数据信息。
·系统权限维护模块
输入:在登陆进系统时有权限的要求,高级的权限可以管理低级的权限。
功能:权限的设置便于系统的管理,有利于企业信息的保密工作。
5.3 使用ADO、DAO和Data控件实现数据库的各个模块之间的联系
本系统采用Data和ADO、DAO控件来连接数据库。
Data控件是Visual Basic中访问数据库的重要控件,它支持大多数与数据库有关的操作,通过使用Data控件可以开发非常复杂的数据库应用程序。这是本系统使用它的根本原因。
Data可以不用编写代码完成以下功能:完成对数据库的链接;打开指定的数据库表,或者是基于SQL查询集合;将表中字段传至数据绑定控件,并针对数据绑定控件中的修改来更新数据库;关闭数据库。
Data对于数据库密切相关的属性有:
·DatabaseName属性:设置被访问的数据库的名字和路径,可以在属性表中设置,也可以在运行时利用语句进行设置。
·RecordSource属性:设置数据源,为底层表、SQL语句或者QueryDef对象。同样有两种设置方法。
·Recordset属性:返回一个指定的数据源中记录集或者运行一次查询所得的记录的结果结合。
·BOF和EOF属性:设置当BOF为True时,即记录集移动到第一个记录上头时,Data控件动作;设置当EOF为True时,即记录集移动到最后一个记录下头时,Data控件动作。
Data控件常用的方法有:
·Refresh方法,在Data控件打开或者从新打开数据库的内容时,该方法可以更新Data控件的数据设置。
·UpdateRecord方法,把当前的内容保存到数据库中,但不触发Validate事件。
·UpdateControls方法,将Data控件记录集中的当前记录填充到某个数据绑定控件。
Data控件还有一些不太重要的属性、方法和事件没有提到,如要查阅请参照《Visual Basic程序设计导学》。
特别要注意的是在两个数据模型都引用的时候要先引用DAO数据模型后引用ADO数据模型,否则会出现数据类型的错误。
DAO数据访问对象完全在代码中运行,使用代码操控Jet引擎访问数据库数据,能够开发出更强大更高效的数据应用程序。使用数据访问对象开发应用程序,使数据访问更有效率,同时对数据的控制更加灵活和全面,但是访问对象的复杂性,使其使用起来更为复杂和抽象,因此和Data结合使用以达到更好的效果。
ADO是为Microsoft最新最强大的数据访问范例OLE DB而设计的,是基于OLE DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法,是一个便于使用的应用程序层接口。ADO是独立于开发工具和开发语言的简单而且容易使用的数据接口。
ADO对象可以在所有支持COM和OLE的平台上使用,如VB,VC++,VBScript和Java等等。OLE DB是一种底层数据访问界面接口,它是一套部件对象模型(COM)接口,用于第三方驱动程序厂商开发出输出数据源到ADO技术的应用程序或者用于C++的开发者定制的数据库组件。
DAO和ADO有很多对象,我们后面将详细介绍在系统中的使用。
5.4使用DBGrid控件来显示各个模块中的数据
Visual Basic提供了一个简单、方便、快捷的数据库访问对象即Data控件,利用它只需要少量的代码就可以访问多种数据库中的数据。但是,只有Data控件是不够的,必须利用数据绑定控件来显示、编辑和查询数据库中的数据。数据绑定控件也叫做数据识别控件,可通过它访问数据库的信息。当一个控件通过设置属性被绑定到Data控件时,VB会把从前数据库记录取出相应的字段值应用于该控件,控件显示数据并接受更改。
在VB中可以和Data控件绑定的控件很多,如文本框、复选框、标签等等,这里我们要使用DBGrid控件。
使用DBGrid控件之前,必须要在“工程”中的“部件”中选择“Microsoft Data Bound Grid Control 5.0”将其控件图标在工具栏中显示出来。
用DBGrid控件显示和浏览一个已有数据库的步骤如下:
(1)在新窗体中添加一个Data控件,再设置其DatabaseName和RecordSource属性为想要显示的数据库和表。
(2)在窗体中添加一个DBGrid控件,并设置其DataSource属性为刚创建的Data控件。
(3)设置DBGrid控件的其他相关属性。
(4)运行程序。
DBGrid控件中的AllowUpdata、AllowAddNew、AllowDelete属性控制DBGrid控件中的内容是否能被更改。
5.5 数据库设计
5.5.1 数据库分析
在开发企业信息管理系统时,可以先进行E-R图分析,然后对表和字段进行分析,最后进行数据库建模。下面为E-R图分析。这里直接给出E-R分析的结果。实体关系图的分析结果比较复杂,一般情况下使用从简到繁的方式进行设计。首先从大的方面中设计出各个实体之间的关系,然后在这个关系的基础上进行细化。
企业信息管理系统的实体关系简图如下所示。
0,n |
0,n |
|
0,1 |
0,1 |
0,1 |
0,1 |
0,n |
0,n |
|
|
|
|
|
本程序采用ACCESS2000作为后台数据库
根据上面分析的系统的各种功能要求,可以很容易想到系统所需的数据应该按照如下的思想设计:材料总表、查询汇总表、管理员、升降横移、升降框架、升降提升、提升机提升、提升机载车板、总标准件表、总图号册表、总外购件表、总外协件表。这样整个数据库设计后的结果如下图所示。
图5-5-1 数据库设计
5.5.2数据表的构成
本系统中除了“管理员”表外各个表的机构都是统一的,这样可以在数据从一个表向另一个表里添加的时候不出现不必要的差错,数据库表里存储了企业的数据信息的包括:图号、名称、标准、数量等。 如下表