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