博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
delphi 内存表
阅读量:6641 次
发布时间:2019-06-25

本文共 2083 字,大约阅读时间需要 6 分钟。

//

 ClientDataSet1.FieldDefs.Clear;

 ClientDataSet1.FieldDefs.Add('doc_id', ftString,20);
 ClientDataSet1.FieldDefs.Add('doc_name', ftString, 20);
 ClientDataSet1.CreateDataSet; //创建虚拟表
 ClientDataSet1.Open;
 ClientDataSet1.Append;
 ClientDataSet1.FieldByName('doc_name').AsString := 'aa';
 ClientDataSet1.FieldByName('doc_id').AsString:= '11';
 ClientDataSet1.Post;
 ClientDataSet1.AppendRecord(['22','bb']);
 DataSource1.DataSet := ClientDataSet1;
 cx_test.DataController.DataSource := DataSource1;

function Tfrm_doc_sum.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('item',ftString,40,False);
   Add('is_nh',ftString,10,False);
   Add('dosage',ftString,10,False);
   Add('item_num',ftString,10,False);
   Add('item_id',ftString,20,False);
   Add('price',ftString,20,False);
   Add('spec',ftString,20,False);
   Add('unit',ftString,10,False);
   Add('times',ftString,10,False);
   Add('days',ftString,10,False);
 end;

{

 with DataSource1 do

 begin
    DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
    DataSet.Open;
    DataSet.Append;
    DataSet.FieldByName('item').AsString:='Woody';
    DataSet.FieldByName('item_id').AsInteger:=9527;
    DataSet.FieldByName('dosage').AsString:='Woody';
    DataSet.FieldByName('item_num').AsInteger:=9527;
    DataSet.FieldByName('price').AsString:='Woody';
    DataSet.FieldByName('spec').AsInteger:=9527;
    DataSet.FieldByName('unit').AsString:='Woody';
    DataSet.FieldByName('times').AsInteger:=9527;
    DataSet.FieldByName('days').AsString:='Woody';
    DataSet.FieldByName('is_nh').AsInteger:=9527;
    DataSet.Post;
 end;

}

------清空内存表

1.clientdataset.EmptyDataSet;        

本文转自鹅倌51CTO博客,原文链接:http://blog.51cto.com/kaixinbuliao/1293416 ,如需转载请自行联系原作者

你可能感兴趣的文章
redis_3.0.7_sds.c_sdsclear()
查看>>
MySQL阶段五——主从复制原理、主从延迟原理与解决
查看>>
我的友情链接
查看>>
JS 有趣的应用 : Array.prototype.slice.call(arguments,0)
查看>>
Linux命令:特殊权限SUID、GUID、Sticky
查看>>
<文明开房 低调叫床> 高考满分作文
查看>>
【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第四步)(4)...
查看>>
【linux系统优化】Selinux介绍及关闭方法
查看>>
阶段总结
查看>>
我的友情链接
查看>>
Spring aop 前置通知、后置通知、返回通知、 异常通知 、后置通知
查看>>
Android中选项卡TabHost的基本使用
查看>>
数据库优化的三个例子
查看>>
Vintage、滚动率、迁移率的应用
查看>>
我的友情链接
查看>>
[转载]六年软件测试感悟
查看>>
soap本地测试
查看>>
一个数组中只有两个数是不同的,其他数字是成对出现的,下面代码可将该数组中不同的两数字找出并输出...
查看>>
Kendo UI常用示例汇总(二十一)
查看>>
高科技机器人能否成为人类未来社会的忠实伙伴?
查看>>