ASP打开数据库的锁定类型和游标类型
<p><ahref="http://www.wangchao.info/wp-content/uploads/2015/03/asp.png"></a></p><p>RecordSet中的open完全的语法是:<br>
SecordSet.Open Source,ActiveConnection,CursorType,LockType,Options</p>
<p>例如: rs.open sql,conn,1,3<br>
CursorType是<br>
adOpenForwardOnly 0 默认游标类型, 为打开向前游标, 只能在记录集中向前移动.<br>
adOpenKeyset 1 打开键集类型的游标, 可以在记录集中向前或向后移动. 如果其他用户修改或删除了一条记录, 记录集中将反映这个变化. 但是, 如果其他用户添加了一条新记录, 新记录不会出现在记录集中.<br>
AdOpenDynamic 2 打开动态游标, 可以在记录集中向前或向后移动. 其他用记造成的记录的任何变化都将在记录集中有所反映.<br>
adOpenStatic 3 打开静态游标, 可以在记录集中向前或向后移动. 但是, 静态游标不会对其他用户造成的记录变化有所反映.<br>
LockType是<br>
adLockReadOnly 1 只读锁定, 指定不能修改记录集中的记录.<br>
adLockPrssimistic 2 保护式锁定, 指在编辑一个记录时, 立即锁定它.<br>
adLockOptimistic 3 开放式锁定, 指定只有调用记录集的 Update() 方法时才能锁定记录,而在此前的其他操作仍可对当前记录进行更改、插入和删除等<br>
adLockBatchOptimistic 4 开放式批锁定, 指定记录只能成批地更新.<br>
最常用的两种方法:<br>
rs.open sql,conn,1,1 ‘读取显示数据时用,只读<br>
rs.open sql,conn,1,3 ‘更新或插入数据时用,读写<br>
—————————————————————————————–</p>
<p>参考:<br>
RS.OPEN SQL,CONN,A,B<br>
参数A为设定游标的类型,其取值为:<br>
0 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark<br>
1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark<br>
2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。<br>
3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动</p>
<p>参数B为记录集的锁定类型,其取值为:<br>
1 锁定类型,默认的,只读,不能作任何修改<br>
2 当编辑时立即锁定记录,最安全的方式<br>
3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等<br>
4 当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的</p>
<p>打开数据记录集方法其实不止一种,但是我们用的最多的就是<br>
rs.open sql,1,1的方法,可是后面的数字参数很多人不解其意,下面我们来介绍一下。<br>
其实open方法后面有多个参数<br>
CursorType LockType CommandType<br>
比如 rs.open sql,1,1<br>
也可以写成<br>
rs.cursorType = 1<br>
rs.LockType = 1<br>
rs.open sql<br>
其中CursorType代表从一个表或者一个SQL查询结果返回的记录。<br>
这个参数有四个值分别是:<br>
adOpenForwardOnly 表示只允许在记录集内的记录间往前移动。这个是缺省值。<br>
adOpenKeyset 反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。<br>
adOpenDynamic 反映由其它用户所做的对记录的改变或者删除动作,包括添加的新记录<br>
adOpenStatic 不反映其它用户对记录所做的修改,添加,删除动作。<br>
这四个值VBSCRIPT预定义位<br>
adOpenForwardOnly = 0<br>
adOpenKeyset = 1<br>
adOpenDynamic = 2<br>
adOpenStatic = 3</p>
<p>lockType 表示当打开记录集时,数据提供者用于锁定数据库的类型:<br>
adLockReadOnly 数据不能改变,这是缺省值!<br>
adLockPessimistic 数据提供者在开始编辑数据的时候锁定记录<br>
adLockOptimistic 仅当调用update方法时,数据提供者锁定记录<br>
adLockBatchOptimistic 用于批处理修改<br>
他们的常量值定义分别是:<br>
adLockReadOnly = 1<br>
adLockPessimistic = 2<br>
adLockOptimistic = 3<br>
adLockBatchOptimistic = 4</p>
<p class="post-copyright">未经允许不得转载:<ahref="https://www.wangchao.info/">王超博客</a> » <ahref="https://www.wangchao.info/300.html">ASP打开数据库的锁定类型和游标类型</a></p>
页:
[1]