Functions.OldVal 方法 | |
-- todo --
返回已修改但尚未更新的字段的原始值。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION OldVal(
cExpression,
uArea
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static __Usual OldVal(
__Usual cExpression = default,
__Usual uArea = default
)
查看代码参数
- cExpression (Optional)
- 类型:__Usual
指定一个表达式,OldVal( )从表或远程数据源返回该表达式的原始值。
cExpression通常是来自表或远程数据源的字段或由一组字段组成的表达式。
- uArea (Optional)
- 类型:__Usual
指定返回原始字段值的表或游标的别名。
或
指定返回原始字段值的表或游标的工作区。
返回值
类型:
__Usual
字符型、货币型、日期型、日期时间型、双精度型、浮点型、整数型、逻辑型、数值型或备注型
备注 OldVal( )返回X#表或游标中已使用CursorSetProp( )启用行或表缓冲的记录的原始字段值。
如果数据库中的表或游标具有验证规则,OldVal( )不需要启用行或表缓冲即可返回原始字段值。
如果在启用行缓冲时将记录指针移动到不同的记录,或者发出TableUpdate( )以提交对记录的更改,
或者有其他导致更新的操作(如结束事务),则字段将被更新,原始字段值将不再可用。
OldVal( )返回的值的数据类型由您在cExpression中指定的表达式决定。
即使对于声明为NOT NULL且设置了Set NULL OFF的字段,OldVal( )也可以返回.NULL.。
如果在没有可选的uArea参数的情况下发出OldVal( ),则返回当前选定工作区中打开的表或游标的原始字段值。
示例 1Close Databases
2Clear
3* 创建新表并添加空白记录
4Create Table employee (cLastName C(10))
5Append Blank
6* 插入初始值
7Insert Into employee (cLastName) VALUES ("Smith")
8* 启用并设置表缓冲
9Set MultiLocks ON
10=CursorSetProp("Buffering", 5, "employee" )
11* 显示初始值
12=MessageBox("原始cLastName值: "+ cLastName, 0, "结果")
13* 更改记录值并显示结果
14Replace cLastName WITH "Jones"
15=MessageBox("修改后的cLastName值: "+ cLastName, 0, "结果")
16* 将字段的旧值存储到cTemp变量并显示结果
17cTemp=OldVal("cLastName", "employee")
18=MessageBox("原始cLastName值: "+ cTemp, 0, "结果")
19* 更新表并显示最终值
20=TableUpdate(.T.)
21=MessageBox("最终cLastName值: "+ cLastName, 0, "结果")
22* 关闭并删除示例表文件
23Use
24Delete FILE employee.dbf
参见