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