JetGotoPosition-Funktion

Gilt für: Windows | Windows Server

JetGotoPosition-Funktion

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

precpos-centriesLT>/precpos-centriesTotal>

Dieser Vorgang wird als Reaktion auf benutzerseitige Scrollfeldeingaben ausgeführt, die empfangen werden, wenn der Benutzer versucht, Daten anzuzeigen, die teilweise durch ein Dataset gestartet werden.

    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 möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errClientRequestToStopJetService

Der Vorgang konnte nicht abgeschlossen werden, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden.

JET_errInstanceUnavailable

Der Vorgang konnte nicht abgeschlossen werden, da bei der 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.

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 instance, 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 instance 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 instance, die der Sitzung zugeordnet ist, heruntergefahren wird.

Wenn diese Funktion erfolgreich ist, wird der Cursor in einen aktuellen Datensatz verschoben, der einen Bruchteil des Weges durch den Index darstellt, in dem der Bruch precpos-centriesLT> dividiert durch precpos-centriesTotal> ist.

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

Bemerkungen

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

Wenn fortlaufend Updates für die Tabelle ausgeführt werden, können nachfolgende Aufrufe mit demselben JET_RECPOS den Cursor an verschiedene Positionen im Index verschieben, sowohl vor als auch nach der vorherigen Position. Transaktionsisolation gilt nicht für die Positionierung über JET_RECPOS , da sie von physischen Eigenschaften des Indexes abhängt, die nicht transaktionsisolt 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.

Kopfzeile

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