我有一个简单的Delphi(2007)程序,该程序给定了一个TDATASET和(子)字段列表,返回一个新的TCLIENTDATASET,带有 不同的值 从给定的tdataset。

这很好。

在我的POC中,我使用TCLIENTDATASET索引来填充不同的值。快速而容易。

问题是tclientdataset索引支持 最多16 字段。如果您添加更多它们,它们将被默默地忽略。

我在数据集中需要16个以上的字段(因此在索引中)。

有解决方案吗?一些黑客?也许有一些开源库用作解决方法?

我正在离线工作,所以我必须在记忆中进行。数据集的大小不是 巨大的

有帮助吗?

解决方案

如果您需要在16个以上的字段中获得不同的记录出现,并且您想使用索引来保持快速的速度,则需要考虑将其中一些字段串联。例如:

测试场1场2场3场4苹果〜香蕉〜胡萝卜〜甜甜圈苹果香蕉胡萝卜甜甜圈甜甜圈

在测试字段上创建索引。

如果其他字段的总长度超过文本字段的最大长度,则可能需要创建多个测试字段。

其他提示

您可以将TCLIENTDATASET换成JVCL的TJVCSVDATASET。它可以用作客户数据集中的纯“内存数据集”替换,而无需在磁盘上读取或编写任何CSV文件。

它不像设计中的客户数据集。我不确定客户数据集中所有这些“索引”的好处是什么,除了没有索引定义的情况下,您不能拥有字段,但是在您需要的情况下,您可以设置TJVCSVDATASET .fieldDef property ='field1,field2,..... fieldn',然后打开数据集并添加尽可能多的行中的数据集。它实际上仅限于您可以在32位进程中解决的内存量。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top