自定义DataSet,并写入数据

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

新建一 DataSet , 并加入数据 : prepareTable

function TFrm_Print.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;

raise;

end

end;

end;

procedure TFrm_Print.CreateDataSet(var gDataSet:Tdataset);

var ADataSet:TDataSet;

begin

try

if assigned(gDataSet) then gDataSet.free;

except

end;

ADataSet:=TDataSet.Create(Self);

try

with ADataSet.FieldDefs do

begin

add('OrderNo',ftInteger);

add('prjName',ftString,200);

add('srcPrice',ftFloat);

end;

gDataSet:=CreateTableInMemory(ADataSet.FieldDefs);

gDataSet.Open;

finally

ADataSet.Free;

end;

end;

procedure Tfrm_GoodsMg.prepareTable(var gDataSet:Tdataset);

procedure prepareDataSet;

begin

{ while not 数据源.eof do begin

gDataSet.append;

gDataSet.fieldbyname('OrderNo').asInteger:= I_Value;

gDataSet.fieldbyname('prjName').asString := A_Value;

gDataSet.fieldbyname('OrderNo').asFloat := D_value;

gDataSet.post;

数据源.next;

end; }

end;

begin

CreateDataSet(gDataSet);

prepareDataSet;

end;

procedure getMyDataSet()

var myDataSet:Tdataset

begin

prepareTable(myDataSet);

myDataSet.free;

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航