DbServer.Replace 方法 | |
用新表达式替换与指定范围匹配的所有记录的一个或多个字段。
命名空间:
XSharp.VO.SDK
程序集:
XSharp.VORDDClasses (在 XSharp.VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL METHOD Replace(
acbExpression,
aFieldList,
cbForBlock,
cbWhileBlock,
uScope
) AS LOGIC CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public virtual bool Replace(
__Usual acbExpression = default,
__Usual aFieldList = default,
__Usual cbForBlock = default,
__Usual cbWhileBlock = default,
__Usual uScope = default
)
查看代码参数
- acbExpression (Optional)
- 类型:__Usual
单个表达式,评估后得出替换值,或评估后得出替换值的表达式数组。 - aFieldList (Optional)
- 类型:__Usual
要包含的源文件中的字段数组。默认是所有字段。 - cbForBlock (Optional)
- 类型:__Usual
对范围内每条记录进行评估的条件;如果为 TRUE,则包括该记录。它提供与记录处理命令的 FOR 子句相同的功能。 - cbWhileBlock (Optional)
- 类型:__Usual
从第一条记录开始评估每条记录的条件,直到条件返回 FALSE。它提供与记录处理命令的 WHILE 子句相同的功能。 - uScope (Optional)
- 类型:__Usual
要处理的记录范围,提供与记录处理命令的 ALL、REST 和 NEXT 子句相同的功能。
常量 | 描述 |
---|
DBSCOPEALL | 作用域是表中的所有记录。这是 默认,尽管如果指定 WHILE 条件,作用域将变为 DBSCOPEREST。 |
DBSCOPEREST | 作用域是从当前位置开始的表中剩余的记录。 |
返回值
类型:
Boolean
如果成功则返回 TRUE;否则,返回 FALSE(尽管某些记录可能仍已处理)。
备注
如果指定的范围处于活动状态,DBServer:Replace() 在操作之前发送 NotifyIntentToMove 消息。
无论成功与否,完成后都会发送 NotifyFileChange 消息。
如果未使用范围,则成功完成后,当前记录将是最后一个文件记录,DBServer:EOF 将为 TRUE。
示例
以下示例演示了如何使用 DBServer:Replace() 方法:
1
2oDBEmp:Replace({||Salary+100}, #Salary, {||Sex="F"})
3
4
5
6oDBEmp:Replace({"GRADE-20", "100", "NewDate"}, {#Grade, #Raise, #RaiseDate}, {|| NewAssignment(EmpNo) = Proj20})
7
8oDBEmp:Replace(0,#CreditStatus)
参见