Delphi XE中的TClientDataSet(CDS文件)上的SQL查询?

Del*_*ium 5 sql delphi delphi-xe

我将一个2.8 MB的XML文件转换为Delphi XE中的ClientDataSet.XML文件经常更改,我基本上每次XML更改时都以编程方式构建一个新的CDS文件.它不仅是内容的变化,也是实际的结构.

问题是:是否可以在ClientDataSet1上使用简单的SQL在内存中创建带有结果表的第二个ClientDataSet?如果答案是肯定的,那么基本机制是什么?目前我只使用TClientDataSet和TDataSource使数据库可用于数据感知组件.

RRU*_*RUZ 5

不,您不能TClientDataSet在用作内存数据集的情况下运行SQL语句,因为没有关联的SQL提供程序.您最好的选择是使用TClientDataSet中包含的过滤功能.为此,您可以使用RangesFilters然后在辅助TClientDataSet中克隆结果.有关过滤的更多详细信息,请尝试本文Filtering ClientDataSets


小智 5

TxQuery可以做你想要的.它是一个TDataSet后代组件,可用于使用SQL语句查询一个或多个TDataSet后代组件.可从http://code.google.com/p/txquery/获取