CRecordset::SetRowsetCursorPosition

void SetRowsetCursorPosition( WORD wRow, WORD wLockType = SQL_LOCK_NO_CHANGE );

参数:
wRow当前记录集中一行的从1开始的位置。这个值的范围可以是从1到此行集的大小之间。
wLockType一个值,指定在行被刷新之后如何对它加锁。有关的细节,参见说明部分。

说明:
此成员函数用来将游标移动到当前行集中的一行。当实现成组行检取时,通过行集来获取记录,在所获取的行集中的第一个记录就是当前记录。为了使行集中的另一个记录成为当前记录,可以调用SetRowsetCursorPosition。例如,你可以联合SetRowsetCursorPosition和GetFieldValue成员函数来动态地获取你的记录集中的任何记录的数据。
要使用SetRowset Cursor Position,你必须在Open成员函数的dwOptions参数中指明CRecordset::useMultiRowFetch 选项,从而实现多行块存取操作。
SetRowsetCursorPosition调用ODBC API函数SQLSetPos。wLockType参数指定了在执行SQLSetPos之后该行的加锁状态。下面的表格描述了wLockType的可能取值。
WlockType描述
SQL_LOCK_NO_CHANGE(缺省值)驱动器和数据源保证该行的加锁或解锁状态与调用RefreshRowset之前一致
SQL_LOCK_EXCLUSIVE驱动器或数据源各自独立的加锁该行。不是所有的数据源都支持这种加锁类型
SQL_LOCK_UNLOCK驱动器或数据源解锁此行。不是所有的数据源都支持这种加锁类型
有关SQLSetPos的更多信息,请参见“ODBC SDK程序员参考”。

请参阅:
CRecordset::RefreshRowset, CRecordset::SetRowsetSize