Freigeben über


JetSetIndexRange-Funktion

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JetSetIndexRange-Funktion

Die JetSetIndexRange -Funktion beschränkt vorübergehend den Satz der Indexeinträge, die der Cursor durchlaufen kann mit JetMove auf diejenigen aus der aktuellen Indexeintrag beginnt und endet beim Indexeintrag, der die vom Search-Schlüssel in diesem Cursor und den angegebenen Kriterien gebundenen angegebenen Suchkriterien entspricht. Ein Search-Schlüssel muss zuvor erstellte JetMakeKeyverwenden.

JET_ERR JET_API JetSetIndexRange(
  __in          JET_SESID sesid,
__in          JET_TABLEID tableidSrc,
  __in          JET_GRBIT grbit
);

Parameter

sesid

Die Sitzung für diesen Aufruf verwenden.

tableidSrc

Der Mauszeiger für dieses Anrufs verwenden.

JET_errInvalidGrbit

Eine Gruppe von Bits an, die die Optionen für dieses Anrufs zu verwendende enthalten NULL oder mehrere der folgenden Optionen:

Wert

Bedeutung

JET_bitRangeInclusive

Diese Anwesenheit oder Abwesenheit diese Option gibt die Kriterien Grenze des Indexbereichs an. Ist dieser Parameter vorhanden, gibt diese Option an, dass der Grenzwert des Indexbereichs inklusive ist. Wenn nicht vorhanden, diese Option gibt an, dass der Grenzwert des Indexbereichs exklusiv ist. Wenn der Grenzwert des Indexbereichs inklusive beträgt sind alle Indexeinträge genau den Suchkriterien entsprechen im Bereich enthalten.

JET_bitRangeInstantDuration

Diese Option fordert an, dass der Indexbereich entfernt werden soll, sobald es eingerichtet wurde. Alle anderen Aspekte des Vorgangs bleiben unverändert. Dies ist hilfreich für die Tests für das Vorhandensein von Indexeinträgen, die den Suchkriterien entsprechen.

JET_bitRangeRemove

Diese Option fordert an, dass ein vorhandenen Indexbereich auf den Cursor abgebrochen werden. Nachdem der Indexbereich abgebrochen wird, werden hinter dem Ende des Indexbereichs mit JetMoveverschoben. Wenn ein Indexbereich noch nicht aktiv ist, schlägt JetSetIndexRange mit JET_errInvalidOperation fehl.

Wenn diese Option angegeben wird, werden alle anderen Optionen ignoriert.

JET_bitRangeUpperLimit

Wenn diese Option verwendet wird, stellt die suchen-Taste im Cursor die Suchkriterien für die Indexeintrag am Ende des Indexes, der den Indexbereich entspricht. Der Indexbereich wird zwischen der aktuellen Position des Cursors hergestellt und diese Indexeintrag, damit alle entspricht kann gefunden werden durch Weiterleiten des Index mit JetMove JET_MoveNext oder einen positiven Offset durchlaufen.

Es ist nicht sinnvoll, verwenden Sie diese Option mit einem Suchschlüssel, die mit einem JetMakeKey mit einer Option Platzhalter für die direkte Verwendung Indexeinträge am nächsten an den Anfang des Indexes finden erstellt wurde.

Wenn diese Option nicht angegeben ist, stellt die suchen-Taste im Cursor die Suchkriterien für die engsten an den Anfang des Indexes, der den Indexbereich entspricht Indexeintrag. Der Indexbereich wird zwischen der aktuellen Position des Cursors hergestellt werden, und dieser Indexeintrag, damit alle ermittelt finden, indem Sie auf dem Index mit JetMove JET_MovePrevious oder einen negativen Offset rückwärts durchlaufen.

Es ist nicht sinnvoll, diese Option mit einem Schlüssel für die Suche nicht angeben, die mit einem JetMakeKey mit einer Option Platzhalter für die direkte Verwendung Indexeinträge am Ende des Indexes finden erstellt wurde.

Return Value

Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine-Fehlern und Fehler behandeln von Parametern.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

Für JetSetIndexRangebedeutet dies, dass Sie mindestens einen Indexeintrag innerhalb des Indexbereichs vorhanden ist oder ein vorhandenen Indexbereich abgebrochen wurde.

JET_errClientRequestToStopJetService

Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf die Instanz der Sitzung zugeordnet aufgrund eines Aufrufs von JetStopServicebehoben ist.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da die Instanz der Sitzung zugeordnet ein schwerwiegender Fehler, der erforderlich sind aufgetreten wurde, dass der Zugriff auf alle Daten gesperrt werden, um die Integrität der Daten zu schützen.

Dieser Fehler wird nur von Windows XP und spätere Versionen zurückgegeben werden.

JET_errInvalidOperation

Dieser Fehler wird durch JetSetIndexRange zurückgegeben werden, wenn JET_bitRangeRemove angegeben wurde und keine Indexbereich wirksam.

JET_errKeyNotMade

Es ist kein aktuelle Suche-Schlüssel für den Cursor. JetSetIndexRange erfordert, dass der Cursor gültige Suche Schlüssel, da es, die für die Suchkriterien zum Suchen von Indexeinträgen verwendet wird.

JET_errNoCurrentIndex

Es ist kein aktueller Index für den Cursor. Dies wird für JetSetIndexRange auftreten, wenn der Cursor auf den gruppierten Index einer Tabelle befindet, ein Primärindex wurde nicht definiert. Festlegen einer Indexbereich über solchen Index wird nicht unterstützt.

JET_errNoCurrentRecord

Dieser Fehler wird durch JetSetIndexRange , um anzugeben, dass es keine Indexeinträge innerhalb des Indexbereichs sind zurückgegeben werden.

JET_errNotInitialized

Es ist nicht möglich, den Vorgang abzuschließen, da die Instanz der Sitzung zugeordnet wurde noch nicht initialisiert.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da ein Restore-Vorgang in Arbeit auf die Instanz der Sitzung zugeordnet ist.

JET_errSessionSharingViolation

Die gleiche Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden.

Dieser Fehler wird nur von Windows XP und spätere Versionen zurückgegeben werden.

JET_errTermInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da die Instanz der Sitzung zugeordnet heruntergefahren wird.

Klicken Sie auf Erfolg Wenn JET_bitRangeRemove angegeben wird, wird der Indexbereich, der aktuell in Kraft ist abgebrochen. Wenn JET_bitRangeRemove nicht angegeben wird und JET_bitRangeInstantDuration angegeben ist, wird kein Indexbereich wirksam. Wenn weder JET_bitRangeRemove noch JET_bitRangeInstantDuration angegeben wird, wird eine neue Indexbereich wirksam. In diesem Indexbereich wird vorübergehend den Satz der Indexeinträge begrenzen, die der Cursor durchlaufen kann mit JetMove auf diejenigen aus der aktuellen Indexeintrag beginnt und endet beim Indexeintrag, der den Suchkriterien entspricht. Die Position des Cursors bleiben unverändert. Wenn ein Search-Schlüssel für den Cursor erstellt wurde, wird dieser Schlüssel Suche gelöscht werden. Keine Änderung an den Zustand der Datenbank erfolgt.

Bei einem Fehler Wenn JET_errNoCurrentRecord nicht zurückgegeben wird, wird kein Indexbereich wirksam. Wenn JET_errNoCurrentRecord zurückgegeben wurde, wird eine neue Indexbereich wirksam. In diesem Indexbereich wird vorübergehend den Satz der Indexeinträge begrenzen, die der Cursor durchlaufen kann mit JetMove auf diejenigen aus der aktuellen Indexeintrag beginnt und endet beim Indexeintrag, der den Suchkriterien entspricht. Die Position des Cursors bleiben unverändert. Wenn JET_errNoCurrentRecord zurückgegeben wurde, und ein Schlüssel für die Suche für den Cursor erstellt wurden wurde, wird dieser Schlüssel Suche gelöscht werden. Keine Änderung an den Zustand der Datenbank erfolgt.

Anmerkungen

Ein Indexbereich veränderliche ist und wird automatisch abgebrochen werden, wenn Navigation als JetMove für den Cursor ausgeführt wird.

Index Bereiche funktionieren nur in einer Richtung. Wenn eine Obergrenze nur vorwärts hergestellt ist, wird JET_MoveNext oder einen positiven Offset JetMove mit Bewegung verhindert, nachdem das Ende des Indexbereichs erreicht wurde. Es ist weiterhin möglich, lassen Sie den Indexbereich in diesem Fall mit JetMove JET_MovePrevious oder einen negativen Offset. Die gleiche Situation tritt ein, die eine Untergrenze.

Voraussetzungen

-Client,

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server benötigt.

Kopfzeile

In Esent.h deklariert.

Library

Verwenden Sie ESENT.lib.

DLL

Erfordert "ESENT.dll".

Siehe auch

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetMove
JetSetIndexRange
JetStopService