不知道你的记录集返回值是不是设置了向前属性的
如在ADO中,设置了如下属性以后,游标就是只能向前,而不能向后的:CursorType 属性
      指示在 Recordset 对象中使用的游标类型。设置和返回值设置或返回以下某个 CursorTypeEnum 值。常量 说明 
AdOpenForwardOnly 仅向前游标,默认值。除了只能在记录中向前滚动外,与静态游标相同。当只需要在记录集中单向移动时,使用它可提高性能。
^^^^^^^^^^^^^是不是类似于此呢?
 
AdOpenKeyset 键集游标。尽管从您的记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似。仍然可以看见其他用户更改的数据。 
AdOpenDynamic 动态游标。可以看见其他用户所作的添加、更改和删除。允许在记录集中进行所有类型的移动,但不包括提供者不支持的书签操作。 
AdOpenStatic 静态游标。可以用来查找数据或生成报告的记录集合的静态副本。另外,对其他用户所作的添加、更改或删除不可见。 
说明使用 CursorType 属性可指定打开 Recordset 对象时应该使用的游标类型。Recordset 关闭时 CursorType 属性为读/写,而 Recordset 打开时该属性为只读。如果将 CursorLocation 属性设置为 adUseClient 则只支持 adUseStatic 的设置。如果设置了不支持的值,不会导致错误,将使用最接近支持的 CursorType。如果提供者不支持所请求的游标类型,提供者可能会返回其他游标类型。打开 Recordset 对象时,将更改 CursorType 属性使之与实际使用的游标匹配。要验证返回游标的指定功能,请使用 Supports 方法。关闭 Recordset 后,CursorType 属性将恢复为最初的设置。下表说明每个游标类型所需的提供者功能(由 Supports 方法常量标识)。 对于该 CursorType 的某Recordset  对于所有这些常量, Supports 方法必须返回 True 
AdOpenForwardOnly 无 
AdOpenKeyset AdBook、adHoldRecords、adMovePrevious、adResync 
AdOpenDynamic adMovePrevious 
AdOpenStatic adBook, adHoldRecords, adMovePrevious, adResync 
注意   尽管对于动态游标和仅向前游标 Supports(adUpdateBatch) 可能是真,但对于批处理更新应使用键集游标或静态游标。请将 LockType 属性设置为 adLockBatchOptimistic,然后将 CursorLocation 属性设置为 adUseClient 以启用批更新需要的 OLE DB 游标服务。远程数据服务用法   当用于客户端 (ADOR) Recordset 对象时,只能将 CursorType 属性设置为 adOpenStatic。