*************************************************************************
AdOpenForwardOnly 仅向前游标,默认值。
除了只能在记录中向前滚动外,与静态游标相同。
当只需要在记录集中单向移动时,使用它可提高性能。
AdOpenKeyset 键集游标。
尽管从您的记录集不能访问其他用户删除的记录,
但除无法查看其他用户添加的记录外,键集游标与动态游标相似。
仍然可以看见其他用户更改的数据。
AdOpenDynamic 动态游标。
可以看见其他用户所作的添加、更改和删除。
允许在记录集中进行所有类型的移动,但不包括提供者不支持的书签操作。
AdOpenStatic 静态游标。
可以用来查找数据或生成报告的记录集合的静态副本。
另外,对其他用户所作的添加、更改或删除不可见。
****************************************************************************以上为ADO中对“游标”类型的详细解释。可是不知是原作者写的太术语化,还是译者搞的太诲涩,当然,也可能是我的问题。
反正,我看好几遍就是看不太懂,它说的是什么意思。------------------------------------------------除了第一个,仅向前游标,按照我的理解就是,只能朝着一个方向移动游标。
举个例子来说:也就是,只能调用 rs.MoveNext 方法。 后面这几种游标,我都还不太明白。大侠们能不能给予解释一下?例如,上面多次提到:“其他用户” 是怎么回事儿? 一个Recordset对像,返回N行数据。
莫非这N行数据里还分别标识了哪些是自已的数据,哪些是其他用户的数据??
总之,如果对游标类型有着深刻理解的大侠们,请你用自已的话,用让咱能听明白的大白话给咱讲讲
---------------------------------------------------
AdOpenForwardOnly 仅向前游标,默认值。
除了只能在记录中向前滚动外,与静态游标相同。
当只需要在记录集中单向移动时,使用它可提高性能。
AdOpenKeyset 键集游标。
尽管从您的记录集不能访问其他用户删除的记录,
但除无法查看其他用户添加的记录外,键集游标与动态游标相似。
仍然可以看见其他用户更改的数据。
AdOpenDynamic 动态游标。
可以看见其他用户所作的添加、更改和删除。
允许在记录集中进行所有类型的移动,但不包括提供者不支持的书签操作。
AdOpenStatic 静态游标。
可以用来查找数据或生成报告的记录集合的静态副本。
另外,对其他用户所作的添加、更改或删除不可见。
****************************************************************************以上为ADO中对“游标”类型的详细解释。可是不知是原作者写的太术语化,还是译者搞的太诲涩,当然,也可能是我的问题。
反正,我看好几遍就是看不太懂,它说的是什么意思。------------------------------------------------除了第一个,仅向前游标,按照我的理解就是,只能朝着一个方向移动游标。
举个例子来说:也就是,只能调用 rs.MoveNext 方法。 后面这几种游标,我都还不太明白。大侠们能不能给予解释一下?例如,上面多次提到:“其他用户” 是怎么回事儿? 一个Recordset对像,返回N行数据。
莫非这N行数据里还分别标识了哪些是自已的数据,哪些是其他用户的数据??
总之,如果对游标类型有着深刻理解的大侠们,请你用自已的话,用让咱能听明白的大白话给咱讲讲
---------------------------------------------------
比如你用rs1使用AdOpenStatic打开表a,然后用rs2打开表a并删除其中第1条数据,此时在rs1中第一条数据仍然可以访问,应为AdOpenStatic的定义是“对其他用户所作的添加、更改或删除不可见”另外当Recordset的CursorLocation是adUseClient时,对CursorType的任何设置都等同于adOpenStatic
只有当CursorLocation为adUseServer时其他3项才可用
如何正确合理的使用上面的参数呢!!
提高数据库的访问速度!!
多用户环境需要考虑并发行,而且修改数据时要注意冲突检测一般遍历纪录集用AdOpenForwardOnly,使用内存最少
如果要多次操作纪录集用AdOpenStatic,他一次提取所有数据到内存中,数据量对性能影响很大
如果对数据变化比较敏感就使用AdOpenKeyset和AdOpenDynamicAdOpenStatic使用adUseClient,提取数据后就不再需要数据库连接了
AdOpenForwardOnly、AdOpenKeyset、AdOpenDynamic使用adUseServer,整个操作过程中都必须保持数据库连接打开,影响并发性具体问题具体分析:)