首页 > 代码库 > delphi手动创建dataset并插入值
delphi手动创建dataset并插入值
unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,DB,DBClient, Vcl.Grids, Vcl.DBGrids;type TForm1 = class(TForm) dbgrd1: TDBGrid; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } class function AddDataToSet(AdsData: TDataSet): TDataSet; class function CreateDataSet(dsTemp:TDataSet): TDataSet; end;var Form1: TForm1;implementation//创建datasetclass function TForm1.CreateDataSet(dsTemp:TDataSet): TDataSet;varcdsTemp: TClientDataSet;begintry //创建DataSet cdsTemp := TClientDataSet.Create(Application); if dsTemp.FieldDefs <> nil then begin cdsTemp.FieldDefs.Assign(dsTemp.FieldDefs); cdsTemp.CreateDataSet; result := (cdsTemp as TDataSet); end;finally //内存释放 dsTemp.Free;end;end;class function TForm1.AddDataToSet(AdsData: TDataSet): TDataSet;varintLoop:Integer;begin//打开数据集AdsData.Open;with AdsData dobegin for intLoop := 0 to 10 do begin Append;//添加 FieldByName(‘Code‘).AsString := ‘Code‘ + intToStr(intLoop); FieldByName(‘Name‘).AsString := ‘Name‘ + intToStr(intLoop); FieldByName(‘Code‘).AsInteger := intLoop; post;//提交 end;end;end;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);vardsTemp:TDataSet;begin //初始化 dsTemp := TDataSet.Create(Application); with dsTemp.FieldDefs do begin Add(‘code‘,ftString,8); Add(‘name‘,ftString,20); Add(‘Number‘,ftInteger); end; dsTemp:=TForm1.CreateDataSet(dsTemp); TForm1.AddDataToSet(dsTemp); dsTemp.Open; while not dsTemp.Eof do begin showmessage(string(dsTemp.FieldByName(‘Name‘).Value)) ; dsTemp.Next ; end ;end;end.
DataSet有两个东西,一个是表结构FieldDefs,一个是TClientDataSet。这个.net还是有一些不同。
delphi手动创建dataset并插入值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。