自定义DataSet,并写入数据

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 luckyjan 的 blog

新建一 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;

本文关键:自定义DataSet,并写入数据
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top