由于一些数据感知组件如TDBGrid等是需要用到数据缓存的,这和dbExpress组件的存取机制是矛盾的。所以当打开数据集时会出现如下内容的警告框:“Operation not allowed on a unidirectional dataset”!
对dbExpress操作中用TDBGrid显示数据,或修改提交数据的问题可以有两种可操作的方法,如下:
<1>用dbExpress -> TDataSetProvider -> TClientDataSet -> TDataSource ->TDBGrid 这套组件的组合来操作。
这里用到了TdataSetProvider,Delphi多层分布式编程中最重要的组件。它具有数据缓存机制,所以这就能够使dbExpress操作数据的能力变得从容简单并且具有张力,显示数据和处理数据的方式变得方便并且逻辑清晰。
熟悉多层分布式的朋友看到这套组件的组合时,肯定会立刻感到惊奇:这个微型架构差不多就是通常的三层结构中常用的架构模式!呵呵,可以称作是“伪三层”的。
<2>使用D6的TSQLClientDataSet或D7的TSimpleDataset。
---------------------
作者:xuleicsu
来源:CSDN
原文:https://blog.csdn.net/xuleicsu/article/details/726784
版权声明:本文为博主原创文章,转载请附上博文链接!