getfldstate( ) 函数

示例 请参阅

返回一个数值,标明表或临时表中的字段是否已被编辑,或是否有追加的记录,或者指明当前记录的删除状态是否已更改。

语法

GETFLDSTATE(cFieldName | nFieldNumber [, cTableAlias | nWorkArea])

参数

cFieldName | nFieldNumber

指定要返回其编辑状态的字段的名称或编号。字段编号 nFieldNumber 对应于字段在表或临时表结构中的位置。可以使用 DISPLAY STRUCTURE 命令或 FIELD( ) 函数确定字段的编号。
指定 nFieldNumber 为 -1 可以返回一个字符串,该字符串包含表或临时表中所有字段的删除和编辑状态。例如,如果某个表有五个字段,而只编辑过第一个字段,则 GETFLDSTATE( ) 函数将返回下列值:

121111


第一个位置上的 1 表明删除状态尚未更改。
也可以把 nFieldNumber 设置为 0,从而确定自表或临时表打开以来是否更改过当前记录的删除状态。

附注
getfldstate( ) 函数只能用于判定是否更改过当前记录的删除状态。例如,如果对某个记录作了删除标记,然后又进行了恢复操作,即使此时该记录的删除状态已恢复为原始状态,getfldstate( ) 函数仍将指示删除状态已进行了更改。可以使用 DELETED( ) 函数确定记录当前的删除状态。

cTableAlias

指定表或者临时表的别名,函数将返回其字段的编辑状态或记录的删除状态。

nWorkArea

指定表或者临时表所在的工作区,函数将返回其字段的编辑状态或记录的删除状态。
如果没有指定别名或工作区,则 getfldstate( ) 函数返回当前选定表或者临时表中字段的状态。

返回值类型
数值型

说明
下表列出了返回值及其相应的编辑或删除状态。

返回值  编辑或删除状态
1 字段未作编辑,或者删除状态未作更改。
2 已编辑了字段,或者更改了删除状态。
3 追加记录的字段未做编辑,或者追加记录的删除状态未做更改。
4 已编辑了追加记录的字段,或者已更改了追加记录的删除状态。

必须首先用 CURSORSETPROP( ) 函数启用行缓冲或表缓冲,才能使 getfldstate( ) 函数操作本地表。
如果 getfldstate( ) 函数未带可选的参数 cTableAlias 或 nWorkArea,则返回当前选定工作区中打开的表或临时表的编辑或删除状态。