Functions.TableRevert 方法 | |
-- todo --
放弃对缓冲行或缓冲表或游标所做的更改,并恢复远程游标的 OldVal() 数据以及本地表和游标的当前磁盘值。
在网络环境中,当前磁盘上的数据可能与打开表或创建游标时磁盘上的数据不同。
网络上的其他用户可能在表被打开或游标被创建后更改了数据。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION TableRevert(
lAllRows,
uArea
) AS LONG CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static int TableRevert(
__Usual lAllRows = default,
__Usual uArea = default
)
查看代码参数
- lAllRows (Optional)
- 类型:__Usual
确定是否放弃对表或游标所做的所有更改。下表描述了 lAllRows 的值。
lAllRows | 描述 |
---|
False (.F.) | 如果启用了表缓冲,则仅放弃对表或游标中当前记录所做的更改。(默认) |
True (.T.) | 如果启用了表缓冲,则放弃对表或游标中所有记录所做的更改。 |
如果启用了行缓冲,X# 将忽略 lAllRows 的值,并放弃对表或游标中当前记录所做的更改。
- uArea (Optional)
- 类型:__Usual
指定要放弃更改的表或游标的别名。
或
指定要放弃更改的表或游标的工作区。
返回值
类型:
Int32
数值数据类型。TableRevert() 返回放弃更改的记录数。
备注
TableRevert() 无法放弃对未启用行或表缓冲的表或游标所做的更改。
如果在未启用行或表缓冲的情况下发出 TableRevert(),X# 将生成错误消息。使用 CursorSetProp() 启用或禁用行和表缓冲。
如果在没有可选 uArea 参数的情况下发出 TableRevert(),则会放弃当前选定工作区中打开的表或游标中的更改。
TableRevert() 不会将记录指针返回到其原始位置。
TableRevert() 对 CursorAdapter 对象的操作方式与其他缓冲游标相同。
在 X# 9.0 中,当 TableUpdate() 正在运行时,不能发出 TableRevert() 函数。
示例 1Close Databases
2Set MultiLocks ON
3Set PATH TO (HOME(2) + 'data\')
4Open Database testdata
5Use Customer
6= CursorSetProp('Buffering', 5, 'customer')
7Clear
8? '原始 cust_id 值: '
9?? cust_id
10Replace cust_id WITH '***'
11? '新 cust_id 值: '
12?? cust_id
13= TableRevert(.T.)
14? '恢复后的 cust_id 值: '
15?? cust_id
参见