共用方式為


JetGotoPosition 函式

適用于: Windows |Windows Server

JetGotoPosition 函式

JetGotoPosition函式會將游標移至新位置,這是透過目前索引的一小部分。 分數大約等於下列專案:

precpos-centriesLT > /precpos-centriesTotal >

當使用者嘗試顯示透過資料集開始部分的資料時,會執行這項作業來回應使用者捲動方塊輸入。

    JET_ERR JET_API JetGotoPosition(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_RECPOS* precpos
    );

參數

sesid

要用於這個呼叫的會話。

tableid

要用於這個呼叫的資料指標。

precpos

在目前索引中定位資料指標時所要使用的分數描述。

傳回值

此函式會傳回具有下列其中一個傳回碼 的 JET_ERR 資料類型。 如需可能 ESE 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤錯誤處理參數

傳回碼

Description

JET_errSuccess

作業已成功完成。

JET_errClientRequestToStopJetService

作業無法完成,因為與會話相關聯的實例上的所有活動都因為 對 JetStopService的呼叫而停止。

JET_errInstanceUnavailable

作業無法完成,因為與會話相關聯的實例發生嚴重錯誤,需要撤銷所有資料的存取權,以保護該資料的完整性。

Windowsxp: 這個傳回值是在 Windows XP 中引進。

JET_errInvalidParameter

指定的 precpos-cbStruct > 不是 JET_RECPOS 結構的有效大小,或 precpos-centriesLT 大於 precpos-centriesTotal >> 。

JET_errNotInitialized

作業無法完成,因為與會話相關聯的實例尚未初始化。

JET_errRecordNotFound

如果索引是空的,則會傳回此錯誤。

JET_errRestoreInProgress

作業無法完成,因為與會話相關聯的實例上正在進行還原作業。

JET_errSessionSharingViolation

同一個會話不能同時用於一個以上的執行緒。

Windowsxp: 這個傳回值是在 Windows XP 中引進。

JET_errTermInProgress

作業無法完成,因為與會話相關聯的實例正在關閉。

如果此函式成功,則游標會移至目前記錄,該記錄是透過索引的分數,其中分數是 precpos-centriesLT 除以 precpos-centriesTotal >> 。

如果此函式失敗,資料指標位置會保持不變。

備註

這項作業會將游標透過資料表移至位於下列近似點的位置:precpos-centriesLT 除以 precpos-centriesTotal >> 。

當資料表上持續發生更新時,具有相同 JET_RECPOS 的後續呼叫可以將游標移至索引中不同位置,前一個位置前後。 交易式隔離不適用於透過 JET_RECPOS 定位,因為它取決於未隔離交易之索引的實體屬性。

JET_RECPOS 不應該用來描述資料表內的記錄,或重新置放接近現有記錄的記錄。 相反地,應該在初始 JetGotoPosition 之後擷取現有記錄的書簽,然後用來重新置放相同的記錄。

規格需求

需求

用戶端

需要 Windows Vista、Windows XP 或 Windows 2000 Professional。

Server

需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

另請參閱

JET_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO