Delphi TClientDataSet.IndexFieldNames是否真的从数据集中删除记录(使它们不可见)?

时间:2017-08-18 07:29:57

标签: delphi tclientdataset

我在Delphi中执行以下代码:

MyClientDataSet.IndexFieldNames:='FIELD1;FIELD2;FIELD3'

我可以看到MyClientDataSet.RecordCount在此临时索引处于活动状态时显示减少的记录数。如果我进行while循环:

while not MyClientDataSet.Eof do begin
  //... some code
  MyClientDataSet.Next;
end;

然后只有部分记录在此循环中被访问,而临时索引处于活动状态。记录在没有任何特定顺序的情况下丢失:一些丢失的记录在其索引字段中可以包含nil值,而一些丢失的记录包含具有值的所有字段。 是设计的这种行为还是我发现了一些ClientDataSet错误(可能依赖于某些特定版本的midas.dll库)或者我需要以某种特定方式配置我的TClientDataSet(我无法想象 - 如何)?

我正在使用Delphi 6,但我想这个问题可以在以后的Delphi版本中使用。

0 个答案:

没有答案