HanDs
管理员

[Delphi文章] Delphi內存表 



function   CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet;

var

     TempTable:TClientDataSet;

begin

  TempTable:=nil;

  Result:=nil;

if   AFieldDefs<>nil   then

  begin

   try

      TempTable:=TClientDataSet.Create(Application);

      TempTable.FieldDefs.Assign(AFieldDefs);

      TempTable.CreateDataSet;

      Result:=(TempTable   as   TDataSet);

Except

    if   TempTable<>nil   then

             TempTable.Free;

       Result:=nil;

    raise;

    end;

    end;

end;

procedure TForm1.btn1Click(Sender: TObject);

var

  ADataSet:TDataSet;

begin

  ADataSet:=TDataSet.Create(Self);

  with   ADataSet.FieldDefs   do

   begin

    Add('Name',ftString,30,False);

    Add('Value',ftInteger,0,False);

   end;

  with   DataSource1   do

   begin

    DataSet:=CreateTableInMemory(ADataSet.FieldDefs);

    DataSet.Open;

    DataSet.Append;

    DataSet.FieldByName('Name').AsString:='Woody';

    DataSet.FieldByName('Value').AsInteger:=9527;

    DataSet.Post;

   end;

  ADataSet.Free;

end;

 

end.


学习中请遵守法律法规,本网站内容均来自于互联网,本网站不负担法律责任
Delphi
#1楼
发帖时间:2016-7-9   |   查看数:0   |   回复数:0
游客组
快速回复