在打开RecordSet对象之前需要先设置CursorType属性来选择游标类型,或使用 Open方法传递CursorType参数.部分提供者不支持所有游标类型.如果没有指定游标类型,Ado将默认打开仅向前游标.
仅向前游标: 除仅允许在记录在案中向前流动之外,其行为类似表态游标.这样,当需要在RecordSet中单程移动时就可以提高性能.同时它也只支持MoveNext方法了,而不能使用MovePrevious,MoveLast..
但是很多时候,我们需要导航数据集,即我想点击一个按键来实现访问上一条,或者最后一条,那应该怎么办?
改变游标类型.请看如下代码:
cn.ConnectionString = strcn
cn.CursorLocation = adUseServer
cn.Open
strsql = "select * from 学生表"
rs.ActiveConnection = cn
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
' Set rs = cn.Execute(strsql)
rs.ActiveConnection = cn
rs.Open strsql
很明显此时的rs是支持上一条,下一条,最后一条,首条访问的.我想如果写成Set rs = cn.Execute(strsql),就可以已经默认rs 返回的就是个仅向前的游标类型.故不能这样写.
仅向前游标: 除仅允许在记录在案中向前流动之外,其行为类似表态游标.这样,当需要在RecordSet中单程移动时就可以提高性能.同时它也只支持MoveNext方法了,而不能使用MovePrevious,MoveLast..
但是很多时候,我们需要导航数据集,即我想点击一个按键来实现访问上一条,或者最后一条,那应该怎么办?
改变游标类型.请看如下代码:
cn.ConnectionString = strcn
cn.CursorLocation = adUseServer
cn.Open
strsql = "select * from 学生表"
rs.ActiveConnection = cn
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
' Set rs = cn.Execute(strsql)
rs.ActiveConnection = cn
rs.Open strsql很明显此时的rs是支持上一条,下一条,最后一条,首条访问的.我想如果写成Set rs = cn.Execute(strsql),就可以已经默认rs 返回的就是个仅向前的游标类型.故不能这样写.
本文介绍了在使用ADO进行数据库操作时如何通过设置不同的游标类型来实现数据集的灵活导航。详细解释了仅向前游标的特点及应用场景,并通过示例代码展示了如何设置动态游标以支持上一条、下一条等导航功能。
66

被折叠的 条评论
为什么被折叠?



