JetGotoPosition-Funktion

Gilt für: Windows | Windows Server

JetGotoPosition-Funktion

Die JetGotoPosition-Funktion verschiebt einen Cursor an eine neue Position, die einen Bruchteil des Wegs durch den aktuellen Index darstellt. Der Bruch entspricht ungefähr dem folgenden:

precpos- > centriesLT/precpos- > centriesTotal

Dieser Vorgang wird als Reaktion auf benutzerseitige Bildlauffeldeingaben ausgeführt, die empfangen werden, wenn der Benutzer versucht, Daten anzuzeigen, die einen Teil eines Datensatzes durchlaufen.

    JET_ERR JET_API JetGotoPosition(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_RECPOS* precpos
    );

Parameter

sesid

Die Sitzung, die für diesen Aufruf verwendet werden soll.

tableid

Der Cursor, der für diesen Aufruf verwendet werden soll.

precpos

Die Beschreibung des Bruchs, der beim Positionieren des Cursors im aktuellen Index verwendet werden soll.

Rückgabewert

Diese Funktion gibt den JET_ERR Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine Errors and Error Handling Parameters.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errClientRequestToStopJetService

Der Vorgang konnte nicht abgeschlossen werden, da alle Aktivitäten auf der Instanz, die der Sitzung zugeordnet ist, als Ergebnis eines Aufrufs von JetStopServiceausgeführt wurden.

JET_errInstanceUnavailable

Der Vorgang konnte nicht abgeschlossen werden, da für die Instanz, 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.

Windows XP: Dieser Rückgabewert wird in Windows XP eingeführt.

JET_errInvalidParameter

Die angegebene precpos- > cbStruct ist keine gültige Größe für die JET_RECPOS-Struktur, oder precpos- > centriesLT ist größer als precpos- > centriesTotal.

JET_errNotInitialized

Der Vorgang kann nicht abgeschlossen werden, da die Instanz, die der Sitzung zugeordnet ist, noch nicht initialisiert wurde.

JET_errRecordNotFound

Dieser Fehler wird zurückgegeben, wenn der Index leer ist.

JET_errRestoreInProgress

Der Vorgang kann nicht abgeschlossen werden, da ein Wiederherstellungsvorgang für die Instanz ausgeführt wird, die der Sitzung zugeordnet ist.

JET_errSessionSharingViolation

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

Windows XP: Dieser Rückgabewert wird in Windows XP eingeführt.

JET_errTermInProgress

Der Vorgang kann nicht abgeschlossen werden, da die instanz, die der Sitzung zugeordnet ist, heruntergefahren wird.

Wenn diese Funktion erfolgreich ausgeführt wird, wird der Cursor in einen aktuellen Datensatz verschoben, der ein Bruchteil des Wegs durch den Index ist, in dem der Bruchteil precpos- > centriesLT dividiert durch precpos- > centriesTotal ist.

Wenn diese Funktion fehlschlägt, bleibt die Cursorposition unverändert.

Bemerkungen

Dieser Vorgang verschiebt den Cursor durch die Tabelle an eine Position am folgenden ungefähren Punkt: precpos- > centriesLT dividiert durch precpos- > centriesTotal.

Wenn die Tabelle ständig aktualisiert wird, können nachfolgende Aufrufe mit demselben JET_RECPOS den Cursor an unterschiedliche Positionen im Index verschieben, sowohl vor als auch nach der vorherigen Position. Die Transaktionsisolation gilt nicht für die Positionierung über JET_RECPOS, da sie von physischen Eigenschaften des Indexes abhängt, die nicht transaktionsisoliert sind.

JET_RECPOS sollte nicht verwendet werden, um einen Datensatz in einer Tabelle zu beschreiben oder einen Datensatz in der Nähe eines vorhandenen Datensatzes neu zu positionieren. Stattdessen sollten Lesezeichen für einen vorhandenen Datensatz nach einer anfänglichen JetGotoPosition abgerufen und dann verwendet werden, um denselben Datensatz neu zu positionieren.

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.

Header

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Weitere Informationen

JET_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO