【发布时间】:2014-02-03 15:18:32
【问题描述】:
我需要一些关于TClientDataSet 的帮助,因为在进行了广泛的研究之后,我仍然对某些功能感到困惑。
据我所知,将TClientDataSet 结构保存到文件中,仅保留FieldDefs。所有其他定义(例如 filters 和 indexes)都将丢失。因此,我必须在打开 DataSet 后重新创建它们,以便进行定义。
我由此推断,如果我想将这些定义存储在磁盘中(这样它们将可用于整个应用程序,而不仅仅是特定形式),我必须维护一个单独的DataSet。然后,在运行时,我可以从 DataSet 重新创建所有定义。
我的问题是:除了上面提到的之外,还有其他机制来存储这些定义吗? TDataSetProvider 可以解决问题吗?
我为我的无知道歉,并感谢对这个主题的任何启发。
提前致谢。
【问题讨论】:
-
就是这样!我想避免使用数据库。听起来可能有点奇怪,但出于我自己的原因,我希望应用程序仅使用
TClientDataSet。我认为DataSet拥有我的应用程序可能需要的所有功能。 -
有很多可能性:1-Regedit,2-IniFiles,3-数据库,4-其他数据集。在这种特定情况下,我相信 IniFiles 更好
-
@matheus。所以
TDataSetProvider不应该解决,对吧? -
DataSetProvider 常用于从 TQuery 中检索数据。
-
@matheus。但它有能力存储
DataSet定义?