我需要一些关于TClientDataSet
的帮助,因为经过广泛的研究后,我仍然对某些功能感到困惑。
从目前为止的理解,将TClientDataSet
结构保存到文件中,仅保留FieldDefs
。所有其他定义(例如filters
和indexes
)都将丢失。因此,我必须在打开DataSet
后重新创建它们,以便进行定义。
我推断,如果我想将这些定义存储在磁盘中(因此它们可以作为整体应用于整个应用程序而不仅仅是特定表单),我必须保持单独的DataSet
。然后,在运行时,我可以从DataSet
重新创建所有定义。
我的问题是:除了上面提到的那个之外,还有其他机制来存储这些定义吗? TDataSetProvider
可以做到这一点吗?
我为自己的无知而道歉,并感谢任何关于这个主题的启发。
提前致谢。
答案 0 :(得分:1)
是的,有很多可能做你想做的事。
但是,TDataSetProvider
不是其中之一。
可以使用:
为您选择更容易,最实用的方法
TIniFile
经常用于在许多情况下保存定义。
答案 1 :(得分:0)
当您保存ClientDataSet时,它会保存数据结构,数据,索引定义,参数,增量数据等。但它只保存一个过滤器定义。
您还可以在Delphi代码中保存indesies和过滤器。
如前所述,Registry和IniFiles也是可能的。