共用方式為


JetGotoSecondaryIndexBookmark 函式

適用于: Windows |Windows Server

JetGotoSecondaryIndexBookmark 函式

JetGotoSecondaryIndexBookmark函式會將游標定位至與指定次要索引書簽相關聯的索引項目目。 次要索引書簽必須與原本擷取其來源相同資料表的相同索引搭配使用。 您可以使用 JetGotoSecondaryIndexBookmark來擷取索引項目目的次要索引書簽。

Windows XP:JetGotoSecondaryIndexBookmark 是在 Windows XP 中引進。

    JET_ERR JET_API JetGotoSecondaryIndexBookmark(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          void* pvSecondaryKey,
      __in          unsigned long cbSecondaryKey,
      __in_opt      void* pvPrimaryBookmark,
      __in          unsigned long cbPrimaryBookmark,
      __in          const JET_GRBIT grbit
    );

參數

sesid

要用於這個呼叫的會話。

tableid

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

pvSecondaryKey

緩衝區,包含用來定位游標的次要索引鍵。

cbSecondaryKey

緩衝區中次要金鑰的大小。

pvPrimaryBookmark

緩衝區,其中包含用來定位游標的主鍵書簽。

cbPrimaryBookmark

緩衝區中主鍵書簽的大小。

grbit

指定下列零個或多個選項的位群組。

意義

JET_bitBookmarkPermitVirtualCurrency

如果無法再找到索引項目目,資料指標將會留在先前找到該索引項目目的位置。 作業仍會失敗,並JET_errRecordDeleted;不過,您可以移至下一個或先前的索引項目目,相對於目前遺漏的索引項目目。

傳回值

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

傳回碼

Description

JET_errSuccess

作業已成功完成。

JET_errClientRequestToStopJetService

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

JET_errInstanceUnavailable

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

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

JET_errInvalidBookmark

提供的次要索引書簽無效。 發生此錯誤的原因可能是次要索引鍵為零,或次要索引鍵緩衝區指標為 Null。 發生此錯誤的原因是

  • 目前的次要索引沒有唯一性條件約束,而且提供書簽的大小為零。

  • 書簽緩衝區指標為 Null

JET_errNoCurrentIndex

資料指標目前不在次要索引上。 當游標目前未使用次要索引時,移至次要索引書簽並不有意義。 當游標不在次要索引上時,應該使用JetGotoBookmark

JET_errNotInitialized

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

JET_errRecordDeleted

找不到與次要索引書簽相關聯的索引項目目。

JET_errRestoreInProgress

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

JET_errSessionSharingViolation

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

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

JET_errTermInProgress

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

如果此函式成功,資料指標將會放在與指定次要索引書簽相關聯的索引項目目。 如果記錄已準備好進行更新,將會取消該更新。 如果索引範圍生效,則會取消該索引範圍。 如果已建構搜尋索引鍵以供資料指標使用,則會刪除該搜尋索引鍵。 不會變更資料庫狀態。

如果此函式失敗,除非傳回JET_errRecordDeleted並指定JET_bitBookmarkPermitVirtualCurrency,否則資料指標的位置會保持不變。 在此情況下,資料指標將位於與指定次要索引書簽相關聯的索引項目目所在的位置。 游標可以相對於該位置移動,但仍不在有效的索引項目目上。

如果記錄已準備好進行更新,將會取消該更新。 如果索引範圍生效,則會取消該索引範圍。 如果已建構搜尋索引鍵以供資料指標使用,則會刪除該搜尋索引鍵。 在任何情況下,都不會變更資料庫狀態。

規格需求

需求

用戶端

需要 Windows Vista 或 Windows XP。

Server

需要 Windows Server 2008 或 Windows Server 2003。

標頭

在 Esent.h 中宣告。

程式庫

使用 ESENT.lib。

Dll

需要ESENT.dll。

另請參閱

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService