小编Ric*_* cf的帖子

避免在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查询中筛选出重复项是一个选项,但不是所需的选项。

谢谢

delphi pascal tdataset

2
推荐指数
1
解决办法
950
查看次数

在对象中重新获得Classed TObjectList

我创建了一个名为TRecord的类来存储数据.我创建了另一个包含TRecord类作为对象列表的类.我使用TRecord在对象列表中添加记录,然后在完成后将其设置为父类TTableStore.FManyrecords.

我可以检索列表,COUNT显示相同数量的记录,但它不会让我检索每个单独的记录.

问题是我无法访问记录程序/方法甚至定义记录的检索.查看最后一行伪代码:

TRecord = class(TObject)
  private
    FDescription : Variant;
    FDirectDeposit : Double;
  public
    function  GetDescription : Variant;
    function  GetDirectDeposit : Double;
    procedure SetDescription(Value: Variant; DoValidation: Boolean = True);
    procedure SetDirect(Value: Double; DoValidation: Boolean = True);
end;

TTableStore = class(TObject)
  private
    FManyRecords : TObjectList ;
    FTitle2 : Variant;
    FNormalEarn : Double;
  public
    function  GetTitle2 : String;
    function  GetNormalEarn : Double;
    function GetManyRecords: TObjectList;
    procedure SetManyRecords(Value: TObjectList; DoValidation: Boolean = True);
    procedure SetTitle2(Value: String; DoValidation: Boolean = True);
    procedure SetNormalEarn(Value: Double; …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe2

0
推荐指数
1
解决办法
504
查看次数

标签 统计

delphi ×2

delphi-xe2 ×1

pascal ×1

tdataset ×1