delphi 的 LockType 锁类型
LockType 锁类型
常数 值 说明
adLockReadOnly 1 只读(默认)
adLockPessimistic 2 悲观锁
adLockOptimistic 3 乐观锁
adLockBatchOptimistic 4 乐观批更新
为了实现多个用户同时对同一信息的访问,就出现了锁技术.通常设为只读时,多个用户的访问就毫无问题.
如果一个用户或多个用户要编辑数据,当多个用户同时对同一记录进行改动时,就需要一种锁类型来存储改动.锁暂时的限制了对记录的访问.当记录加上锁后,某一时刻就只有一个用户可以访问那条记录,其他用户必须等到锁解除后才能访问.
"悲观"和"乐观"是锁的两种基本类型.设为乐观锁时,多个用户可以同时访问和编辑数据.设为悲观锁时,如果一个用户首先进行编辑记录,那么其他用户就看不到数据,甚至数据提供者也不能看数据,其他用户编辑记录的时间就要延迟,直至第一个用户操作完毕为止.
adLockBatchOptimisitc只能和游标类型adOpenkeyset一起使用,使用时不会立即把更新过的记录写入数据源中,而是把对许多记录的改动先放在客户端中,然后把更新过的记录一齐写入数据源中,或者一齐取消掉.
CursorType 游标类型
记录集内游标类型的移动只限于以下两种:
adOpenForwordOnly:一次只能向前移动一行.
adOpenKeyset、adOpenDynamic和adOpenStatic:可以移动到记录集的任何位置.
记录集的添加、更改和删除:
A.adOpenForwardOnly和adOpenStatic:这两种游标类型不允许进行添加、更改和删除操作。
它们表示创建记录集时数据的一个快照。用户对数据的操作不会反映到数据源中.adOpenStatict比adOpenForwardOnly具有更大的灵活性,因为前者允许向任意方向移动。
B.adOpenKeyset:它允许向各个方向移动,还允许更改记录集.使用adOpenKeyset的记录集可以识别所有数据源的记录,也就是用户能看到其他人更改的记录.但是其他人删除或添加
的记录并不能反映出来.
C.adOpenDynamic:使用adOpenDynamic的记录集允许所有的操作,其他人所作的添加、更改
和删除的记录都能被用户看到.
adOpenKeyset要求创建的记录对于记录集中的每条记录都要有唯一的关键字。
delphi 的 LockType 锁类型的更多相关文章
- C++:CursorType光标类型 和 LockType锁定类型
简要: CursorType光标类型: 1. AdOpenForwardOnly (默认值)一次只能向前移动一行. 2. AdOpenKeyset 打开键集类型游标. 3. AdO ...
- Delphi TcxTreeList 读取 TcxImageComboBoxItem类型的值
Delphi TcxTreeList 读取 TcxImageComboBoxItem类型的值: Node.Values[wiNodeLevel.ItemIndex]://值 Node.Texts[ ...
- Oracle数据库的锁类型
Oracle数据库的锁类型 博客分类: oracle Oracle数据库的锁类型 根据保护的对象不同,Oracle数据库锁可以分为以下几大类:DML锁(data locks,数据锁),用于保护 ...
- SQL Server锁类型
SQL Server锁类型(SQL)收藏 1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁. 2. NOLOCK:不添加共享锁和排它锁,当这个选项生 ...
- c#数据库事务锁类型
一.脏读.不可重复读.幻象读的区别 1.脏读:包含未提交数据的读取.例如,事务 a 更改了某行(数据库已发生更改,但尚未提交,有可能发生回滚),事务 b 在事务 a 提交更改之前读取已更改的行.如 ...
- java锁类型
转载链接在每个锁类型后边 线程锁类型 1.自旋锁 ,自旋,jvm默认是10次吧,有jvm自己控制.for去争取锁 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchroni ...
- sql 锁类型与锁机制 转
SQL Server锁类型(SQL)收藏1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁. 2. NOLOCK:不添加共享锁和排它锁,当这个 ...
- sql 锁类型与锁机制
SQL Server锁类型(SQL)收藏1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁. 2. NOLOCK:不添加共享锁和排它锁,当这个选项 ...
- 关于MySQL的TinyInt数据类型在Delphi中作为Boolean类型的一个要注意的问题
关于MySQL的TinyInt数据类型在Delphi中作为Boolean类型的一个要注意的问题: 在定义TinyInt类型字段时,若要作为Delphi中作为Boolean类型,则该字段的长度必须为1!
随机推荐
- 1002-过河卒-洛谷-luogu-动态规划dp
题目描述 棋盘上AA点有一个过河卒,需要走到目标BB点.卒行走的规则:可以向下.或者向右.同时在棋盘上CC点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为“马拦过河卒 ...
- dijkstra P4779 【模板】单源最短路径(标准版) 洛谷luogu
题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路. 然后呢? 100→60 Ag→Cu 最终,他因此没能与理想的大 ...
- matlab的conv2、imfilter、filter2
1 conv2函数 C=conv2(A,B,shape); %卷积滤波 参数说明: A:输入图像 B:卷积核 shape的可选值为full.same.valid. 1)当shape=full时,返回全 ...
- nginx反向代理导致请求header头信息丢失
背景:前端与后端调试接口,后端拿不到前段发过去的请求头信息,导致接口不通.(但是在本地是可以拿到的) 原因:nginx做了反向代理,没有请求时候加头信息的配置 报错如下: 解决方法: 方法一:NGIN ...
- AI 支持向量机
支持向量机(Support Vector Machine,简称SVM),属于监督学习. 核技巧(kernel trick) 名字很吓人,乍一听完全不懂什么意思,但其实它的名字是很有意义的. 1)首先, ...
- 【Codeforces 499D】Name That Tune
Codeforces 499 D 题意:给\(n\)个曲子,每个曲子每一秒有\(p_i\)的几率可以被猜出来,过了\(t_i\)秒肯定能被猜出来,猜完第\(i\)首歌立即播第\(i+1\)首,问\(T ...
- MySQL(十四)管理维护及性能优化
关于MySQL的学习,<MySQL必知必会>这本书呢,看完已经两个月了,一直被工作以及生活的一些琐事拖着,趁着今晚有空闲,就整理完了最后的几章学习笔记,接下来的学习计划呢, 应该是pyth ...
- 更换apt-get官方源为163源
更换apt-get官方源为163源 1.# mv /etc/apt/sources.list /etc/apt/sources.list.bak 2.覆盖原来源文件 tee /etc/apt/sour ...
- Skyline中的GDAL
安装Skyline的TerraExplorer Pro软件后,我们很容易在其安装目录中找到这样一些文件: gdal.dll.gdal_csharp.dll.ogr_csharp.dll.osr_csh ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装:kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)kvm虚拟化管理平台WebVirtMgr部署-完 ...