Functions.GetFldState 方法 | |
-- todo --
返回一个数值,表示表或游标中的字段是否被修改、是否添加了记录,
或当前记录的删除状态是否已更改。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION GetFldState(
uField,
uArea
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static __Usual GetFldState(
__Usual uField = default,
__Usual uArea = default
)
查看代码参数
- uField (Optional)
- 类型:__Usual
指定要返回修改状态的字段名称或字段编号。
字段编号 nFieldNumber 对应于表或游标结构中字段的位置。
可以使用 Display Structure 或 Field() 来确定字段的编号。
可以为 nFieldNumber 指定 -1,以返回由表或游标中所有字段的删除和修改状态值组成的字符串。
例如,如果一个表有五个字段,只有第一个字段被更改,GetFldState() 将返回 121111。
第一个位置的 1 表示删除状态没有改变。
还可以为 nFieldNumber 包含 0,以确定自表或游标打开以来当前记录的删除状态是否已更改。
备注: |
---|
使用 GetFldState() 只能确定当前记录的删除状态是否已更改。
例如,如果您标记一条记录为删除,然后又取消删除,GetFldState() 会指示删除状态已更改,即使记录的删除状态已恢复到原始状态。
使用 Deleted() 可以确定记录的当前删除状态。
|
- uArea (Optional)
- 类型:__Usual
指定要返回字段修改或记录删除状态的表或游标的别名。
或
指定要返回字段修改或记录删除状态的表或游标的工作区。
如果不指定别名或工作区,GetFldState() 将返回当前选定表或游标中字段的值。
返回值
类型:
__Usual
数值、字符或 .NULL.
备注
下表列出了字符返回值及其对应的修改或删除状态。
返回值 | 修改或删除状态 |
---|
1 | 字段未被修改或删除状态未改变。 |
2 | 字段已被修改或删除状态已改变。 |
3 | 新添加记录中的字段未被修改或新添加记录的删除状态未改变。 |
4 | 新添加记录中的字段已被修改或新添加记录的删除状态已改变。 |
.NULL. | 在 EOF() 位置 |
对于本地表,必须先使用 CursorSetProp() 启用行或表缓冲,GetFldState() 才能操作。
如果在没有可选 uArea 参数的情况下发出 GetFldState(),将返回当前选定工作区中打开的表或游标的修改或删除状态。
字段的任何更改都会导致 GetFldState() 返回表示字段已被修改的值,无论更改是显式的还是隐式的。
显式修改的例子是在 Replace 或 Insert Into 命令中包含该字段。当发出任何添加新记录的命令时,具有默认值的字段会发生隐式修改。
参见