DbServer.ConcurrencyControl 属性 | |
一个常量,标识此数据服务的自动并发控制模式,确定何时以及如何锁定和释放记录:
命名空间:
VO
程序集:
VORDDClasses (在 VORDDClasses.dll 中) 版本:2.22 GA
语法 VIRTUAL PROPERTY ConcurrencyControl AS USUAL GET SET
public override __Usual ConcurrencyControl { get; set; }
查看代码属性值
类型:
__Usual一个常量,标识此数据服务的自动并发控制模式,确定何时以及如何锁定和释放记录:
备注
以下常量之一,标识此数据服务的自动并发控制模式,确定何时以及如何锁定和释放记录:
常量 | 描述 |
---|
CCNONE | 数据服务不提供自动记录锁定;应用程序需要显式进行所有锁定。 |
CCOPTIMISTIC |
除了追加时,记录刚刚追加时会被锁定,
并且只有在移出记录或显式调用 DataServer 或 DBServer Unlock()方法时才会释放锁定。
对于所有其他记录,在进行任何更新之前,记录会从磁盘重新读取。这是默认设置。
|
CCSTABLE | 窗口所在的记录始终保持锁定。请注意,当处于浏览视图时,光标所在的行表示当前记录。 |
CCREPEATABLE | 所有已读取的记录都保持锁定。用户可以保证在返回先前查看的数据时,它们未被更改。 |
CCFILE |
服务提供的整个记录集中的所有记录在整个过程中都被锁定。
这对于与服务的所有记录关联的窗口来说并不实用,因为这相当于文件锁定。
它旨在与方法 DBServer:SetSelectiveRelation() 一起使用。
|
示例
此示例设置 Sales:Init() 方法以接受服务的打开模式作为参数。
然后,使用 CCNONE 打开 oDBSales 服务,指示使用此服务的任何应用程序必须提供显式锁定的代码:
1CLASS Sales INHERIT DBServer
2...
3METHOD Init(kOpenMode) CLASS Sales
4...
5SELF:ConcurrencyControl := kOpenMode
6FUNCTION CreateSales()
7LOCAL oDBSales AS Sales
8oDBSales := Sales{CCNONE}
9...
参见