Recordset类参考

记录集类。 更多...

所有成员的列表。

公有成员

(BOOL) - addNew:
 用于在记录集中添加一条记录。
(BOOL) - update
 用于提交对记录集的修改,包括添加、编辑记录、修改字段值的操作。
(void) - close
 用于关闭记录集。使用记录集以后应及时关闭。
(BOOL) - delete
 用于删除数据集中的当前记录,成功则返回 true。
(BOOL) - deleteAll
 物理性删除指定记录集中的所有记录,即把记录从计算机的物理存储介质上删除,无法恢复。
(BOOL) - edit
 锁定并编辑记录集的当前记录,成功则返回 true。
(BOOL) - move:
 将当前记录位置移动 count 行,将该位置的记录设置为当前记录。成功返回 true。
(BOOL) - moveFirst
 用于移动当前记录位置到第一条记录,使第一条记录成为当前记录。成功则返回 true。
(BOOL) - moveLast
 用于移动当前记录位置到最后一条记录,使最后一条记录成为当前记录。成功则返回 true。
(BOOL) - moveNext
 移动当前记录位置到下一条记录,使该记录成为当前记录。成功则返回 true。若当前记录已经为最后一条记录则返回 false。
(BOOL) - movePrev
 移动当前记录位置到上一条记录,使该记录成为当前记录。成功则返回 true。若当前记录已经为第一条记录则返回 false。
(BOOL) - moveTo:
 用于移动当前记录位置到指定的位置,将该指定位置的记录作为当前记录。成功则返回 true。
(BOOL) - seekID:
 在记录中搜索指定 ID 号的记录,并定位该记录为当前记录。
(NSObject *) - getFieldValueWithIndex:
 根据字段序号指定字段,返回数据集的属性数据表中当前记录相应字段的值。
(NSObject *) - getFieldValueWithString:
 根据字段名指定字段,返回数据集的属性数据表中当前记录该字段的值。
(BOOL) - setFieldValue:Obj:
 根据要修改的字段的序号,设定记录集中相应字段的值。
(BOOL) - setFieldValueNULL:
 根据字段序号,设定记录集中相应字段的值为 null,成功则返回 true。
(BOOL) - setFieldValueNULLWithString:
 根据字段名称,设定记录集中相应字段的值为 null,成功则返回 true。
(BOOL) - setFieldValueWithString:Obj:
 根据要修改的字段的名称,设定记录集中相应字段的值。
(BOOL) - setBOOLWithName:BOOLValue:
 用于设定记录集中某一字段的值,成功则返回 true。
(BOOL) - setByteWithName:ByteValue:
 用于设置记录集中当前记录某一字段的值,设置成功则返回 true。
(BOOL) - setDoubleWithName:DoubleValue:
 用于设置记录集中某一字段的值,成功则返回 true。
(BOOL) - setDateWithName:DateValue:
(BOOL) - setStringWithName:StringValue:
 用于设定记录集中某一字段的值,成功则返回 true。
(BOOL) - setBOOLWithIndex:BOOLValue:
 用于设置记录集中某一字段的值。
(BOOL) - setSingleWithName:value:
 用于设置记录集中某一字段的值。
(BOOL) - setInt64WithName:value:
 用于设置记录集中某一字段的值。
(BOOL) - setInt32WithName:value:
 用于设置记录集中某一字段的值。
(BOOL) - setInt16WithName:shortValue:
 用于设置记录集中当前记录某一“16位整型”类型字段的值。
(BOOL) - setCharWithName:charValue:
 用于设置记录集中某一字段的值。
(BOOL) - setDataTime:dataV:
 用于设置记录集中某一字段的值。
(BOOL) - setGeometry:
 用于修改记录集当前位置的几何对象,覆盖原来的几何对象,成功则返回true。
(double) - statisticByIndex:statisticMode:
 通过字段序号指定字段,对指定字段进行诸如最大值、最小值、平均值,总和,标准差和方差等方式的统计。
(double) - statisticByName:statisticMode:
 通过字段名称指定字段,对指定字段进行诸如最大值、最小值、平均值,总和,标准差和方差等方式的统计。
(void) - dispose
 释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
(void) - batchBegin
 设置批量更新操作开始进行,更新操作不是立即生效而是要等到调用batchUpdate操作后统一更新。
(void) - batchUpdate
 使批量更新操作生效
(void) - batchCancel
 取消批量更新
(BOOL) - fromGeoJSON:
 从GeoJSON中的字符串中获取几何对象,及其所以属性值,并将其更新到数据集
(NSString *) - toGeoJSON:count:
 从当前记录起,将数据集中的指定数目的记录转换成GeoJSON格式的字符串

属性

NSInteger fieldCount
 获取记录集中字段(Field)的数目。
Rectangle2Dbounds
 获取记录集的属性数据表中所有记录对应的几何对象的外接矩形。
DatasetVectordatasetVector
 获取记录集对应的数据集。
QueryParameterqueryParameter
 获取当前记录集对应的查询参数,返回一个副本。
FieldInfosfieldInfos
 获取记录集里的字段信息集合对象。
BOOL isClosed
 判断记录集是否已经关闭。 记录集已经关闭返回 true,否则返回 false。
BOOL isBOF
 判断当前记录的位置是否在记录集中第一条记录的前面(当然第一条记录的前面是没有数据的),如果是返回 true;否则返回 false。
BOOL isReadOnly
 获取记录集是否是只读的,如果是只读的,则返回 true,表示记录集中的信息将不可被修改。
NSInteger recordCount
 获取记录集中的记录数。
Geometrygeometry
 获取数据集的属性数据表中当前记录对应的几何对象。
NSInteger ID
 获取数据集的属性表中当前记录对应的几何对象的 ID 号(即 SmID 字段的值)。
BOOL isEOF
 判断当前记录的位置是否在记录集中的最后一条记录的后面,如果是,返回 true;否则返回 false。
NSInteger maxBatchCount
 设置批量更新操作的最大记录数,批量更新的操作记录数等于这个最大记录数时即刻执行批量提交。

详细描述

记录集类。

通过此类,可以实现对矢量数据集中的数据进行操作。

数据源有文件型,在文件型数据中空间几何信息和属性信息是分别存储的,记录集的应用可能比较让人费解,实际上, 操作时是将数据都看成是一个空间信息和属性信息一体化存储的表,而记录集是从其中取出的用来操作的一个子集。记录集中的一条记录,即一行,对应着一个要素,包含该要素的空间几何信息和属性信息 。记录集中的一列对应一个字段的信息。

记录集可通过两种方式获得:在地图控件中选中若干个几何对象形成一个选择集,然后把选择集转换为记录集;或者从矢量数据集中获得一个记录集,有两种方法: 用户可以通过 DatasetVector.getRecordset() 方法直接从矢量数据集中返回记录集,也可以通过查询语句返回记录集,所不同的是前者得到的记录集包含该类集合的全部空间几何信息和属性信息 ,而后者得到的是经过查询语句条件过滤的记录集。

注解:
用户得到 <Recordset> 对象后,当执行完系列操作后,需要对该对象进行释放。

成员函数文档

- (BOOL) addNew: (Geometry *)  geometry  

用于在记录集中添加一条记录。

1. 对于只读打开的数据源,其数据集的记录集的此方法不可用; 2. 在新增记录的时候,不能对记录集进行锁定并编辑(edit),否则 Recordset.addNew() 方法会失败; 3. <当传入的参数为空时,只有记录集所在的数据集为属性数据集时该方法才可用,如果是其他类型的数据集,调用 Recordset.addNew() 方法会失败。

参数:
geometry 要追加的记录对应的几何对象,可以是点、线、面、注记等几何对象。该参数可以为 null。
返回:
添加成功,返回值为 true,否则返回 false。

请参见 <Recordset>

- (void) batchBegin  

设置批量更新操作开始进行,更新操作不是立即生效而是要等到调用batchUpdate操作后统一更新。

- (void) batchCancel  

取消批量更新

- (void) batchUpdate  

使批量更新操作生效

- (void) close  

用于关闭记录集。使用记录集以后应及时关闭。

- (BOOL) delete  

用于删除数据集中的当前记录,成功则返回 true。

当记录为只读时,该方法不可用。

返回:
删除成功则返回 true,否则返回 false。

请参见 <Recordset>

- (BOOL) deleteAll  

物理性删除指定记录集中的所有记录,即把记录从计算机的物理存储介质上删除,无法恢复。

当记录为只读时,该方法不可用。

返回:
删除成功则返回 true,否则返回 false。
- (void) dispose  

释放该对象所占用的资源。当调用该方法之后,此对象不再可用。

- (BOOL) edit  

锁定并编辑记录集的当前记录,成功则返回 true。

用该方法编辑后,一定要用 update 方法更新记录集,而且在 update 之前不能移动当前记录的位置,否则编辑失败,记录集也可能被损坏。

返回:
编辑成功返回 true,否则返回 false。
- (BOOL) fromGeoJSON: (NSString *)  geoJSON  

从GeoJSON中的字符串中获取几何对象,及其所以属性值,并将其更新到数据集

支持的几何对象类型包括:点、线、面、多线

参数:
geoJSON GeoJSON格式的字符串,其中可以包含一个几何对象,也可以是包含多个对象的集合
返回:
获取到所有几何对象,并更新成功,返回true;否则,返回false
- (NSObject *) getFieldValueWithIndex: (NSInteger)  index  

根据字段序号指定字段,返回数据集的属性数据表中当前记录相应字段的值。

参数:
index 要取其值的字段的序号。
返回:
当前记录中某一字段的值。
- (NSObject *) getFieldValueWithString: (NSString *)  value  

根据字段名指定字段,返回数据集的属性数据表中当前记录该字段的值。

参数:
value 要取其值的字段的名称。
返回:
当前记录中某一字段的值。
- (BOOL) move: (NSInteger)  count  

将当前记录位置移动 count 行,将该位置的记录设置为当前记录。成功返回 true。

count小于0表示向前移,大于0表示向后移动,等于0时不移动。如果移动的行数太多,超出了 Recordset 的范围,将会返回 false,当前记录不移动。

参数:
count 移动的记录数。
返回:
移动成功返回 true,否则返回 false。
- (BOOL) moveFirst  

用于移动当前记录位置到第一条记录,使第一条记录成为当前记录。成功则返回 true。

返回:
移动成功返回 true,否则返回 false。

请参见 <Recordset>

- (BOOL) moveLast  

用于移动当前记录位置到最后一条记录,使最后一条记录成为当前记录。成功则返回 true。

返回:
移动成功返回 true,否则返回 false。
- (BOOL) moveNext  

移动当前记录位置到下一条记录,使该记录成为当前记录。成功则返回 true。若当前记录已经为最后一条记录则返回 false。

返回:
移动成功返回 true,否则返回 false。
- (BOOL) movePrev  

移动当前记录位置到上一条记录,使该记录成为当前记录。成功则返回 true。若当前记录已经为第一条记录则返回 false。

返回:
移动成功返回 true,否则返回 false。
- (BOOL) moveTo: (NSInteger)  position  

用于移动当前记录位置到指定的位置,将该指定位置的记录作为当前记录。成功则返回 true。

参数:
position 移动到的位置,即第几条记录。位置从零开始,moveTo(0) 和 moveFirst 等效。
返回:
移动成功返回 true,否则返回 false。
- (BOOL) seekID: (NSInteger)  indexId  

在记录中搜索指定 ID 号的记录,并定位该记录为当前记录。

参数:
indexId 要搜索的 ID 号。
返回:
成功则返回 true,否则返回 false。
- (BOOL) setBOOLWithIndex: (NSInteger)  index
BOOLValue: (BOOL)  value 

用于设置记录集中某一字段的值。

设置已知字段类型的值,如果字段类型不是“布尔”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
index 要设置其值的字段的索引。
value 要设置的值。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setBOOLWithName: (NSString *)  name
BOOLValue: (BOOL)  value 

用于设定记录集中某一字段的值,成功则返回 true。

设置已知字段类型的值,如果字段类型不是“布尔”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的字段的名称。
value 要设置的值。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setByteWithName: (NSString *)  name
ByteValue: (Byte)  value 

用于设置记录集中当前记录某一字段的值,设置成功则返回 true。

设置已知字段类型的值,如果字段类型不是字节类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的指定字段的名称。
value 要设置的 byte 值。
返回:
一个布尔值,设定成功返回 true,否则返回 false。
- (BOOL) setCharWithName: (NSString *)  name
charValue: (NSString *)  value 

用于设置记录集中某一字段的值。

设置已知字段类型的值,如果字段类型不是“Char”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的指定字段的名称。
value 要设置的值。
返回:
设定成功返回true,否则返回false。
- (BOOL) setDataTime: (NSString *)  name
dataV: (NSString *)  value 

用于设置记录集中某一字段的值。

设置已知字段类型的值,如果字段类型不是“ DateTime”,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要取其值的字段的名称。
value 要设置的值。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setDateWithName: (NSString *)  name
DateValue: (NSDate *)  value 
- (BOOL) setDoubleWithName: (NSString *)  name
DoubleValue: (double)  value 

用于设置记录集中某一字段的值,成功则返回 true。

设置已知字段类型的值,如果字段类型不是“双精度”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的字段的名称。
value 要设置的值。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setFieldValue: (NSInteger)  index
Obj: (NSObject *)  value 

根据要修改的字段的序号,设定记录集中相应字段的值。

成功则返回 true。在对某一字段赋值的时候,需先调用 edit() 锁定要修改的记录,修改之后需调用 update() 进行提交。

参数:
index 要修改的字段的序号。
value 新字段值。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setFieldValueNULL: (NSInteger)  index  

根据字段序号,设定记录集中相应字段的值为 null,成功则返回 true。

参数:
index 要设定的字段的序号。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setFieldValueNULLWithString: (NSString *)  value  

根据字段名称,设定记录集中相应字段的值为 null,成功则返回 true。

参数:
value 要设定的字段的名称。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setFieldValueWithString: (NSString *)  name
Obj: (id)  value 

根据要修改的字段的名称,设定记录集中相应字段的值。

成功则返回 true。在对某一字段赋值的时候,需先调用 edit 锁定要修改的记录,修改之后需调用 update 进行提交。

参数:
name 要修改的字段的名称。
value 新字段值。
返回:
设定成功返回 true,否则返回 false。
- (BOOL) setGeometry: (Geometry *)  geometry  

用于修改记录集当前位置的几何对象,覆盖原来的几何对象,成功则返回true。

修改记录的几何对象时,系统自动修改与对象有关的系统字段的值,如多边形对象的面积,线段对象的长度等。

参数:
geometry 用来覆盖原几何对象的新几何对象。
返回:
设置成功返回 true,否则返回 false。
异常:
NullPointerException 如果传入的参数为null,则抛出 NullPointerException。
IllegalArgumentException 如果属性表数据集调用此接口,且传入参数不为 null 时,则抛出 IllegalArgumentException 。
- (BOOL) setInt16WithName: (NSString *)  name
shortValue: (short)  value 

用于设置记录集中当前记录某一“16位整型”类型字段的值。

设置已知字段类型的值,如果字段类型不是“16位整型”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的指定字段的名称。
value 要设置的值。
返回:
设定成功返回true,否则返回false。
- (BOOL) setInt32WithName: (NSString *)  name
value: (int)  value 

用于设置记录集中某一字段的值。

设置已知字段类型的值,如果字段类型不是“32位整型”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的指定字段的名称。
value 要设置的值。
返回:
设定成功返回true,否则返回false。
- (BOOL) setInt64WithName: (NSString *)  name
value: (long)  value 

用于设置记录集中某一字段的值。

设置已知字段类型的值,如果字段类型不是“64位整型”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的指定字段的名称。
value 要设置的值。
返回:
设定成功返回true,否则返回false。
- (BOOL) setSingleWithName: (NSString *)  name
value: (float)  value 

用于设置记录集中某一字段的值。

设置已知字段类型的值,如果字段类型不是“单精度”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的字段的名称。
value 要设置的值。
返回:
设定成功返回true,否则返回false。
- (BOOL) setStringWithName: (NSString *)  name
StringValue: (NSString *)  value 

用于设定记录集中某一字段的值,成功则返回 true。

设置已知字段类型的值,如果字段类型不是“文本”类型,可能会产生数据变化、精度丢失甚至返回失败等问题。

参数:
name 要设置其值的字段的名称。
value 要设置的值。
返回:
设定成功返回 true,否则返回 false。
- (double) statisticByIndex: (int)  index
statisticMode: (StatisticMode mode 

通过字段序号指定字段,对指定字段进行诸如最大值、最小值、平均值,总和,标准差和方差等方式的统计。

- (double) statisticByName: (NSString *)  name
statisticMode: (StatisticMode mode 

通过字段名称指定字段,对指定字段进行诸如最大值、最小值、平均值,总和,标准差和方差等方式的统计。

- (NSString*) toGeoJSON: (BOOL)  hasAttributte
count: (int)  count 

从当前记录起,将数据集中的指定数目的记录转换成GeoJSON格式的字符串

支持的几何对象类型包括:点、线、面、多线,该方法最多支持获取包含连续10条记录的GeoJSON串.hasAttributte为true时,返回Feature类型的字符串;hasAttributte为false时,返回只含几何对象的Geometry类型的字符串

参数:
hasAttributte 是否包含属性值
count 需要获取的记录条数
返回:
返回获取到的GeoJSON格式字符串,若没有结果,返回null
- (BOOL) update  

用于提交对记录集的修改,包括添加、编辑记录、修改字段值的操作。

对记录集做修改之后,都需要使用update 来提交修改。每对一条记录做完修改就需要调用一次 update来提交修改。

返回:
更新成功返回 true,否则返回 false。

请参见 <Recordset>


属性文档

- (Rectangle2D*) bounds [read, assign]

获取记录集的属性数据表中所有记录对应的几何对象的外接矩形。

返回:
记录集的属性数据表中所有记录对应的几何对象的外接矩形。
- (DatasetVector*) datasetVector [read, assign]

获取记录集对应的数据集。

返回:
记录集对应的数据集。
- (NSInteger) fieldCount [read, assign]

获取记录集中字段(Field)的数目。

返回:
字段(Field)的数目。
- (FieldInfos*) fieldInfos [read, assign]

获取记录集里的字段信息集合对象。

字段信息集合类的详细信息参见 <FieldInfos> 类。

返回:
一个 Fieldinfos 的副本。
- (Geometry*) geometry [read, assign]

获取数据集的属性数据表中当前记录对应的几何对象。

返回:
若成功返回几何对象,否则返回 null。

请参见 <Recordset>

- (NSInteger) ID [read, assign]

获取数据集的属性表中当前记录对应的几何对象的 ID 号(即 SmID 字段的值)。

返回:
几何对象的 ID 号。
- (BOOL) isBOF [read, assign]

判断当前记录的位置是否在记录集中第一条记录的前面(当然第一条记录的前面是没有数据的),如果是返回 true;否则返回 false。

返回:
当前记录是否在第一条记录的前面。

请参见 <Recordset>

- (BOOL) isClosed [read, assign]

判断记录集是否已经关闭。 记录集已经关闭返回 true,否则返回 false。

默认值为 false,即记录集尚未关闭。

返回:
记录集是否已经关闭。
- (BOOL) isEOF [read, assign]

判断当前记录的位置是否在记录集中的最后一条记录的后面,如果是,返回 true;否则返回 false。

返回:
当前记录是否在最后一条记录的后面。
- (BOOL) isReadOnly [read, assign]

获取记录集是否是只读的,如果是只读的,则返回 true,表示记录集中的信息将不可被修改。

返回:
记录集是否只读。
- (NSInteger) maxBatchCount [read, write, assign]

设置批量更新操作的最大记录数,批量更新的操作记录数等于这个最大记录数时即刻执行批量提交。

- (QueryParameter*) queryParameter [read, assign]

获取当前记录集对应的查询参数,返回一个副本。

返回:
查询的记录集。

具体查询参数信息请参见 <QueryParameter> 类型。

- (NSInteger) recordCount [read, assign]

获取记录集中的记录数。

返回:
记录集中的记录数。

该类的文档由以下文件生成: