JetSeek-Funktion
Gilt für: Windows | Windows Server
JetSeek-Funktion
Die JetSeek-Funktion positioniert einen Cursor effizient an einen Indexeintrag, der den Suchkriterien entspricht, die durch den Suchschlüssel in diesem Cursor und die angegebene Ungleichheit angegeben werden. Ein Suchschlüssel muss zuvor mit JetMakeKey erstellt worden sein.
JET_ERR JET_API JetSeek(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_GRBIT grbit
);
Parameter
sesid
Die Sitzung, die für diesen Aufruf verwendet werden soll.
tableid
Der Cursor, der für diesen Aufruf verwendet werden soll.
grbit
Eine Gruppe von Bits, die die Optionen enthalten, die für diesen Aufruf verwendet werden sollen. Grbit muss ungleich null sein und einen oder mehrere der in der folgenden Tabelle aufgeführten Werte enthalten.
Wert |
Bedeutung |
---|---|
JET_bitCheckUniqueness |
Ein spezieller Fehlercode, JET_wrnUniqueKey, wird zurückgegeben, wenn kostengünstig ermittelt werden kann, dass genau ein Indexeintrag mit dem Suchschlüssel übereinstimmt. Diese Option wird ignoriert, es sei denn, JET_bitSeekEQ wird ebenfalls angegeben. Diese Option ist nur unter Windows Server 2003 und höheren Versionen verfügbar. |
JET_bitSeekEQ |
Der Cursor wird am Indexeintrag positioniert, der dem Anfang des Indexes am nächsten kommt, der genau mit dem Suchschlüssel übereinstimmt. Der Anfang des Indexes ist der Indexeintrag, der beim Wechsel zum ersten Datensatz in diesem Index gefunden wird. Der Anfang des Indexes entspricht nicht dem unteren Ende des Indexes, der sich je nach Sortierreihenfolge der Schlüsselspalten im Index ändern kann. Es ist nicht sinnvoll, diese Option mit einem Suchschlüssel zu verwenden, der mithilfe von JetMakeKey mithilfe einer Wildcard-Option erstellt wurde. |
JET_bitSeekGE |
Der Cursor wird am Indexeintrag positioniert, der dem Indexanfang am nächsten liegt, der größer oder gleich einem Indexeintrag ist, der genau den Suchkriterien entspricht. Der Anfang des Indexes ist der Indexeintrag, der beim Wechsel zum ersten Datensatz in diesem Index gefunden wird. Der Anfang des Indexes entspricht nicht dem unteren Ende des Indexes, der sich je nach Sortierreihenfolge der Schlüsselspalten im Index ändern kann. Es ist nicht sinnvoll, diese Option mit einem Suchschlüssel zu verwenden, der mithilfe von JetMakeKey mithilfe einer Wildcardoption erstellt wurde, die indexeinträge am nächsten am Ende des Indexes finden soll. |
JET_bitSeekGT |
Der Cursor wird am Indexeintrag positioniert, der dem Indexanfang am nächsten liegt, der größer als ein Indexeintrag ist, der genau den Suchkriterien entspricht. Der Anfang des Indexes ist der Indexeintrag, der beim Wechsel zum ersten Datensatz in diesem Index gefunden wird. Der Anfang des Indexes entspricht nicht dem unteren Ende des Indexes, der sich je nach Sortierreihenfolge der Schlüsselspalten im Index ändern kann. Es ist nicht sinnvoll, diese Option mit einem Suchschlüssel zu verwenden, der mithilfe von JetMakeKey mithilfe einer Wildcardoption erstellt wurde, um Indexeinträge zu finden, die dem Indexanfang am nächsten sind. |
JET_bitSeekLE |
Der Cursor wird am Indexeintrag positioniert, der dem Ende des Indexes am nächsten liegt, der kleiner oder gleich einem Indexeintrag ist, der genau den Suchkriterien entspricht. Das Ende des Indexes ist der Indexeintrag, der beim Wechsel zum letzten Datensatz in diesem Index gefunden wird. Das Ende des Indexes ist nicht dasselbe wie das high end des Indexes, was sich je nach Sortierreihenfolge der Schlüsselspalten im Index ändern kann. Es ist nicht sinnvoll, diese Option mit einem Suchschlüssel zu verwenden, der mithilfe von JetMakeKey mithilfe einer Wildcardoption erstellt wurde, um Indexeinträge zu finden, die dem Indexanfang am nächsten sind. |
JET_bitSeekLT |
Der Cursor wird am Indexeintrag positioniert, der dem Ende des Indexes am nächsten liegt, der kleiner als ein Indexeintrag ist, der genau den Suchkriterien entspricht. Das Ende des Indexes ist der Indexeintrag, der beim Wechsel zum letzten Datensatz in diesem Index gefunden wird. Das Ende des Indexes ist nicht dasselbe wie das high end des Indexes, was sich je nach Sortierreihenfolge der Schlüsselspalten im Index ändern kann. Es ist nicht sinnvoll, diese Option mit einem Suchschlüssel zu verwenden, der mithilfe von JetMakeKey mithilfe einer Wildcardoption erstellt wurde, die indexeinträge am nächsten am Ende des Indexes finden soll. |
JET_bitSetIndexRange |
Ein Indexbereich wird automatisch für alle Schlüssel eingerichtet, die genau mit dem Suchschlüssel übereinstimmen. Der resultierende Indexbereich ist identisch mit einem Indexbereich, der andernfalls durch einen Aufruf von JetSetIndexRange mit den Optionen JET_bitRangeInclusive und JET_bitRangeUpperLimit erstellt worden wäre. Weitere Informationen finden Sie unter JetSetIndexRange . Dies ist eine praktische Methode zum Ermitteln aller Indexeinträge, die den gleichen Suchkriterien entsprechen. Diese Option wird ignoriert, es sei denn, JET_bitSeekEQ wird ebenfalls angegeben. |
Rückgabewert
Diese Funktion ermöglicht die Rückgabe aller JET_ERRs , die in dieser API definiert sind. Weitere Informationen zu Jet-Fehlern finden Sie unter Erweiterbare Speicher-Engine-Fehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. Für JetSeek bedeutet dies, dass ein Indexeintrag gefunden wurde, der genau mit den Suchkriterien übereinstimmte. |
JET_errClientRequestToStopJetService |
Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf der instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden. |
JET_errInstanceUnavailable |
Es ist nicht möglich, den Vorgang abzuschließen, da für die instance, die der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben. |
JET_errKeyNotMade |
Es gibt keinen aktuellen Suchschlüssel für den Cursor. JetSeek erfordert, dass der Cursor über einen gültigen Suchschlüssel verfügt, da dieser für die Suchkriterien verwendet wird, die zum Suchen von Indexeinträgen verwendet werden. |
JET_errNotInitialized |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde. |
JET_errRecordNotFound |
Es wurde kein Indexeintrag gefunden, der den Suchkriterien entsprach. |
JET_errRestoreInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da ein Wiederherstellungsvorgang für die instance ausgeführt wird, die der Sitzung zugeordnet ist. |
JET_wrnSeekNotEqual |
Es wurde ein Indexeintrag gefunden, der den Suchkriterien entsprach. Dieser Indexeintrag war jedoch keine genaue Übereinstimmung. |
JET_errSessionSharingViolation |
Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben. |
JET_errTermInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird. |
JET_wrnUniqueKey |
Es wurde genau ein Indexeintrag gefunden, der genau mit den Suchkriterien übereinstimmte. Dieser Fehler wird nur zurückgegeben, wenn JET_bitSeekCheckUniqueness angegeben wurde und es günstig war, festzustellen, ob der übereinstimmende Indexeintrag der einzige Indexeintrag war, der genau den Suchkriterien entspricht. Dieser Fehler wird nur von Windows Server 2003 und höheren Versionen zurückgegeben. |
Bei erfolgreicher Ausführung wird der Cursor an einem Indexeintrag positioniert, der den Suchkriterien entspricht. Wenn ein Datensatz für das Update vorbereitet wurde, wird dieses Update abgebrochen. Wenn ein Indexbereich aktiv ist, wird dieser Indexbereich abgebrochen. Wenn ein Suchschlüssel für den Cursor erstellt wurde, wird dieser Suchschlüssel gelöscht. Es wird keine Änderung des Datenbankzustands vorgenommen. Wenn mehrere Indexeinträge denselben Wert haben, wird immer der Eintrag ausgewählt, der dem Indexanfang am nächsten ist.
Bei einem Fehler bleibt die Position des Cursors unverändert, es sei denn, JET_errRecordNotFound zurückgegeben wurde. In diesem Fall wird der Cursor an der Stelle positioniert, an der der Indexeintrag, der den suchkriterien entspricht, die durch den Suchschlüssel in diesem Cursor angegeben wurden, und die angegebene Ungleichheit gewesen wäre. Der Cursor kann relativ zu dieser Position verschoben werden, befindet sich aber immer noch nicht in einem gültigen Indexeintrag. Wenn ein Datensatz für das Update vorbereitet wurde, wird dieses Update abgebrochen. Wenn ein Indexbereich aktiv ist, wird dieser Indexbereich abgebrochen. Wenn ein Suchschlüssel für den Cursor erstellt wurde, wird dieser Suchschlüssel gelöscht. Es wird keine Änderung des Datenbankzustands vorgenommen.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |
Weitere Informationen
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetSetIndexRange
JetStopService