Windows Dev Center

Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original

JetSetCurrentIndex3-Funktion

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

Der JetSetCurrentIndex3 -Funktion wird den aktuellen Index eines Cursors festgelegt. Der aktuelle Index eines Cursors definiert, welche Datensätze in einer Tabelle sind für diesen Cursor und deren Reihenfolge in der durch den Satz von Indexeinträgen Sie verwenden, um die Datensätze auswählen.

JET_ERR JET_API JetSetCurrentIndex3(
  __in          JET_SESID sesid,
  __in          JET_TABLEID tableid,
  __in_opt      JET_PCSTR szIndexName,
  __in          JET_GRBIT grbit,
  __in          unsigned long itagSequence
);

Parameter

sesid

Die Sitzung für diesen Aufruf verwenden.

Tabellen-ID

Der Cursor für diesen Aufruf verwenden.

szIndexName

Der Name des Indexes, für den Cursor ausgewählt werden.

Wenn dieser Parameter NULL oder eine leere Zeichenfolge ist, wird der gruppierte Index ausgewählt werden. Wenn Sie ein primärer Index für die Tabelle definiert ist, und dann diesen Index ausgewählt wird, da es den gruppierten Index identisch ist. Wenn kein primärer Index für die Tabelle definiert ist, wird der sequenzielle Index ausgewählt werden. Sequenzielle Index besitzt keine Indexdefinition. Weitere Informationen finden Sie unter JetCreateIndex .

Wenn Pindexid ungleich NULL ist der Indexname ignoriert, und der Index wird durch dessen Index-ID ausgewählt werden

JET_errInvalidGrbit

Eine Gruppe von Bits, die Optionen für diesen Aufruf enthalten die 0 (null) oder mehr der folgenden enthalten.

Wert

Bedeutung

JET_bitMoveFirst

Diese Option gibt an, dass der Cursor auf den ersten Eintrag des angegebenen Indexes positioniert werden soll. Wenn der gruppierte Index ist (primärer Index oder sequenzieller Index) ausgewählt wird und der aktuelle Index ein Sekundärindex ist JET_bitMoveFirst wird angenommen. Wenn der aktuelle Index ausgewählt wird diese Option wird ignoriert, und es erfolgt keine Änderung an der Cursorposition.

JET_bitNoMove

Diese Option gibt an, dass der Cursor auf dem Indexeintrag, der dem neuen Index positioniert werden soll, die mit dem Indexeintrag an der aktuellen Position des Cursors für den alten Index zugeordneten Datensatzes entspricht.

Die Definition für den neuen Index enthält mindestens eine mehrwertige Schlüsselspalte ist der Indexeintrag Ziel mehrdeutig. In diesem Fall wird die angegebene ItagSequence verwendet, um auszuwählen, welche mit mehreren Werten für die wichtigsten mehrwertige Schlüsselspalte verwendet wird, positionieren Sie den Cursor. Es ist nur erforderlich, eine einzelne ItagSequence auch bei mehreren mehrwertige Schlüsselspalten übergeben werden, da das Modul alle Werte für die wichtigsten mehrwertige Schlüsselspalte erweitert. Weitere Informationen finden Sie unter JetCreateIndex .

Wenn JET_bitMoveFirst angegeben ist, wird diese Option ignoriert.

Wenn der aktuelle Index ausgewählt wird diese Option wird ignoriert, und es erfolgt keine Änderung an der Cursorposition. Wenn dieser Parameter nicht vorhanden ist, wird davon ausgegangen, dass der Wert JET_bitMoveFirst werden.

itagSequence

Laufende Nummer des mehrwertigen Spaltenwerts, positionieren Sie den Cursor auf den neuen Index verwendet wird.

Dieser Parameter wird nur in Verbindung mit JET_bitNoMove verwendet. Siehe dazu die Beschreibung dieser Option für weitere Details.

Wenn dieser Parameter nicht vorhanden ist oder auf 0 (null) festgelegt ist, wird davon ausgegangen, dass der Wert 1 sein.

Return Value

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

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errBadItagSequence

Ein sekundärer Index mit der Option JET_bitNoMove ausgewählt wird, und es gibt keinen Wert für die erste mehrwertige-Spalte in die neue Indexdefinition, die die angegebene Sequenznummer entspricht.

JET_errClientRequestToStopJetService

Es ist nicht möglich, um den Vorgang abzuschließen, da alle Aktivitäten in der Instanz dieser Sitzung aufgrund eines Aufrufs von JetStopServiceeingestellt hat.

JET_errInstanceUnavailable

Es ist nicht möglich, um den Vorgang abzuschließen, da die Sitzung zugeordnete Instanz ein schwerwiegender Fehler, der erfordert aufgetreten ist, 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äteren Versionen zurückgegeben werden.

JET_errInvalidIndexId

Der Inhalt der Indexid waren nicht gültig oder abgelaufen und müssen aktualisiert werden. Dies kann passieren, für JetSetCurrentIndex3 bei:

  • Pindexid -> CbStruct hat nicht die erwartete Größe (Windows Server 2003 und späteren Versionen).

  • Das Modul wurde heruntergefahren, da die Index-ID abgerufen wurde.

  • Alle Cursor verweisen auf die Tabelle mit dem Index entsprechend dem Index ID geschlossen wurden und das Modul wurde die Definition für diesen Index aus dem Schemacache entfernt.

  • Die Index-ID wird mit einem Cursor geöffnet, auf der falschen Tabelle verwendet.

  • Der Index wurde gelöscht oder ist noch nicht für die Sitzung sichtbar.

JET_errInvalidName

Einer der angegebenen Objektnamen ist ungültig. Alle Objektnamen müssen den gleichen Satz von Regeln entsprechen. Diese Regeln sind wie folgt:

  • Objektnamen müssen aus ASCII-Zeichen bestehen.

  • Objektnamen müssen mindestens ein Zeichen lang sein.

  • Objektnamen können JET_cbNameMost (64) Zeichen nicht überschreiten.

  • Objektnamen dürfen nicht mit einem Leerzeichen beginnen.

  • Objektnamen dürfen nicht ASCII-Steuerzeichen (0 x 00 bis 0x1F).

  • Objektnamen dürfen kein Ausrufezeichen (!), Punkt (.), Links eckige Klammer ([]) oder Rechte eckige Klammer (]) Zeichen.

  • Nach der Bestätigung, wird nur der Teil der Zeichenfolge bis zum ersten Leerzeichen (sofern vorhanden) für die zu verwendenden Objektnamen verwendet werden. Dies bedeutet, dass die Objektnamen keine entweder ein Leerzeichen enthalten dürfen.

JET_errInvalidParameter

Einer der bereitgestellten Parameter einen unerwarteten Wert enthalten oder enthalten einen Wert, der nicht mit dem Wert eines anderen Parameters kombiniert keinen Sinn. Dies für JetSetCurrentIndex3 beim Pindexid nicht NULL ist und die Pindexid ->, CbStruct nicht die erwartete Größe (Windows XP und früheren Versionen) hat.

JET_errNoCurrentRecord

Ein sekundärer Index mit der Option JET_bitNoMove ausgewählt wird, und es gibt kein Indexeintrag wird in den neuen Index aus, der der Datensatz verknüpft ist, mit dem Indexeintrag an der aktuellen Position des Cursors für den alten Index entspricht.

JET_errNotInitialized

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

JET_errOutOfCursors

Das Modul wurde der Adresspool von Ressourcen verwendet, um den Cursor zu öffnen. Die maximale Anzahl von Cursorn, die gleichzeitig geöffnet werden können wird mit JET_paramMaxCursorsgesteuert. Weitere Informationen finden Sie unter JetSetSystemParameter . Dies für JetSetCurrentIndex3 bei ein sekundärer Index ausgewählt wurde und das Modul nicht werden einen internen Cursor geöffnet kann um diesen Index zu verwenden.

JET_errRestoreInProgress

Es ist nicht möglich, um den Vorgang abzuschließen, da ein Wiederherstellungsvorgang ausgeführt auf die Instanz der Sitzung zugeordnet wird.

JET_errSessionSharingViolation

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

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

JET_errTermInProgress

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

Bei Erfolg wird der aktuelle Index des Cursors auf der angeforderte Index festgelegt. Jetzt können Indexeinträge aus wurde nach der Indexdefinition des angeforderten Index gesucht werden. Index-Einträge können auch mit JetMove in der durch diese Indexdefinition angegebenen Reihenfolge aufgelistet werden. Die aktuelle Position des Cursors wird entweder der erste Indexeintrag für den Index (JET_bitMoveFirst) oder einen bestimmten Indexeintrag, die mit der aktuellen Position des Cursors für den alten Index (JET_bitNoMove). Keine Änderung an den Zustand der Datenbank erfolgt.

Sind bei einem Fehler den aktuellen Index und die aktuelle Position des Cursors in einem undefinierten Zustand. Keine Änderung an den Zustand der Datenbank erfolgt.

Anmerkungen

Wenn der Index-ID-Hinweis veraltet ist schlägt die API einfach. Es gibt keine Alternative zu den Textnamen des Indexes in diesem Fall wie zu erwarten wäre. Diese Alternative muss vom Aufrufer der API manuell erfolgen.

Voraussetzungen

-Client,

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server.

Kopfzeile

In Esent.h deklariert.

Library

Verwenden Sie ESENT.lib.

DLL

"ESENT.dll" erfordert.

Unicode

Implementiert als JetSetCurrentIndex3W (Unicode) und JetSetCurrentIndex3A (ANSI).

Siehe auch

Anzeigen:
© 2015 Microsoft