有下面一个类
  TSMObject = class
  public
    procedure SaveToDB( Conn: TCustomConnection ); virtual; abstract;
    procedure LoadFromDB( Conn: TCustomConnection ); virtual; abstract;
  end;  TRemoteControl = class( TSMObject )   { TODO : 远程遥控 }
  private
    FCrossID     : Integer;
    FButtonID    : Integer;
    FStageCode   : Integer;
    FTransmitType: Integer;
  public
    constructor Create();
    procedure SaveToDB( Conn: TCustomConnection ); virtual;
    procedure LoadFromDB( Conn: TCustomConnection ); virtual;
    property  CrossID      : integer read FCrossID write FCrossID;
    property  ButtonID     : integer read FButtonID write FButtonID;
    property  StageCode    : integer read FStageCode write FStageCode;
    property  TransmitType : integer read FTransmitType write FTransmitType;
  end;这个类每次调用SaveToDB一次只能插入一条数据,现在我想一次插入N条数据,我该怎么改这个类?

解决方案 »

  1.   

    使用容器,把你需要存的内容用容器存起来,比如:
    TValue = class
      public
        FCrossID     : Integer;
        FButtonID    : Integer;
        FStageCode   : Integer;
        FTransmitType: Integer;
    end;
    再用List把所有内容写在List里面,就可以了...
    procedure SaveToDB(fList: TList; Conn: TCustomConnection ); virtual;
    begin
      for i:=0 to fList.Count -1 do
      begin
        //dosomething......
      end;
    end;
      

  2.   

    还是不明白TValue怎么用?
    这样的话FList就成为外部参数接口了吧?一般来说是不是Tlist类型不传到类的外面去呢?
      

  3.   

    要么用Tlist
    要么用指针,带上指针后面数据的长度,