加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi手动创建dataset并插入值

发布时间:2020-12-15 09:53:12 所属栏目:大数据 来源:网络整理
导读:unit Unit1; interface uses ? 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; proc

unit Unit1;

interface

uses
? 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


//创建dataset
class function TForm1.CreateDataSet(dsTemp:TDataSet): TDataSet;
var
cdsTemp: TClientDataSet;
begin
try
//创建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;
var
intLoop:Integer;
begin
//打开数据集
AdsData.Open;
with AdsData do
begin
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);
var
dsTemp:TDataSet;
begin
//初始化
dsTemp := TDataSet.Create(Application);
with dsTemp.FieldDefs do
begin
Add(‘code‘,ftString,8);
Add(‘name‘,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还是有一些不同。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读