数组字段(ftArray) 与 ADT 字段类似(设计过程一样), 定义数组字段时只需定义一个元素来说明元素类型.

本例同时测试 ObjectView 为 True 和 False 时的不同效果.



下面是在运行时实现的数组字段:


//先在窗体上放置: DBGrid1、DataSource1、ClientDataSet1 并关联, 然后:procedure TForm1.FormCreate(Sender: TObject);
begin
//  ClientDataSet1.ObjectView := True;{ 先定义两个基本字段 }with ClientDataSet1.FieldDefs.AddFieldDef do beginName := 'ID';DataType := ftInteger;end;with ClientDataSet1.FieldDefs.AddFieldDef do beginName := 'Group';DataType := ftString;Size := 7;end;{ 定义数组字段: 假如数组包括 4 个元素 }with ClientDataSet1.FieldDefs.AddFieldDef do beginName := 'Member';DataType := ftArray;Size := 4;ChildDefs.Add('TempName', ftString, 11); { 只需定义一个子元素来说明元素类型 }end;ClientDataSet1.CreateDataSet;{ 添加记录 }ClientDataSet1.AppendRecord([1, '一组', VarArrayOf(['A1','A2','A3','A4'])]);{ 下面的添加方式也可用于访问 }ClientDataSet1.Append;ClientDataSet1['ID'] := 2;ClientDataSet1['Group'] := '二组';TArrayField(ClientDataSet1.FieldByName('Member'))[0] := 'B1';TArrayField(ClientDataSet1.FieldByName('Member'))[1] := 'B2';TArrayField(ClientDataSet1.FieldByName('Member')).FieldValues[2] := 'B3';TArrayField(ClientDataSet1.FieldByName('Member')).FieldValues[3] := 'B4';ClientDataSet1.Post;ClientDataSet1.Append;ClientDataSet1['ID'] := 3;ClientDataSet1['Group'] := '三组';TArrayField(ClientDataSet1.FieldByName('Member')).Fields[0].AsString := 'B1';TArrayField(ClientDataSet1.FieldByName('Member')).Fields[1].AsString := 'B2';TArrayField(ClientDataSet1.FieldByName('Member')).Fields[2].Value := 'B3';TArrayField(ClientDataSet1.FieldByName('Member')).Fields[3].Value := 'B4';ClientDataSet1.Post;
end;{ 可以通过下面代码查看 ObjectView 为 True 和 False 时的不同 }
procedure TForm1.Button1Click(Sender: TObject);
beginClientDataSet1.Close;ClientDataSet1.ObjectView := not ClientDataSet1.ObjectView;Text := Format('ObjectView: %s', [BoolToStr(ClientDataSet1.ObjectView, True)]);ClientDataSet1.Open;
end;

TClientDataSet[22]: 数组字段与 ObjectView相关推荐

  1. php数据库根据相似度排序,php数组字段相似度排序

    摘要:今天有一个客户有这么一个需求,要求对某篇文章的相关内容的列表,在跟文章标题进行相似度排序,于是想了又想,写了一个小算法,可以根据关键字相似度对数组某个字段进行排序... 今天有一个客户有这么一个 ...

  2. Elasticsearch 搜索数组字段

    我的个人博客:逐步前行STEP 1.搜索 数组字段 tags 中同时存在元素 str_a.str_b {"query": {"bool": {"fil ...

  3. Laravel + MongoDB 数组字段相关查询

    我的个人博客:逐步前行STEP 1.$exist 查询 是否存在这个字段 //查询所有存在标签你字段的博客 App\Blog::where('tags','$exist',true)->get( ...

  4. Pgsql中数组字段当作查询条件和输出数组

    1.博客中关于 PostgreSql Array操作的操作符和函数 https://my.oschina.net/Kenyon/blog/133974 2.官方文档: https://www.post ...

  5. 数组字段查询不包含_不可不知的可变Java长数组

    前言 有时我们希望将把数据保存在单个连续的数组中,以便快速.便捷地访问数据,但这需要调整数组大小或者对其扩展.Java 数组不能调整大小,只用数组不足以达成目标.可变长原始类型数组需要自己实现.本文将 ...

  6. php 二维数组字段合并,PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组_PHP教程...

    PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组 本文实例讲述了PHP将二维数组某一个字段相同的数组合并起来的方法.分享给大家供大家参考,具体如下: 例子: array(3) { [0 ...

  7. mongodb 输出数组字段_JMeter之Groovy对MongoDB操作

    背景 使用Jmeter做接口测试时需要初始数据,需要连接数据库,然而我们的后端使用的是MongoDB. 操作步骤 2.1 导入将连接MongoDB 所涉及的jar包导入jmeter的扩展lib1)扩展 ...

  8. mongodb 输出数组字段_三分钟 mongodb 开发快速上手

    三分钟 mongodb 开发快速上手 小熊昨天晚上做了一个非常真实的噩梦,有读者朋友催我"怎么又没有发文!让我们等的好辛苦",今天一睁开眼眼看后台留言,特么,居然是真的! 我bil ...

  9. mongo更新数组字段_更新mongodb中嵌套数组中的几个字段(使用pymongo)

    我正在尝试更新数组内数组中的一些字段 示例文档如下:{ id: 987654321 tweets: [ { text: "RT @947FreshFM: A vigil will be he ...

最新文章

  1. 程序员面试100题之六:最长公共子序列
  2. 从Ubuntu命令行按进程名称杀死进程
  3. 归纳推理测试没做完_朋友买了1斤紫菜,2年还没吃完,我教他这样做,2个月就吃完了...
  4. 工业交换机在城市智慧轨道交通中的应用分析
  5. python pyecharts 折线图_python数据大屏pyecharts库2020.8.31
  6. 数值计算方法(三)——变步长梯形法与龙贝格算法
  7. python对象列表转换为字典_python实现class对象转换成json/字典的方法
  8. 浅谈如何用We7站群平台打造垂直性政务网站
  9. CentOS 7笔记yum install epel-release
  10. python创建线程_Python 创建线程的方法
  11. php下载安装教程,PHP for Windows安装图文详细教程
  12. 使用PDFObject添加将本地磁盘pdf文件在前端页面展示
  13. Python基础-19-魔法方法(常用)
  14. Sparse R-CNN: End-to-End Object Detection with Learnable Proposals
  15. 国产x86服务器芯片,华为、飞腾扛旗,国产服务器芯片有望突破!ARM要替代x86?...
  16. JS 改变HTML样式
  17. Quartz定时器的时间设置
  18. 输入一个字符串,判断其是否是回文。(回文:即正读和反读都一样,如abccba, abccba)
  19. SQL必知必会【笔记】
  20. uploadify3.2上传插件案例

热门文章

  1. 微软的 SQL Server 你学会了吗?
  2. worknc的后处理如何安装_UG NX后处理安装方法(新手入门)
  3. 仪表仪器信息管理C语言,仪器仪表管理系统C语言课程实习报告
  4. aix oracle 内存限制,请教 AIX 与 Linux 中,怎样分析Oracle的内存占用?
  5. 基于命令行设置lazy-queue
  6. 初始Docker-Docker和虚拟机的差别
  7. 初探Spring MVC 请求处理流程
  8. 文件系统对性能的影响
  9. SpringBoot 数据验证错误处理
  10. Java并发基础总结_Java并发编程笔记之基础总结(二)