SQL Query on TClientDataSet (CDS file) in Delphi XE?



我在Delphi XE中将一个2.8 MB的XML文件转换为ClientDataSet。XML文件更改非常频繁,每次XML更改时,我基本上都会以编程方式构建一个新的CDS文件。变化的不仅是内容,还有实际的结构。

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

不可以,当用作内存数据集时,不能在TClientDataSet上运行 SQL 句子,因为 没有关联的 SQL 提供程序。最好的选择是使用 TClientDataSet 中包含的筛选功能。为此,您可以使用RangesFilters,然后将结果克隆到辅助 TClientDataSet 中。有关筛选的更多详细信息,请参阅本文Filtering ClientDataSets

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

最新更新