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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

使用数据控件Word下载.docx

1、当约束被放置到在客户层中时,客户端被叫做胖客户端。胖客户端应用程序通常是两层的。当规则被放置到数据库层的时候例如使用触发器、数据约束和存储过程和视图这就被叫做胖服务器。这种应用程序也是两层应用程序。当定义一个分离的中间层并包含商务规则时,我们称这种应用程序为三层应用程序。数据控件支持胖和瘦客户端、胖和瘦服务器以及两层的和三层的开发。数据控件允许您在特性中将格式约束和在事件中的其他商务逻辑(如TDBEdit控件中的OnChange事件)联合起来。Delphi企业版捆绑了MIDAS(Multitier Distributed Application Services Suite,多层分布式应用程序

2、服务组)组件,这方便了创建中间层,并且大多数RDBMS(Relational Database Management Systems,关系数据库管理系统)服务器都有过剩的约束数据的方法。在哪里放置约束依赖于您正在使用哪种类型的设计。本章我们将介绍数据控件和与它们相关的TField对象,列举控件和它们的特性和事件,这些特性和方法对数据怎样被管理的商务规则的定义提供了方便(第15章介绍建立瘦客户端、三层应用程序)。14.1 简述两层和三层设计两层应用程序开发使用一个客户端应用程序和一个数据库服务器。三层应用程序开发使用一个客户端应用程序、一个定义商务逻辑的服务器应用程序和一个第三数据库服务器层。中

3、间层可以是一个或者更多的服务器应用程序,客户端层使用这些应用程序和数据库层对话。通常在编程过程中一个很好的规则是将数据约束放置到与数据库尽可能近的地方,原因可以通过特性工作的方式来说明。从外面看,特性像数据;对用户透明的是特性有用于读和写数据的访问方法,该数据约束了当前字段的一些使用。在数据附近放置约束就是将规则与数据绑定在一起。胖客户端应用程序包含商务规则。您每一次想在该客户端的其他位置上访问数据的时候,您必须复制这个规则,该规则约束了数据被使用的方式。这样您就有了许多代码重复了同样的规则,换句话说,同时需要写、测试和维护更多的代码。RDBMS被定义为与其他一些客户端应用程序一起使用,这使得

4、人们可以使用类似于Microsoft Access的应用程序来修改数据。如果商务逻辑驻留在您的客户端应用程序中,那么约束就不会被其他客户端应用程序误用。胖服务器的设计在服务器上放置了商务规则。当胖服务器的设计仍然可以在两层应用中使用时,商务规则要临近数据,从而减少被其他客户端应用程序误用的可能性。另一个好处是:定义一个胖服务器意味着只要给每一部分数据定义商务规则一次。很有趣的是,似乎现有的胖客户端应用程序比胖服务器要多;这种情况的存在可能是因为程序员也创建数据库。通过在胖服务器设计中添加中间层使您可以更大程度地控制怎样访问数据库和控制客户端应用程序类型增加的数量和种类;任何附加的商务规则在数据

5、库服务器层中定义时看起来很不自然,它可以被定义到中间层。使用单独的中间层还意味着不同类型的多客户端可以同时重新使用同样的中间层。权衡一下来看,胖客户端、两层应用程序看起来更便于开发。使用数据库约束、触发器、存储过程和视图要求有一个熟练掌握所选择的RDBMS的数据库开发人员。要设计面向对象的中间层建议要有一个面向对象的体系结构以获得其携带的中间层。很不幸的是,许多软件工程只能由程序员和管理人员来完成,这可能说明了胖客户端、两层设计的卓越实现。问题是,是不是胖客户端、两层应用程序的开发更廉价呢?答案可能是不。它们表面上很廉价是因为数据库和客户端用于程序会很快出台,但是最终它们将变得很笨拙。在开发的

6、开始所得到的将在开发的后期永远地失去。是不是胖服务器、三层应用程序的开发更廉价呢?通常这些应用程序要求更高报酬的设计师和数据库分析员、在设计的开始阶段需要更多的时间和一个组织得很好的流程。传统的应用程序不同于新型的应用程序:对象模型和数据库模型。模型也暗示了需要购买昂贵的CASE(Computer Aided Software Enginnering,计算机辅助软件工程)工具。Delphi客户端服务器的售价为$2500; Rational Rose(对象模型工具)售价为每工作站$4500。所有这些附加的支出并不能一定保证成功。工具的大小、复杂程度和有效性,受训人员以及管理部门决定了怎样创建特定

7、应用程序的因素。两层与三层应用程序和胖与瘦客户端应用程序都有优点和缺陷。只有根据实际情况为指导方针才有助于确定怎样创建特定的应用程序。实用工具、原型和小应用程序都是在胖客户端、两层应用程序开发中很好的选择。如果使用CASE工具,以及雇佣有经验的设计师和数据库分析员来创建胖服务器、三层应用程序,一些大规模的、复杂的应用程序会有更好的机会实现。如果他们想创建三层应用程序,首先他们要做的是结束重新创建VCL已经存在的。在您的队伍中注入经验丰富的程序员和指导人员将有助于确保成功。在本章,例子程序示范了怎样创建胖客户端应用程序,以说明数据控件和TField对象的特性。但是,胖客户端、两层应用程序既不是首

8、选的方法也不是惟一的方法。每一个工程的需求由工程的预算、范围、复杂性和参与者的特点来决定。MIDAS(将在第15章中介绍)更便于进行三层应用程序的开发。14.2 数据控件概览组件面板中的Data Controls属性页包含了Standard面板上的许多控件。数据控件是标准控件的子类,数据控件添加了一个TFieldDataLink对象便于将控件连接到数据源。附加的特性和事件根据控件的需要被添加进来。将数据控件想象成普通的控件,但是数据被直接写到underlying字段值中。例如TDBEdit控件是带有FieldDataLink特性的TEdit控件。本节简要介绍数据控件。一些特定的控件将在本章的后

9、面部分作详细的说明。14.2.1 DBGridTDBGrid是TCustomGrid控件。它包含了数据的行和列。在栅格中每一行代表数据集中的一行。每一列代表数据集中的一个字段。关系数据库可能会返回数据库中多个表的行(参考第13章关于TUpdateQuery组件的部分学习怎样使异类查询行为与同类查询一样,这使得查询表现为可写)。DBGrid引入了一个Columns集合和设计时列编辑器,这方便了在栅格中显示数据库中的数据(请参考14.4节“DBGrid控件”中有关DBGrid的详细介绍)。14.2.2 DBNavigatorTDBNavigator是一个带有按钮数组的TCustomPanel控件。

10、它被连接到一个数据源,每一个按钮都是其中一个数据集方法调用的可视化比喻(单击按钮如同调用一个数据集方法)。从左到右(如图14.1所示)的操作是First、Prior、Next、Last、Insert、Delete、Edit、Post、Cancel和Refresh。图14.1 TDBNaviagtor控件,用于调用数据集方法导航器并不完成这些行为。DBNavigator有一个DataSource特性。请回顾第13章,每一个DataSource指向一个数据集;DBNavigator的BtnClick方法决定用户单击了哪一个按钮并使用DataSource.DataSet对象引用调用这个方法。例如,单

11、击Insert按钮(如图所示)将调用DataSource.DataSet.Insert方法。14.2.3 DBTextTDBText是一个TCustomLabel控件,对于显示来自数据库的只读数据尤其有用。用户不能直接在TDBText控件中编辑文本。要把一个数据控件同一个dataset字段联系起来,给DataSource特性指定一个DataSource组件并指定一个来自DataSet组件(一个表或者一个查询)的一个字段名。有效的字段名将自动地从DataSet(该DataSet被指向DataSource组件的DataSet特性)中获取。14.2.4 DBEditDBEdit是TCustomEdi

12、t的子孙控件,该控件是一个多种用途的数据库控件,可以被用于编辑任何可以以文本显示的数据。字母和数字字段包含在合适的数据库字段中。14.2.5 DBMemoDBMemo是一个TCustomMemo控件。在TDBMemo中显示的匹配字段类型是memo字段(请参考14.7节“动态和静态字段”了解更多有关字段的信息)。可以被作为TMemoFields来显示的Underlying数据类型是真正的数据库中的memo类型,数据库支持memo类型或可变长字符字段。14.2.6 DBImageDBImage是TCustomControl而不是TImage的继承控件。这个控件可以显示任何可以归类于TPicture

13、的图像类型。有效的Picture对象类型包括位图、图标和元文件图形。类型过滤文件包括.jpg、.jpeg、.bmp、.ico、.emf和.wmf文件。14.2.7 DBListBox该控件显示静态值的列表。设置该控件的DataField特性和DataSource特性,在列表框中所选中的值就是被设置字段的值。通过设置Items特性(一个TStrings特性)DBListBox选项可以在设计时或者运行时被添加。如果您需要动态表查找值,请使用TDBLookupListbox控件。14.2.8 DBComboBoxDBComboBox是一个TCustomComboBox控件。在TStrings类型It

14、ems特性中添加选项,这些选项存储在DataField特性和DataSource特性所指定的字段中。您可以用下面的方法在运行时给DBListBox控件或者DBComboBox控件添加选项。DBComboBox.Items.Add( True );DBComboBox.Items.Add(False);如果没有添加其他的值,那么在组合框中两种可能的选项是和,可以用于Boolean或者文本字段。14.2.9 DBCheckBox对于DBComboBox控件如果只有true和false两种选项的时候,另外一种方法是使用DBCheckBox。True表示选择,false表示不选择。除了DataField和DataSource特性,还有两个可替代的特性:ValueChecked 和ValueUnchecked,这允许您设置DBCheckBox控件的显示状态为选择或者不选择,默认值是true和false,但是您可以使用black和white,red和green,0和1,或者yes和no,只要适合您的需要都可以。14.2.10 DBLookupListBoxDBLookupListBox控件有两个已经熟悉的DataField 和DataSource特性表示所选择的项从哪里获取,除此之外,还有

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

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