TIdMemDataSet 是内存表组件。
属性:
FieldDefs 定义内存表的字段表
IndexFieldNames 创建字段索引列表, 请注意:索引是单字段的,而不是多字段的复合索引。
如:IndexFieldNames = "Id, Name, Caption"; 将分别创建这三个字段的索引。
创建索引的目的是能够更加快速地查找数据(使用 Locate ),若程序内不进行数据查找,则无需建索引。
Sort 指排序列表, 请注意:排序是可以多字段的复合排序。
Sort = "Id, Name"; 就是对 Id, Name 字段进行复合排序,若 Id 的值相同,则根据 Name 的值决定先后。
Filtered 决定是否要数据过滤。前提是必须要有 OnRecordFilter 事件。在OnRecordFilter 事件内编写是否符合过滤条件。
(说明:我没有做 Filter 属性,是因为使用表达式进行过滤虽然方便,但调试实在是太复杂了,所以难以保证质量,而且实际运行速度比不上OnRecordFilter 事件,所以只好作罢)
事件:
OnRecordFilter 记录过滤
方法:
CreateDataSet 根据FieldDefs 建立内存表字段,并且 Open
LoadFromStream LoadFromFile SaveToStream SaveToFile 顾名思义的方法。
除了属性 FieldDefs 、方法 CreateDataSet 外,以上介绍的内容,同样适用于 TIdTCPDBQuery