返回一个数值,标明表或临时表中的字段是否已被编辑,或是否有追加的记录,或者指明当前记录的删除状态是否已更改。
语法
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,则返回当前选定工作区中打开的表或临时表的编辑或删除状态。