Función JetSeek

Se aplica a: Windows | Windows Server

Función JetSeek

La función JetSeek coloca eficazmente un cursor en una entrada de índice que coincide con los criterios de búsqueda especificados por la clave de búsqueda en ese cursor y la desigualdad especificada. Una clave de búsqueda debe haberse construido previamente mediante JetMakeKey.

    JET_ERR JET_API JetSeek(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_GRBIT grbit
    );

Parámetros

sesid

Sesión que se va a usar para esta llamada.

tableid

Cursor que se va a usar para esta llamada.

grbit

Un grupo de bits que contienen las opciones que se usarán para esta llamada. Grbit debe ser distinto de cero y debe incluir uno o varios de los valores enumerados en la tabla siguiente.

Value

Significado

JET_bitCheckUniqueness

Se devolverá un código de error especial, JET_wrnUniqueKey, si se puede determinar económicamente que hay exactamente una entrada de índice que coincida con la clave de búsqueda.

Esta opción se omite a menos que también se especifique JET_bitSeekEQ.

Esta opción solo está disponible en Windows Server 2003 y versiones posteriores.

JET_bitSeekEQ

El cursor se colocará en la entrada de índice más cercana al inicio del índice que coincida exactamente con la clave de búsqueda. El inicio del índice es la entrada de índice que se encuentra al pasar al primer registro de ese índice. El inicio del índice no es el mismo que el extremo inferior del índice, que puede cambiar según el criterio de ordenación de las columnas de clave del índice.

No es significativo usar esta opción con una clave de búsqueda que se construyó mediante JetMakeKey mediante una opción de caracteres comodín.

JET_bitSeekGE

El cursor se colocará en la entrada de índice más cercana al inicio del índice que es mayor o igual que una entrada de índice que coincidiría exactamente con los criterios de búsqueda. El inicio del índice es la entrada de índice que se encuentra al pasar al primer registro de ese índice. El inicio del índice no es el mismo que el extremo inferior del índice, que puede cambiar según el criterio de ordenación de las columnas de clave del índice.

No es significativo usar esta opción con una clave de búsqueda construida mediante JetMakeKey mediante una opción de carácter comodín destinada a buscar entradas de índice más cercanas al final del índice.

JET_bitSeekGT

El cursor se colocará en la entrada de índice más cercana al inicio del índice que es mayor que una entrada de índice que coincidiría exactamente con los criterios de búsqueda. El inicio del índice es la entrada de índice que se encuentra al pasar al primer registro de ese índice. El inicio del índice no es el mismo que el extremo inferior del índice, que puede cambiar según el criterio de ordenación de las columnas de clave del índice.

No es significativo usar esta opción con una clave de búsqueda construida mediante JetMakeKey mediante una opción de carácter comodín destinada a buscar entradas de índice más cercanas al principio del índice.

JET_bitSeekLE

El cursor se colocará en la entrada de índice más cercana al final del índice que es menor o igual que una entrada de índice que coincidiría exactamente con los criterios de búsqueda. El final del índice es la entrada de índice que se encuentra al pasar al último registro de ese índice. El final del índice no es el mismo que el extremo superior del índice, que puede cambiar según el criterio de ordenación de las columnas de clave del índice.

No es significativo usar esta opción con una clave de búsqueda construida mediante JetMakeKey mediante una opción de carácter comodín destinada a buscar entradas de índice más cercanas al principio del índice.

JET_bitSeekLT

El cursor se colocará en la entrada de índice más cercana al final del índice que es menor que una entrada de índice que coincidiría exactamente con los criterios de búsqueda. El final del índice es la entrada de índice que se encuentra al pasar al último registro de ese índice. El final del índice no es el mismo que el extremo superior del índice, que puede cambiar según el criterio de ordenación de las columnas de clave del índice.

No es significativo usar esta opción con una clave de búsqueda construida mediante JetMakeKey mediante una opción de carácter comodín destinada a buscar entradas de índice más cercanas al final del índice.

JET_bitSetIndexRange

Un intervalo de índices se configurará automáticamente para todas las claves que coincidan exactamente con la clave de búsqueda. El intervalo de índice resultante es idéntico a uno que, de lo contrario, se habría creado mediante una llamada a JetSetIndexRange con las opciones JET_bitRangeInclusive y JET_bitRangeUpperLimit. Consulte JetSetIndexRange para obtener más información.

Se trata de un método práctico para detectar todas las entradas de índice que coinciden con los mismos criterios de búsqueda.

Esta opción se omite a menos que también se especifique JET_bitSeekEQ.

Valor devuelto

Esta función permite el retorno de cualquier JET_ERRs que se definan en esta API. Para obtener más información sobre los errores de Jet, vea Extensible Storage Engine Errors and Error Handling Parameters.

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

Para JetSeek, esto significa que se encontró una entrada de índice que coincide exactamente con los criterios de búsqueda.

JET_errClientRequestToStopJetService

No es posible completar la operación porque toda la actividad de la instancia asociada a la sesión ha dejado de funcionar como resultado de una llamada a JetStopService.

JET_errInstanceUnavailable

No es posible completar la operación porque la instancia asociada a la sesión ha encontrado un error irrecuperable que requiere que se revoque el acceso a todos los datos para proteger la integridad de esos datos.

Windows XP solo devolverá este error y versiones posteriores.

JET_errKeyNotMade

No hay ninguna clave de búsqueda actual para el cursor. JetSeek requiere que el cursor tenga una clave de búsqueda válida porque la usará para los criterios de búsqueda usados para buscar entradas de índice.

JET_errNotInitialized

No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado.

JET_errRecordNotFound

No se encontró ninguna entrada de índice que coincida con los criterios de búsqueda.

JET_errRestoreInProgress

No es posible completar la operación porque hay una operación de restauración en curso en la instancia asociada a la sesión.

JET_wrnSeekNotEqual

Se encontró una entrada de índice que coincidía con los criterios de búsqueda. Sin embargo, esa entrada de índice no era una coincidencia exacta.

JET_errSessionSharingViolation

No se puede usar la misma sesión para más de un subproceso al mismo tiempo.

Windows XP solo devolverá este error y versiones posteriores.

JET_errTermInProgress

No es posible completar la operación porque se está cerrando la instancia asociada a la sesión.

JET_wrnUniqueKey

Se encontró exactamente una entrada de índice que coincidía exactamente con los criterios de búsqueda. Este error solo se devolverá si se especificó JET_bitSeekCheckUniqueness y fue barato determinar que la entrada de índice coincidente era la única entrada de índice que coincide exactamente con los criterios de búsqueda.

Este error solo lo devolverá Windows Server 2003 y versiones posteriores.

Si se ejecuta correctamente, el cursor se colocará en una entrada de índice que coincida con los criterios de búsqueda. Si se ha preparado un registro para la actualización, esa actualización se cancelará. Si un intervalo de índice está en vigor, se cancelará ese intervalo de índice. Si se ha construido una clave de búsqueda para el cursor, esa clave de búsqueda se eliminará. No se producirá ningún cambio en el estado de la base de datos. Cuando varias entradas de índice tienen el mismo valor, siempre se selecciona la entrada más cercana al inicio del índice.

En caso de error, la posición del cursor permanecerá sin cambios a menos que se devuelva JET_errRecordNotFound. En ese caso, el cursor se colocará donde habría sido la entrada de índice que coincida con los criterios de búsqueda especificados por la clave de búsqueda en ese cursor y la desigualdad especificada. El cursor se puede mover con relación a esa posición, pero aún no está en una entrada de índice válida. Si se ha preparado un registro para la actualización, esa actualización se cancelará. Si un intervalo de índice está en vigor, se cancelará ese intervalo de índice. Si se ha construido una clave de búsqueda para el cursor, esa clave de búsqueda se eliminará. No se producirá ningún cambio en el estado de la base de datos.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Servidor

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Consulte también

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetSetIndexRange
JetStopService