我有四五个字段的50或60条记录。我需要将记录加载到RAM(从CSV文件),搜索不同的字段,枚举等。不是很多数据,不是很多功能。
我很高兴使用新的(在D2010中给我)TDictionary或TList,但认为TClientDataset(我以前从未使用过)可能更合适。
使用TClientDataSet,我可以在任何字段上使用.Locate,枚举时使用NOT CDS.EOF等。
而且,这个MidasLib究竟与CDS一起使用了什么?我可以合理地期望它将来会得到支持吗?
TClientDataSet是否仍然被认为是最先进的,或者它是否显示了它的年龄并且有些不赞成(字面和比喻)?
我见过同事使用DX的TdxMemData。为什么要使用它(或者我在谷歌搜索这个问题时看到的其他一些内存数据集)而不是CDS?
答案 0 :(得分:1)
TClientDataset是一个非常有用的工具。您可以使用字典做很多事情,例如过滤和绑定数据感知控件。它仍然是Embarcadero工具集的活跃部分。
Midas是TClientDataset所基于的内存数据库技术。它是一个单独的库,但是如果你不想要外部DLL依赖,你可以在EXE中包含一个MidasLib单元。
对于TdxMemData,我在工作中使用了一点,但我并不关心它。它没有CloneCursor,这是TClientDataset的最佳功能之一。它允许您获取第二个客户端数据集并让它“克隆”第一个,然后您有两个指向同一数据存储的客户端数据集,但具有不同的活动记录,过滤选项和各种其他属性。它对于基于相同的基础数据设置多个不同的“视图”非常有用。