zoukankan      html  css  js  c++  java
  • rs.open sql,conn,1,1全接触

    https://blog.csdn.net/qq_36171618/article/details/79936559

    *==========================================================================*
    rs.open sql,conn,1,1全接触(已修正)
    *==========================================================================*
    经常会在连接DB的时候用到:rs.open sql,conn,A,B

    A:

    adOpenForwardOnly(=0)
    只读,且当前数据记录只能向下移动

    adOpenKeyset(=1)
    只读,当前数据记录可自由移动

    adOpenDynamic(=2)
    可读写,当前数据记录可自由移动

    adOpenStatic(=3)
    可读写,当前数据记录可自由移动,可看到新增记录

    B:

    adLockReadOnly(=1)
    缺省锁定类型,记录集是只读的,不能修改记录

    adLockPessimistic(=2)
    悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

    adLockOptimistic(=3)
    乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

    adLockBatchOptimistic(=4)
    批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

    当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
    对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
    数据在这段时间被更新。这减少了资源的使用。

    *==========================================================================*
    详解rs.open sql,conn,1,1后的数字参数的含义
    *==========================================================================*
    rs.open sql,conn,A,B
    参数A为设定游标的类型,其取值为:
    0 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark
    1 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
    2 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。
    3 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动


    参数B为记录集的锁定类型,其取值为:
    1 锁定类型,默认的,只读,不能作任何修改
    2 当编辑时立即锁定记录,最安全的方式
    3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
    4 当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的

    打开数据记录集方法其实不止一种,但是我们用的最多的就是rs.open sql,1,1的方法,可是后面的数字参数很多人不解其意,下面我们来介绍一下。
    其实open方法后面有多个参数
    CursorType LockType CommandType
    比如 rs.open sql,1,1
    也可以写成
    rs.cursorType = 1
    rs.LockType = 1
    rs.open sql
    其中CursorType代表从一个表或者一个SQL查询结果返回的记录。
    这个参数有四个值分别是:
    adOpenForwardOnly 表示只允许在记录集内的记录间往前移动。这个是缺省值。
    adOpenKeyset 反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。
    adOpenDynamic 反映由其它用户所做的对记录的改变或者删除动作,包括添加的新记录。
    adOpenStatic 不反映其它用户对记录所做的修改,添加,删除动作。
    这四个值VBSCRIPT预定义为:
    adOpenForwardOnly = 0
    adOpenKeyset = 1
    adOpenDynamic = 2
    adOpenStatic = 3

    lockType 表示当打开记录集时,数据提供者用于锁定数据库的类型:
    adLockReadOnly 数据不能改变,这是缺省值!
    adLockPessimistic 数据提供者在开始编辑数据的时候锁定记录。
    adLockOptimistic 仅当调用update方法时,数据提供者锁定记录。
    adLockBatchOptimistic 用于批处理修改。
    他们的常量值定义分别是:
    adLockReadOnly = 1
    adLockPessimistic = 2
    adLockOptimistic = 3
    adLockBatchOptimistic = 4

    CommandType这个参数由于很少用到,这里就不讲了。

  • 相关阅读:
    ArcGIS Engine开发之地图浏览
    ArcGIS Engine开发之地图文档保存
    ArcGIS Engine开发之地图基本操作(4)
    ArcGIS Engine开发之地图基本操作(3)
    ArcGIS Engine开发之地图基本操作(2)
    ArcGIS Engine开发之地图基本操作(1)
    ArcGIS Engine开发前基础知识(4)
    C#读取Excel的三种方式以及比较
    XtraGrid RepositoryItemCheckEdit 显示状态以及单选多选问题
    Dev GridControl数据修改后实时更新数据源
  • 原文地址:https://www.cnblogs.com/xsSystem/p/12071076.html
Copyright © 2011-2022 走看看