天天看点

关于SQLServer的游标类型、锁定类型

游标类型、锁定类型

adOpenStatic := 3

adLockOptimistic := 3

首先定义两个常量——adOpenStatic 和 adLockOptimistic,设置它们的值为 3。adOpenStatic 用来设置记录集的游标类型,目前只需要知道它决定了我们可以如何在记录集中移动以及记录集是否响应数据库的实时更新(即假设当您从数据库中获取信息时别人添加新的记录到数据库中,那个记录是否动态显示到您的记录集中或者需要重新查询才能获取更新的信息)。adOpenStatic 游标能让您在记录集中前后移动,但不会自动获取数据库中的更新。这样有助于减少处理时间和缓解网络通信,因为一旦获取了记录集脚本就不需要持续监视数据库的更新。

下表中列出了游标类型常量、相应的值及说明:

仅向前游标 adOpenForwardOnly 0 仅允许在记录集中向前移动。无法查找个别记录、无法返回记录集中的记录数,且无法查看到记录集中所有的变化。

键集游标 adOpenKeyset 1 允许在记录集中前后移动、支持使用 Find 查找记录、可以返回记录数。能查看到现有记录的动态变化,但无法看到新添加的记录。

动态游标 adOpenDynamic 2 允许在记录集中前后移动、支持使用 Find 查找记录、可以返回记录数,并且能查看到记录集中所有的变化。

静态游标 adOpenStatic 3 允许在记录集中前后移动、支持使用 Find 查找记录、可以返回记录数,但无法查看到记录集中所有的变化。当打开客户端记录集时,只允许使用这种游标类型。

注:并非所有的提供者都支持记录集的所有方法和属性。对于个人文件或其他不需要关心数据更新的情况,一般使用静态游标。

另一个常量 adLockOptimistic 用来设置记录的锁定类型。锁定类型决定了数据库是否及如何锁定当前查看的记录,以及提供修改这个记录的独占权利。下表中列出了锁定类型常量、相应的值及说明:

Read Only adLockReadOnly 1 不锁定记录集来释放系统资源,不过这也导致记录集是只读的。

Pessimistic adLockPessimistic 2 从开始编辑时锁定记录,一直到调用 Update 方法后解锁。

Optimistic adLockOptimistic 3 仅在调用 Update 方法时临时锁定记录。

Batch adLockOptimisticBatch 4 用于批次更新。