Functions.CurVal 方法 | |
-- todo --
从磁盘或远程数据源直接返回表的字段值。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION CurVal(
cExpression,
uArea
) AS USUAL CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static __Usual CurVal(
__Usual cExpression = default,
__Usual uArea = default
)
查看代码参数
- cExpression (Optional)
- 类型:__Usual
指定CurVal()从表或远程数据源返回其值的表达式。
cExpression通常是字段或由表或远程数据源中的一组字段组成的表达式。
- uArea (Optional)
- 类型:__Usual
指定从其磁盘返回字段值的表的别名或工作区号,适用于表或远程数据源。
返回值
类型:
__Usual
字符型、货币型、日期型、日期时间型、双精度型、浮点型、逻辑型、数值型或备注型
备注
可以比较CurVal()和OldVal()返回的字段值,以确定在编辑字段时网络上的其他用户是否更改了字段值。
只有在启用乐观行或表缓冲时,CurVal()和OldVal()才能返回不同的值。
使用CursorSetProp()启用乐观行或表缓冲。
如果在多用户环境中使用视图,除非先调用Refresh()函数,否则CurVal()返回的值可能不是最新的。
视图返回的数据被缓冲,CurVal()函数从缓冲区读取值。
但是,如果其他用户更改了视图的底层表中的数据,则在调用Refresh()函数之前不会更新缓冲的数据。
CurVal()返回当前记录的字段值,返回值的数据类型由cExpression指定的表达式确定。
如果在没有可选uArea参数的情况下发出CurVal(),则返回当前选定工作区中打开的表或游标的值。
示例 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")
参见