rs.open Source, ActiveConnection, CursorType, LockType, Options
一共有五个参数
Source: SQL语句或存储过程等
ActiveConnection: 数据库连接对象
CursorType: 记录集的游标类型
LockType: 记录集的锁定类型
Options: 指示如何计算 Source 参数
CursorType 如下四个值:
AdOpenForwardOnly (0) (默认值)打开仅向前类型游标。 rs.MovePrevious 不起作用。
AdOpenKeyset (1) 打开键集类型游标。可自由移动。
AdOpenDynamic (2) 打开动态类型游标。可自由移动。
AdOpenStatic (3) 打开静态类型游标。可自由移动。
AdOpenKeyset 键集类型游标
如果同时有其他用户修改或删除了记录集中的一条记录, 记录集将反映这个变化,但是, 如果其他用户添加了一条新记录, 新记录不会出现在记录集中。
AdOpenDynamic 动态类型游标
其他用户造成的记录的任何变化都将在记录集中有所反映。
AdOpenStatic 静态类型游标
只是数据的一个快照,用户对记录所做的修改,增加或删除都不会反映到记录集中。
LockType 如下四个值:
AdLockReadOnly (1)(默认值)只读。不能改变数据。
AdLockPessimistic (3) 悲观锁定。 编辑一开始,则立即锁住记录。
AdLockOptimistic (3) 乐观锁定。 用 Update 方法提交更新记录时才锁定记录。
AdLockBatchOptimistic (4) 批量乐观锁定。允许修改多个记录,只有调用 UpdateBatch 方法后才锁定记录。
Options 如下:
adCmdText: 将 Source 作为命令的文本定义来计算。
adCmdStoredProc: 将 Source 视为存储过程。
这个参数不常用。
常用的有
rs.Open sql, conn, 1, 1
键集类型游标,只读
记录集可自由移动,但不能修改。
rs.Open sql, conn, 1, 3
键集类型游标,乐观锁定
记录集可自由移动,可以修改,只在 Update 只锁定当前记录。
记录集对象的方法:
rs.MoveNext 将记录指针从当前的位置向下移一行
rs.MovePrevious 将记录指针从当前的位置向上移一行
rs.MoveFirst 将记录指针移到数据表第一行
rs.MoveLast 将记录指针移到数据表最后一行
rs.AbsolutePosition = N 将记录指针移到数据表第N行
rs.AbsolutePage = N 将记录指针移到第N页的第一行
rs.PageSize = N 设置每页为N条记录
rs.PageCount 根据 pagesize 的设置返回总页数
rs.RecordCount 返回记录总数
rs.Bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.Eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.Delete 删除当前记录,但记录指针不会向下移动
rs.AddNew 添加记录到数据表末端
rs.Update 更新数据表记录



