首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.4.2  使用TSimpleDataSet控件

在前一节中讨论了使用TSQLDataSet加上TDataSetProviderTClientDataSet控件开发应用程序的方式。由于在使用dbExpress开发数据库应用程序时一定需要使用这些控件的组合,因此,Delphi 2006DataSnap控件集便提供了一个新的控件TSimpleDataSet来帮助开发人员简化使用dbExpress开发数据库应用程序的步骤。

简单地说,TSimpleDataSet控件就等于TSQLDataSetTDataSetProviderTClientDataSet控件,因此,开发人员只须使用一个TSimpleDataSet控件便可以开发变更数据的应用程序。下面来介绍如何使用TSimpleDataSet控件。

首先点击DelphiFile|New|VCL Forms Application-Delphi For Win32菜单建立一个新的Delphi应用程序,然后如同1.2节说明的方式连接InterBase数据库。在主窗体中放入位于dbExpress页签的TSimpleDataSet控件,请读者注意图1-25显示了TSimpleDataSet已经在内部自动建立了TSQLConnectionTDataSet控件,并且命名为InternalConnectionInternalDataSet此时开发人员就可以直接使用TSimpleDataSetInternalConnectionInternalDataSet控件连接和处理数据,而无须再额外使用TSQLConnectionTSQLDataSet了。

1-25  TSimpleDataSet控件会自动在内部建立TSQLConnectionDataSet控件

现在我们可以直接在对象查看器中展开TSimpleDataSetInternalConnectionInternalDataSet的属性值并且设定连接到CHINESEDEMO数据库,再设定TSimpleDataSetDataSet\CommandText属性值从BIOLIFE数据表中取得数据,如图1-26所示,最后再设定TSimpleDataSetActive属性值为true,以便从数据源中取得数据。

1-26  使用对象查看器直接设定TSimpleDataSetInternalConnectionInternalDataSet的属性值

接着在主窗体中放入TDataSource控件,设定它的DataSet属性值为刚才加入的TSimpleDataSet控件、放入TDBNavigator控件,设定它的DataSource属性值为刚才加入的TDataSource。然后双击TSimpleDataSet控件启动它的字段编辑器,加入所有的字段对象,再拖曳这些字段对象到主窗体中以建立数据感知控件。

最后于主窗体中加入一个TButton,设定它的Caption属性值为ApplyUpdate,并且在它的OnClick事件处理函数中调用TSimpleDataSet控件的ApplyUpdates方法,并把变更的数据更新回数据源中。

procedure TForm1.Button1Click(Sender: TObject);

begin

  SimpleDataSet1.ApplyUpdates(0);

end;

此时范例应用程序看起来类似图1-27所示。

1-27  执行TSimpleDataSet的范例程序

现在读者就可以执行TSimpleDataSet的范例应用程序了,图1-28便是这个新的范例应用程序执行的画面。这个新的范例应用程序和1.3.1节开发的范例应用程序在功能上是一模一样的,只是使用的控件不一样,使用TSimpleDataSet比使用TSQLDataSetTDataSetProviderTClientDataSet控件方便得多。在开发一般应用程序的时候,直接使用TSimpleDataSet是比较方便的。

1-28  使用TSimpleDataSet范例应用程序执行的画面

也许读者会问,既然Delphi 2006提供了TSimpleDataSet控件可以更方便地开发数据库应用程序,那么还会使用TSQLDataSetTDataSetProviderTClientDataSet控件这种比较麻烦的方式吗?答案是肯定的,在后面讨论执行效率的章节中读者便会了解在要求高执行效率的应用中,TSQLDataSetTDataSetProviderTClientDataSet控件还是非常有用的。

TSimpleDataSet是从Delphi 7才加入的新控件,在Delphi 6Kylix 2/3之中的dbExpress则是使用TSQLClientDataSetDelphi 7之所以使用TSimpleDataSet代替TSQLClientDataSet的原因是除了TSimpleDataSet更容易使用之外,TSimpleDataSet的执行效率也比TSQLClientDataSet好许多,比较适合用来开发简易或两层的数据库应用系统,有关TSQLClientDataSet效率的问题会在稍后的章节中说明。但是如果读者已经在Delphi 6中使用TSQLClientDataSet控件或是需要开发跨平台的dbExpress应用系统,那么仍然可以使用TSQLClientDataSet。在Delphi 2006TSQLClientDataSet放在Delphi 2006安装目录下的BDS\4.0\Demos\DelphiWin32\ VCLWin32\Db\SQLClientDataset子目录之中,读者可以自行安装TSQLClientDataSetDelphi 2006之中再使用。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论