有点迷糊,有的地方讲游标,这个查询记录集有什么区别呢,还有地方说到书签,不知道这是指什么概念

解决方案 »

  1.   

    http://www.yesky.com/imagesnew/software/ado/index.html
      

  2.   

    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   rs.open sql,conn,1,1 读取记录 select   rs.open sql,conn,1,3 只更新记录最好 update   rs.open sql,conn,2,3 插入和删除最好 insert delete
      

  3.   

    其实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   rs.open sql,conn,1,1 读取记录 select   rs.open sql,conn,1,3 只更新记录最好 update   rs.open sql,conn,2,3 插入和删除最好 insert delete
      

  4.   

    楼上的说的不错,我也看了不少资料介绍的差不多,但还是有点不怎么理解的地方,分别是
    CursorType
    0,和1,2,3所讲述的不是一类内容,0讲的是否能前后移动,1,2,3没说明是否前后能移动的问题,而是说其他用户对记录的更改怎样影响当前记录,这是疑问之一
    第二,对于几种方式疑问
    =0这个比较好理解
    =1其他用户所作的记录修改反映到记录集中,这个有点不能理解,按我理解,查询后的记录是固定的,别人对数据表的更改记录对于已经查询后得到的记录结果又影响吗?
    =2,同样的疑问
    =3,我认为应该就是这样的