避免在TDataSet中重复添加列名

Ric*_* cf 2 delphi pascal tdataset

我正在使用以下代码向TDataSet动态添加字段:

while not ibSQL.Eof do
   fieldname := Trim(ibSql.FieldByName('columnnameofchange').AsString);
   TDataSet.FieldDefs.Add(fieldname , ftString, 255);
end
Run Code Online (Sandbox Code Playgroud)

问题是我可能会得到重复的名称,因此筛选重复项而不添加已添加的重复项的最简单方法是什么?

我希望不要遍历添加的每一列的TDataSet.FieldDefList,因为这对于添加的每一列都是很繁琐的。并且可以有很多补充。

如果可能,请提供其他解决方案。如果没有,那么我将无法使用FieldDefList迭代。

我还将补充一点,在SQL查询中筛选出重复项是一个选项,但不是所需的选项。

谢谢

Uwe*_*abe 5

TFieldDefs有一个方法IndexOf-1当给定名称的字段不存在时返回。