点击或拖拽改变大小

Functions.CurVal 方法

X#
-- todo --
从磁盘或远程数据源直接返回表的字段值。

命名空间:  XSharp.VFP
程序集:  XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法
 FUNCTION CurVal(
	cExpression,
	uArea
) AS USUAL CLIPPER
查看代码

参数

cExpression (Optional)
类型:__Usual
指定CurVal()从表或远程数据源返回其值的表达式。 cExpression通常是字段或由表或远程数据源中的一组字段组成的表达式。
uArea (Optional)
类型:__Usual
指定从其磁盘返回字段值的表的别名或工作区号,适用于表或远程数据源。

返回值

类型:__Usual
字符型、货币型、日期型、日期时间型、双精度型、浮点型、逻辑型、数值型或备注型
备注
可以比较CurVal()和OldVal()返回的字段值,以确定在编辑字段时网络上的其他用户是否更改了字段值。 只有在启用乐观行或表缓冲时,CurVal()和OldVal()才能返回不同的值。 使用CursorSetProp()启用乐观行或表缓冲。
如果在多用户环境中使用视图,除非先调用Refresh()函数,否则CurVal()返回的值可能不是最新的。 视图返回的数据被缓冲,CurVal()函数从缓冲区读取值。 但是,如果其他用户更改了视图的底层表中的数据,则在调用Refresh()函数之前不会更新缓冲的数据。
CurVal()返回当前记录的字段值,返回值的数据类型由cExpression指定的表达式确定。
如果在没有可选uArea参数的情况下发出CurVal(),则返回当前选定工作区中打开的表或游标的值。
示例
X#
 1Close Databases
 2Clear
 3Create Table mytable FREE (cDigit C(10))
 4* 存储原始值
 5Insert Into mytable (cDigit) VALUES ("One")
 6Set MultiLocks ON        // 允许乐观表缓冲
 7= CursorSetProp("Buffering",5)   // 启用乐观表缓冲
 8Replace cDigit WITH "Two"    // 新值
 9? "当前值: " + CurVal("cDigit", "mytable")
10? "旧值: " + OldVal("cDigit", "mytable")
11= TableUpdate(.T.)       // 提交对表的更改
12? "表更改已提交"
13? "新的当前值: " + CurVal("cDigit", "mytable")
14? "新的旧值: " + OldVal("cDigit", "mytable")
参见