DELPHI数据控件TclientDataSet的详细说明
DELPHI数据控件TclientDataSet的详细说明TclientDataSet是DELPHI数据控件中的一种重要组件,它继承自TDataSet,用于多层体系结构的客户端。与TTable、TQuery一样,TClientDataSet也可以用于浏览、编辑、搜索、纠错、过滤等数据操作。 TClientDataSet的最大特点是它不依赖于BDE(Borland Database Engine),但需要一个动态链接库的支持,叫DBCLIENT.DLL。在客户端,不需要用TDatabase组件,因为客户端并不直接连接数据库。由于TClientDataSet是从TDataSet继承下来的,所以,它支持诸如编辑、搜索、浏览、纠错、过滤等功能。在内存中建立数据的本地副本是TClientDataSet的另一个特点,这使得数据操作的速度非常快。客户程序必须提供获取数据的机制,在Delphi 4中,TClientDataSet有三种途径获取数据:从文件中存取数据、从本地的另一个数据集中获取数据、通过IProvider接口从远程数据库服务器获取数据。在浏览和编辑数据时,可以用标准的数据控件显示由TClientDataSet引入的数据集,当然,这需要借助于TDataSource组件。由于TClientDataSet是从TDataSet继承下来的,所以,凡是其他数据集组件支持的功能,TClientDataSet组件也大致具备。 TClientDataSet还支持书签功能,可以用书签来标记某条记录,以后就可以方便地找到这条记录。对于TTable、TQuery等数据集组件来说,只能读RecNo属性来判断当前记录的序号。对于TClientDataSet组件来说,还可以写RecNo属性,使某一序号的记录成为当前记录。 CanModify属性用于判断数据集中的数据是否可以修改。CanModify属性本身是只读的,也就是说,数据是否能够修改不取决于应用程序。与TDataSet不同的是,TClientDataSet组件有其特殊性,因为TClientDataSet已经把数据在内存中建立了副本,因此,应用程序可以决定是否允许修改数据。 TClientDataSet还提供了取消修改的功能,通过UndoLastChange函数可以取消上一次的修改。如果想一下子取消所有的修改,首先要选择一个记录,然后调用RevertRecord函数。ChangeCount属性返回日志中记载的修改次数。如果一条记录被反复修改了多次,每调用一次UndoLastChange能够逐级取消上一次的修改。 TClientDataSet还提供了SavePoint属性,可以把当前的编辑状态保存起来,以后随时可以返回当时的状态。例如,可以这样保存当前的状态:BeforeChanges := ClientDataSet1.SavePoint;以后,可以这样来恢复当时的状态:ClientDataSet1.SavePoint := BeforeChanges;
99.5KB
文件大小:
评论区