ClientDataSet 经典与TTable、TQuery 一样,TClientDataSet 也是从 TDataSet 继承下来的,它通常用于多层体系结构的客户端
很多数据库应用程序都用了 BDE,BDE 往往给发布带来很大的不便,因而 TClientDataSet 最大的特点是它不依赖于 BDE(Borland Database Engine),但它需要一个动态链接库的支持,这个动态链接库叫 DBCLIENT
在客户端,也不需要用 TDatabase构件,因为客户端并不直接连接数据库
由于 TClientDataSet 是从 TDataSet 继承下来的,所以,它支持诸如编辑、搜索、浏览、纠错、过滤等功能
由于 TClientDataSet 在内存中建立了数据的本地副本,上述操作的执行速度很快
也正是由于 TClientDataSet 并不直接连接数据库,因此,客户程序必须提供获取数据的机制
在 Delphi 4 中,TClientDataSet 有三种途径获取数据:1、从文件中存取数据
2、从本地的另一个数据集中获取数据
3、通过 IProvider 接口从远程数据库服务器获取数据
在一个客户程序中,可以同时运用上述三种机制获取数据
和其他数据集构件一样,可以用标准的数据控件显示由 TClientDataSet 引入的数据集,当然,这需要借助于 TDataSource 构件
由于 TClientDataSet 是从 TDataSet 继承下来的,所以,凡是其他数据集构件支持的功能,TClientDataSet 构件也大致具备
不同的是,TClientDataSet 能够在内存中建立数据的副本,因此,TClientDataSet 比其他数据集构件增加了一些特殊的功能
在运行期,可以调用诸如 First、GotoKey、Last、Next 和 Prior 等函数