服务支持   Support
联系我们   Contact
你的位置:首页 > 服务支持 > 下载中心

小区管理软件功能的实现

2014/5/7 9:56:19      点击:

531数据库

)数据库的使用:软件中密码保护的实现,用户信息的存贮,远程抄表中数据的存贮和打印的进行都是依靠数据库的使用才实现的。为了保障数据安全与读写方便,数据库己成为编写程序不可缺少的工具。ViusalBasci提供了两种与数据库引擎接口的方法:Data控件和数据访问对象。Daat控件只给出有限的不需编程而能访问现存数据库的功能,DAO模型则是全

面控制数据库的完整编程接口。这两种方法并不是互斥的,实际上,它们常同时使用。

ViusalBasci中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访l’a]物理数据库的不同部分,Datbaase、几bleoeField、和Index对象。用这些对象的属性和方法来实现对数据库的操作。能够在VisualBasci窗体中使用绑定和非绑这控件来显示操作结果并接收用户输入。该方法简化了代码并使程序员不必亲自处理检索和更新数据的底层结构和机制。它赋予程序员很大的灵活性,因为可以使用同样的对象、属性格式(例如,将本地的MciorosftAccess数据库格式变到另一种库),只需变动少量的代码就可以适应这种改变。甚至可以创建这样的应用程序,在单一的查询或报表中连接来自多个不同数据库的表。

(2)数据库简介:尽管应用程序采用了大量的数据库操作,但对用户来说与操作普通文件无异,用户不需要了解哪一个数据库是什么类型的,由哪几个表组成,之间是何关系,甚至可以对数据库一无所知,也不会影响应用程序的使用,这完全得益于VB的强大灵活的数据库操作功能,VisualBasci数据库应用程序有三个部分,数据库引擎存在于程序和物理数据库文件之间。这使用户与正在方问的特定数据库无关。不管这个数据库是本地的VisualBasic数据库,还是所支持的其它任何数据库格式,所使用的数据方问对象和编程技术都是相同的。5住宅小区管理软件的设计

用户界面和应用程序代码:用户界面是用户所看见的并用于人机交互的界面。它包括显示数据并允许用户查看或更新数据的窗体。驱动这些窗体的是应用程序的VisuaBsai代码,包括用来请示数据库服务的数据访问对象和方法,比如添加或删除记录、执行查询等。

如上所述,这些服务请示不是直接对物理数据库文件的,而是向数据库引擎提出的,该引擎执行对数据仓库请示的操作,并向应用程序返回所需要的结果。

数据库引擎:数据库引擎被包含在一组动态链接库(ODL)文件中,在运行时,这些文件被链接到visualBasiC程序。它把应用程序的请求翻译成对mbd文件或其它数据仓库的物理操作。它真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完整性。它还包含一个查询处理器,接收并执行结构化查询语一言(SQL)查询,来实现所需的数据库操作。另外还包含一个结果处理器,用来管理查询所返回的结果。

数据仓库:数据仓库是包含数据库表的一个或多个文件。对于本地的VisualBasieMierosoftAeeess数据库来说,就是*.mdb文件。对于不同的数据库,它可能是包含*.dbf文件或其它扩展名文件的目录。或者,应用程序可能会访问保存在几个不同的数据库文件或格式中的数据。在任何情况下,数据仓库本质上都是被动的。它包含数据,但它不对数据或用数据做任何事情。那是数据库引擎的任务。

(3)数据库的设计和结构:Data控件给数据库文件提供一个关系界面。原理上讲,关系数据库是存储出列和行数据组成的表格的一种数据库。在VisualBasci,列称为字段而行称为记录。MierosofteJt数据库引擎给予Data控件将所有数据库看作关系表集合的能力,而不管它们物理上的文件格式如何。这意味着从外部数据库调用数据时也能用相同的关系术语。

表、字段和4记录:不管它在数据库文件中的物理存储方式如何,表都可以看作一种相关按行和列排列的相关信息的逻辑组,类似于电子表格。字段是数据库表中每一列。每个字段描述了它所含有的数据。字段可以包含各种字符、数字甚至图形。各个有关的信息存放在表的行,被称为记录。一般来说,数据库表的记录创建时任意两行都是不能相同。

索引:为更快地访问数据,大多数数据库都使用索引。数据库瑶索引是比表搜索更快的列表。每个索引输入项指向其相关的数据库行。如果数据库(要对它执行所有查询)在寻找记录时(执行一个查询)能先浏览一下索引,其工作将变得更容易且数据返回得更快。当与Data控件一起来使用表类型的记录集时,表的主索引可用于加速检索操作。

结构化查询语言(SQL):一旦数据被存入数据表中,可用类似英语的语言一交5住宅小区管理软件的设计称为结构化查询语言或称SQL,来使检索数据更简易。SQL己经演变成为数据库的最为广泛的可接受的方法。基本地,可用SQL语言提出各种问题:这种问题称为查询。数据库引擎通过返回查询的要求所遇到的任何数据库行来回答提问。查询通常包含要搜索的各种表的名称、要返回的列的名称和其它设定此次搜索范围的信息。下面给出一段程序,这段程序给出了利用结构化语言做出的从数据库的定义,命名到利用数据库查询信息,并根据数据库内信息作出操作判断的整个过程:

DimwokrsPaeeAsworksPaee

DimdbAsDatbaase

DimdbtbaleAsRecodrset

SetdbwokrsPaee=DBEngine.认七krsPaees(0)

dbdatabase=dbworksPaee.OPenDatabase(APP.Path&’r\usedata.mdb`,)

Setdblatbl于刁团副旧basen浑水eoces”eslCet*ofrmolgindat)

dblbale.MoveFirst

DOUntildbtable.EOF=True

Ifdbtable(`,操作员“)=Txtehassl.Textddbtable(“操作密码

)=TxtehpaassZ.TextThen

IfTxtehpaass3.Text=Txtchpaass4.TextThen

dbtbale.Edit

dbtable(`,操作员“)=Txtehpassl.Text

dbtable(”操作密码”)=Txtehass3.Text

dbtbale.UPdate

TxtchaPass.SetFoeus

UnloadMe

MsBg0x”……,,

Txtehpaass.SeLLength=Len(角刀ehaPass.Txtehpaass.Text)

ExitDo

EndIf

ElsC

Dbtable.MoveNext

EildIf

LoPo

Ifdbtable.EOF=TureThen

MsgBox,,……,,

TxtehaPassZ.SetFoeus5住宅小区管理软件的设计

Ttehpasas.Sestart=0

Ttehpaass.SeLLetgh=Le(TtehaPasst

EId

dbtabe.Cose

dbdatabase.Cose

由于VB6.0所能识别的外部数据库多数在设计时是不相关的,VB6.O需把外部数据库结构转换为关系模型。一旦数据库已打开,代码中将没有提供任何特定的算法以支持这种变换,其一切都是自动进行。

5.3.2动态数据交换(DDE)

(1)动态数据交换(DDE)所需的软、硬件:由于查表出户和报警监测是实时进行的,每次启动这两个模块都要接收底层的信号,并对信号做出处理。信号来自LonwbkrS用户节点,计算机和用户节点之间信号的通讯,即数据的动态传递靠软件LonManagerDDEsevrer帮助实现。

动态数据交换(DDE)Windows应用程序所特有的一种交换数据的方式。

LoMnanagerDDEServerLON网和windows应用程序之间交换数据。有了DDE,任何可进行DDE对话的Windows应用程序都能监测和控制一个Lonwbkrs网络。VB6.0就是个有DDE对话功能的WindowS应用程序。说是说,VB6.O程序能够观察LonW0krs应用程序中的网络变量的值,并能通过改变网络变量的值来影响网络的运行。DDE通过使用存贮在LON数据库里的命名信J息、,寻址信息和计时信息来达到它的目标。

网络界面硬件和它的相关联网络驱动器提供在LonW0rks网络和运行LonMnagaerDDESevrerPC机之间的物理连接。有EIA232界面的任何一种客户机都可用SLL气尹2SerialLonTaklAdaPter做网络界面。每个网络界面也包括一个软件部分叫做网络驱动器。改变网络界面只需要改变网络驱动器。所有的LonwbkrsPC机标准网络界面的功能是相同的,在网络界面硬件改变时不需要修改应用程序(这里是DDEServer)

DDESevrer用一个数据库化作命名信息、网络寻址信息、消息计时信息的来源。该数据库可由在LonBuilde:上编写NeuronC程序时所生成的LonBuilder数据库转化而成。转化过程输出LonBuilde:数据库中的全部一记录,即使它们目前并不被任何应用节点所使用。

(2)动态数据交换(DDE)的实现过程:VB6.0LON节点之间进行动态数据交换的原理并不复杂。只需在VB6.O应用程序的窗体中添加文本控件,将文本控件与LON数据库所对应的NeuronC程序中的网络变量绑定,就可以在5住宅小区管理软件的设计oLMaagreDDEservre下通过文本控件观察该网络变量之间的绑定。具体可通过设置文本控件的EDD属性来实现文本控件与网络变量之间的绑定:

LoMaagreDDEserve:,将文本控件的LiknToPic属性设置为数据库中相应的NueornC程序名:

将文本控件的Linnrede属性设置为自动、手动或通知式方式,在本程序中并不全是随时监测的,根据实际情况的不同,选择了自动和手动两种链接方式;

将文本控件的Likneltm属性设置为欲监测或控制的网络变量名。且文本控件和网络变量是一一对应的。这里要注意,每次执行有动态数据交换功能的模块时,首先要保证是在LoMnnaage:DDEesvrer;其次,在正确转换出来的LON数据库。否则程序无法正常运行。

NeuornC程序中的网络变量包括输入网络变量和输出网络变量两种。观察与输出网络变量绑定的文本控件和文本可以观察网络变量值的大小;与输入网络变量绑定的文本控件可以通过改变文本来改变网络变量值,达到控制底层网络的目的。在进行动态数据交换调试的同时,管理程序的数据交换窗体的版面和内容也在修改,以表格形式显示远程抄表的数据和对应得出的费用金额,并设置若干个按钮控制键来控制查询;报警信号则分别以不同的画面来表示,同时有文字信息显示报警来源和地点,并统计报警信息。

5.4本章小结

本章主要根据住宅小区管理项目的内容,给出了实现住宅小区智能化系统管理软件的方法。通过对其编程思路和数据库的分析,确定底层应用程序与人机界面管理软件之间的通讯采用动态数据交换D(DE)的方式进行交流,该管理软件的结构基本上概括了目前智能小区所涉及到的内容和功能。6结论和今后的研究方向