Partager via


Fonction JetSeek

S’applique à : Windows | Windows Server

Fonction JetSeek

La fonction JetSeek positionne efficacement un curseur sur une entrée d’index qui correspond aux critères de recherche spécifiés par la clé de recherche dans ce curseur et à l’inégalité spécifiée. Une clé de recherche doit avoir été précédemment construite à l’aide de JetMakeKey.

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

Paramètres

sesid

Session à utiliser pour cet appel.

tableid

Curseur à utiliser pour cet appel.

grbit

Groupe de bits qui contient les options à utiliser pour cet appel. Grbit doit être différent de zéro et doit inclure une ou plusieurs des valeurs répertoriées dans le tableau suivant.

Valeur

Signification

JET_bitCheckUniqueness

Un code d’erreur spécial, JET_wrnUniqueKey, est retourné s’il peut être déterminé à moindre coût qu’il existe exactement une entrée d’index qui correspond à la clé de recherche.

Cette option est ignorée, sauf si JET_bitSeekEQ est également spécifié.

Cette option est disponible uniquement sur Windows Server 2003 et versions ultérieures.

JET_bitSeekEQ

Le curseur sera positionné à l’entrée d’index la plus proche du début de l’index qui correspond exactement à la clé de recherche. Le début de l’index est l’entrée d’index trouvée lors du déplacement vers le premier enregistrement de cet index. Le début de l’index n’est pas le même que l’extrémité inférieure de l’index, qui peut changer en fonction de l’ordre de tri des colonnes clés dans l’index.

Il n’est pas significatif d’utiliser cette option avec une clé de recherche qui a été construite à l’aide de JetMakeKey à l’aide d’une option générique.

JET_bitSeekGE

Le curseur sera positionné à l’entrée d’index la plus proche du début de l’index supérieur ou égal à une entrée d’index qui correspondrait exactement aux critères de recherche. Le début de l’index est l’entrée d’index trouvée lors du déplacement vers le premier enregistrement de cet index. Le début de l’index n’est pas le même que l’extrémité inférieure de l’index, qui peut changer en fonction de l’ordre de tri des colonnes clés dans l’index.

Il n’est pas significatif d’utiliser cette option avec une clé de recherche qui a été construite à l’aide de JetMakeKey à l’aide d’une option générique destinée à rechercher les entrées d’index les plus proches de la fin de l’index.

JET_bitSeekGT

Le curseur sera positionné au niveau de l’entrée d’index la plus proche du début de l’index supérieur à une entrée d’index qui correspondrait exactement aux critères de recherche. Le début de l’index est l’entrée d’index trouvée lors du déplacement vers le premier enregistrement de cet index. Le début de l’index n’est pas le même que l’extrémité inférieure de l’index, qui peut changer en fonction de l’ordre de tri des colonnes clés dans l’index.

Il n’est pas significatif d’utiliser cette option avec une clé de recherche qui a été construite à l’aide de JetMakeKey à l’aide d’une option générique destinée à rechercher les entrées d’index les plus proches du début de l’index.

JET_bitSeekLE

Le curseur sera positionné à l’entrée d’index la plus proche de la fin de l’index qui est inférieure ou égale à une entrée d’index qui correspondrait exactement aux critères de recherche. La fin de l’index est l’entrée d’index trouvée lors du déplacement vers le dernier enregistrement de cet index. La fin de l’index n’est pas la même que l’extrémité supérieure de l’index, qui peut changer en fonction de l’ordre de tri des colonnes clés dans l’index.

Il n’est pas significatif d’utiliser cette option avec une clé de recherche qui a été construite à l’aide de JetMakeKey à l’aide d’une option générique destinée à rechercher les entrées d’index les plus proches du début de l’index.

JET_bitSeekLT

Le curseur sera positionné au niveau de l’entrée d’index la plus proche de la fin de l’index qui est inférieure à une entrée d’index qui correspondrait exactement aux critères de recherche. La fin de l’index est l’entrée d’index trouvée lors du déplacement vers le dernier enregistrement de cet index. La fin de l’index n’est pas la même que l’extrémité supérieure de l’index, qui peut changer en fonction de l’ordre de tri des colonnes clés dans l’index.

Il n’est pas significatif d’utiliser cette option avec une clé de recherche qui a été construite à l’aide de JetMakeKey à l’aide d’une option générique destinée à rechercher les entrées d’index les plus proches de la fin de l’index.

JET_bitSetIndexRange

Une plage d’index est automatiquement configurée pour toutes les clés qui correspondent exactement à la clé de recherche. La plage d’index résultante est identique à celle qui aurait autrement été créée par un appel à JetSetIndexRange avec les options JET_bitRangeInclusive et JET_bitRangeUpperLimit. Pour plus d’informations, consultez JetSetIndexRange .

Il s’agit d’une méthode pratique pour découvrir toutes les entrées d’index qui correspondent aux mêmes critères de recherche.

Cette option est ignorée, sauf si JET_bitSeekEQ est également spécifié.

Valeur renvoyée

Cette fonction permet le retour de toutes les JET_ERRs définies dans cette API. Pour plus d’informations sur les erreurs Jet, consultez Erreurs du moteur de stockage extensible et Paramètres de gestion des erreurs.

Code de retour

Description

JET_errSuccess

L’opération s’est terminée avec succès.

Pour JetSeek, cela signifie qu’une entrée d’index a été trouvée qui correspond exactement aux critères de recherche.

JET_errClientRequestToStopJetService

Il n’est pas possible d’effectuer l’opération, car toutes les activités sur le instance associée à la session ont cessé à la suite d’un appel à JetStopService.

JET_errInstanceUnavailable

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session a rencontré une erreur irrécupérable qui nécessite que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données.

Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errKeyNotMade

Il n’existe aucune clé de recherche actuelle pour le curseur. JetSeek exige que le curseur dispose d’une clé de recherche valide, car il l’utilisera pour les critères de recherche utilisés pour rechercher les entrées d’index.

JET_errNotInitialized

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session n’a pas encore été initialisé.

JET_errRecordNotFound

Aucune entrée d’index correspondant aux critères de recherche n’a été trouvée.

JET_errRestoreInProgress

Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur le instance associé à la session.

JET_wrnSeekNotEqual

Une entrée d’index correspondant aux critères de recherche a été trouvée. Toutefois, cette entrée d’index n’était pas une correspondance exacte.

JET_errSessionSharingViolation

La même session ne peut pas être utilisée pour plusieurs threads en même temps.

Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errTermInProgress

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’arrêt.

JET_wrnUniqueKey

Une seule entrée d’index a été trouvée qui correspond exactement aux critères de recherche. Cette erreur ne sera retournée que si JET_bitSeekCheckUniqueness a été spécifié et qu’il était peu coûteux de déterminer que l’entrée d’index correspondante était la seule entrée d’index qui correspond exactement aux critères de recherche.

Cette erreur ne sera retournée que par Windows Server 2003 et versions ultérieures.

En cas de réussite, le curseur est positionné sur une entrée d’index qui correspond aux critères de recherche. Si un enregistrement a été préparé pour la mise à jour, cette mise à jour est annulée. Si une plage d’index est appliquée, cette plage d’index est annulée. Si une clé de recherche a été construite pour le curseur, cette clé de recherche est supprimée. Aucune modification de l’état de la base de données ne se produira. Lorsque plusieurs entrées d’index ont la même valeur, l’entrée la plus proche du début de l’index est toujours sélectionnée.

En cas d’échec, la position du curseur reste inchangée, sauf si JET_errRecordNotFound a été retourné. Dans ce cas, le curseur sera positionné là où l’entrée d’index correspondant aux critères de recherche spécifiés par la clé de recherche dans ce curseur et l’inégalité spécifiée aurait été. Le curseur peut être déplacé par rapport à cette position, mais il n’est toujours pas sur une entrée d’index valide. Si un enregistrement a été préparé pour la mise à jour, cette mise à jour est annulée. Si une plage d’index est appliquée, cette plage d’index est annulée. Si une clé de recherche a été construite pour le curseur, cette clé de recherche est supprimée. Aucune modification de l’état de la base de données ne se produira.

Spécifications

Condition requise Valeur

Client

Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel.

Serveur

Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server.

En-tête

Déclaré dans Esent.h.

Bibliothèque

Utilisez ESENT.lib.

DLL

Nécessite ESENT.dll.

Voir aussi

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetSetIndexRange
JetStopService