JetSeek 函式
適用于: Windows |Windows Server
JetSeek 函式
JetSeek函式有效率地將游標定位到符合該資料指標中搜尋索引鍵所指定的搜尋準則的索引項目目,以及指定的不等。 先前必須使用 JetMakeKey建構搜尋金鑰。
JET_ERR JET_API JetSeek(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_GRBIT grbit
);
參數
sesid
要用於這個呼叫的會話。
tableid
要用於這個呼叫的資料指標。
grbit
一組位,其中包含要用於這個呼叫的選項。 Grbit 必須是非零值,而且必須包含下表所列的一或多個值。
值 |
意義 |
---|---|
JET_bitCheckUniqueness |
如果可以便宜判斷符合搜尋索引鍵的索引項目目,則會傳回特殊的錯誤碼JET_wrnUniqueKey。 除非同時指定JET_bitSeekEQ,否則會忽略此選項。 此選項僅適用于 Windows Server 2003 和更新版本。 |
JET_bitSeekEQ |
資料指標會位於最接近索引鍵開頭的索引項目目上,而該索引鍵完全符合搜尋索引鍵。 索引的開頭是移至該索引中第一筆記錄時所找到的索引項目目。 索引的開頭與索引的低端不同,這會根據索引中索引鍵資料行的排序次序而變更。 使用萬用字元選項使用 JetMakeKey 所建構的搜尋索引鍵並無意義。 |
JET_bitSeekGE |
資料指標會放在最接近索引開頭的索引項目目,且索引項目目大於或等於完全符合搜尋準則的索引項目目。 索引的開頭是移至該索引中第一筆記錄時所找到的索引項目目。 索引的開頭與索引的低端不同,這會根據索引中索引鍵資料行的排序次序而變更。 使用 JetMakeKey 所建構的搜尋索引鍵,使用萬用字元選項尋找最接近索引結尾的索引項目目並不有意義。 |
JET_bitSeekGT |
資料指標會位於最接近索引開頭的索引項目目,而該索引項目目大於完全符合搜尋準則的索引項目目。 索引的開頭是移至該索引中第一筆記錄時所找到的索引項目目。 索引的開頭與索引的低端不同,這會根據索引中索引鍵資料行的排序次序而變更。 搭配使用 JetMakeKey 所建構的搜尋索引鍵,使用萬用字元選項尋找最接近索引開頭的索引項目目並不有意義。 |
JET_bitSeekLE |
資料指標會放在最接近索引結尾的索引項目目位置,該索引項目目小於或等於完全符合搜尋準則的索引項目目。 索引的結尾是移至該索引中最後一筆記錄時所找到的索引項目目。 索引的結尾與索引的高階不同,其可能會根據索引中索引鍵資料行的排序次序而變更。 搭配使用 JetMakeKey 所建構的搜尋索引鍵,使用萬用字元選項尋找最接近索引開頭的索引項目目並不有意義。 |
JET_bitSeekLT |
資料指標會位於最接近索引結尾的索引項目目,而索引項目目小於完全符合搜尋準則的索引項目目。 索引的結尾是移至該索引中最後一筆記錄時所找到的索引項目目。 索引的結尾與索引的高階不同,其可能會根據索引中索引鍵資料行的排序次序而變更。 使用 JetMakeKey 所建構的搜尋索引鍵,使用萬用字元選項尋找最接近索引結尾的索引項目目並不有意義。 |
JET_bitSetIndexRange |
系統會針對完全符合搜尋索引鍵的所有索引鍵自動設定索引範圍。 產生的索引範圍與使用 JET_bitRangeInclusive 和 JET_bitRangeUpperLimit 選項呼叫 JetSetIndexRange 所建立的索引範圍相同。 如需詳細資訊 ,請參閱 JetSetIndexRange 。 這是一個方便的方法,可用來探索符合相同搜尋準則的所有索引項目目。 除非同時指定JET_bitSeekEQ,否則會忽略此選項。 |
傳回值
此函式允許傳回此 API 中定義的任何 JET_ERRs 。 如需 Jet 錯誤的詳細資訊,請參閱 可延伸儲存引擎錯誤 和 錯誤處理參數。
傳回碼 |
Description |
---|---|
JET_errSuccess |
作業已成功完成。 針對 JetSeek,這表示找到完全符合搜尋準則的索引項目目。 |
JET_errClientRequestToStopJetService |
因為與會話相關聯的實例上的所有活動因為對 JetStopService的呼叫而停止,所以無法完成作業。 |
JET_errInstanceUnavailable |
無法完成作業,因為與會話相關聯的實例發生嚴重錯誤,要求撤銷所有資料的存取權以保護該資料的完整性。 此錯誤只會由 Windows XP 和更新版本傳回。 |
JET_errKeyNotMade |
資料指標目前沒有搜尋索引鍵。 JetSeek 要求游標具有有效的搜尋索引鍵,因為它會針對用來尋找索引項目目的搜尋準則使用該索引鍵。 |
JET_errNotInitialized |
無法完成作業,因為與會話相關聯的實例尚未初始化。 |
JET_errRecordNotFound |
找不到符合搜尋準則的索引項目目。 |
JET_errRestoreInProgress |
因為與會話相關聯的實例上正在進行還原作業,所以無法完成作業。 |
JET_wrnSeekNotEqual |
找到符合搜尋準則的索引項目目。 不過,該索引項目目不是完全相符的專案。 |
JET_errSessionSharingViolation |
同一個會話不能同時用於多個執行緒。 此錯誤只會由 Windows XP 和更新版本傳回。 |
JET_errTermInProgress |
因為與會話相關聯的實例正在關閉,所以無法完成作業。 |
JET_wrnUniqueKey |
找到完全符合搜尋準則的一個索引項目目。 只有在指定JET_bitSeekCheckUniqueness,而且判斷相符的索引項目目是唯一符合搜尋準則的索引項目目時,才會傳回此錯誤。 此錯誤只會由 Windows Server 2003 和更新版本傳回。 |
成功時,資料指標會放在符合搜尋準則的索引項目目。 如果記錄已準備好進行更新,則會取消該更新。 如果索引範圍生效,則會取消該索引範圍。 如果已針對游標建構搜尋索引鍵,則會刪除該搜尋索引鍵。 不會變更資料庫狀態。 當多個索引項目目具有相同的值時,一律會選取最接近索引開頭的專案。
失敗時,除非傳回JET_errRecordNotFound,否則游標的位置會保持不變。 在此情況下,資料指標會放置在符合該資料指標中搜尋索引鍵所指定搜尋準則的索引項目目的位置,而指定的不相等則為 。 游標可以相對於該位置移動,但仍然不在有效的索引項目目上。 如果記錄已準備好進行更新,則會取消該更新。 如果索引範圍生效,則會取消該索引範圍。 如果已針對游標建構搜尋索引鍵,則會刪除該搜尋索引鍵。 不會變更資料庫狀態。
規格需求
需求 | 值 |
---|---|
用戶端 |
需要 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_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetSetIndexRange
JetStopService