Funzione JetSeek
Si applica a: Windows | Windows Server
Funzione JetSeek
La funzione JetSeek posiziona in modo efficiente un cursore in una voce di indice che corrisponde ai criteri di ricerca specificati dalla chiave di ricerca in tale cursore e alla disuguaglianza specificata. Una chiave di ricerca deve essere stata creata in precedenza usando JetMakeKey.
JET_ERR JET_API JetSeek(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_GRBIT grbit
);
Parametri
sesid
Sessione da utilizzare per questa chiamata.
tableid
Cursore da utilizzare per questa chiamata.
grbit
Gruppo di bit che contengono le opzioni da utilizzare per questa chiamata. Grbit deve essere diverso da zero e deve includere uno o più valori elencati nella tabella seguente.
Valore |
Significato |
---|---|
JET_bitCheckUniqueness |
Un codice di errore speciale, JET_wrnUniqueKey, verrà restituito se può essere determinato a buon mercato che esiste esattamente una voce di indice corrispondente alla chiave di ricerca. Questa opzione viene ignorata, a meno che non venga specificata anche JET_bitSeekEQ. Questa opzione è disponibile solo in Windows Server 2003 e versioni successive. |
JET_bitSeekEQ |
Il cursore verrà posizionato in corrispondenza della voce di indice più vicina all'inizio dell'indice che corrisponde esattamente alla chiave di ricerca. L'inizio dell'indice è la voce di indice trovata quando si passa al primo record in tale indice. L'inizio dell'indice non corrisponde all'estremità inferiore dell'indice, che può cambiare a seconda dell'ordinamento delle colonne chiave nell'indice. Non è significativo usare questa opzione con una chiave di ricerca costruita con JetMakeKey usando un'opzione con caratteri jolly. |
JET_bitSeekGE |
Il cursore verrà posizionato in corrispondenza della voce di indice più vicina all'inizio dell'indice maggiore o uguale a una voce di indice che corrisponde esattamente ai criteri di ricerca. L'inizio dell'indice è la voce di indice trovata quando si passa al primo record in tale indice. L'inizio dell'indice non corrisponde all'estremità inferiore dell'indice, che può cambiare a seconda dell'ordinamento delle colonne chiave nell'indice. Non è significativo usare questa opzione con una chiave di ricerca costruita usando JetMakeKey usando un'opzione con caratteri jolly destinata a trovare le voci di indice più vicine alla fine dell'indice. |
JET_bitSeekGT |
Il cursore verrà posizionato in corrispondenza della voce di indice più vicina all'inizio dell'indice maggiore di una voce di indice che corrisponde esattamente ai criteri di ricerca. L'inizio dell'indice è la voce di indice trovata quando si passa al primo record in tale indice. L'inizio dell'indice non corrisponde all'estremità inferiore dell'indice, che può cambiare a seconda dell'ordinamento delle colonne chiave nell'indice. Non è significativo usare questa opzione con una chiave di ricerca costruita con JetMakeKey usando un'opzione con caratteri jolly destinata a trovare le voci di indice più vicine all'inizio dell'indice. |
JET_bitSeekLE |
Il cursore verrà posizionato in corrispondenza della voce di indice più vicina alla fine dell'indice minore o uguale a una voce di indice che corrisponde esattamente ai criteri di ricerca. La fine dell'indice è la voce di indice trovata quando si passa all'ultimo record in tale indice. La fine dell'indice non corrisponde all'estremità superiore dell'indice, che può cambiare a seconda dell'ordinamento delle colonne chiave nell'indice. Non è significativo usare questa opzione con una chiave di ricerca costruita con JetMakeKey usando un'opzione con caratteri jolly destinata a trovare le voci di indice più vicine all'inizio dell'indice. |
JET_bitSeekLT |
Il cursore verrà posizionato in corrispondenza della voce di indice più vicina alla fine dell'indice minore di una voce di indice che corrisponde esattamente ai criteri di ricerca. La fine dell'indice è la voce di indice trovata quando si passa all'ultimo record in tale indice. La fine dell'indice non corrisponde all'estremità superiore dell'indice, che può cambiare a seconda dell'ordinamento delle colonne chiave nell'indice. Non è significativo usare questa opzione con una chiave di ricerca costruita usando JetMakeKey usando un'opzione con caratteri jolly destinata a trovare le voci di indice più vicine alla fine dell'indice. |
JET_bitSetIndexRange |
Un intervallo di indici verrà configurato automaticamente per tutte le chiavi che corrispondono esattamente alla chiave di ricerca. L'intervallo di indici risultante è identico a quello che altrimenti sarebbe stato creato da una chiamata a JetSetIndexRange con le opzioni JET_bitRangeInclusive e JET_bitRangeUpperLimit. Per altre informazioni, vedere JetSetIndexRange . Si tratta di un metodo pratico per individuare tutte le voci di indice che corrispondono agli stessi criteri di ricerca. Questa opzione viene ignorata, a meno che non venga specificata anche JET_bitSeekEQ. |
Valore restituito
Questa funzione consente la restituzione di qualsiasi JET_ERRs definita in questa API. Per altre informazioni sugli errori Jet, vedere Errori del motore di archiviazione estendibile e parametri di gestione degli errori.
Codice restituito |
Descrizione |
---|---|
JET_errSuccess |
Operazione riuscita. Per JetSeek, ciò significa che è stata rilevata una voce di indice che corrisponde esattamente ai criteri di ricerca. |
JET_errClientRequestToStopJetService |
Non è possibile completare l'operazione perché tutte le attività sull'istanza associata alla sessione sono cessate a seguito di una chiamata a JetStopService. |
JET_errInstanceUnavailable |
Non è possibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede la revoca dell'accesso a tutti i dati per proteggere l'integrità dei dati. Questo errore verrà restituito solo da Windows XP e versioni successive. |
JET_errKeyNotMade |
Non esiste una chiave di ricerca corrente per il cursore. JetSeek richiede che il cursore abbia una chiave di ricerca valida perché verrà usata per i criteri di ricerca usati per trovare le voci di indice. |
JET_errNotInitialized |
Non è possibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata. |
JET_errRecordNotFound |
Non è stata trovata alcuna voce di indice corrispondente ai criteri di ricerca. |
JET_errRestoreInProgress |
Non è possibile completare l'operazione perché è in corso un'operazione di ripristino nell'istanza associata alla sessione. |
JET_wrnSeekNotEqual |
È stata trovata una voce di indice corrispondente ai criteri di ricerca. Tuttavia, tale voce di indice non corrisponde esattamente. |
JET_errSessionSharingViolation |
La stessa sessione non può essere usata contemporaneamente per più thread. Questo errore verrà restituito solo da Windows XP e versioni successive. |
JET_errTermInProgress |
Non è possibile completare l'operazione perché l'istanza associata alla sessione viene arrestata. |
JET_wrnUniqueKey |
È stata rilevata esattamente una voce di indice che corrisponde esattamente ai criteri di ricerca. Questo errore verrà restituito solo se è stato specificato JET_bitSeekCheckUniqueness ed è stato conveniente determinare che la voce di indice corrispondente è l'unica voce di indice che corrisponde esattamente ai criteri di ricerca. Questo errore verrà restituito solo da Windows Server 2003 e versioni successive. |
In caso di esito positivo, il cursore verrà posizionato in corrispondenza di una voce di indice corrispondente ai criteri di ricerca. Se un record è stato preparato per l'aggiornamento, l'aggiornamento verrà annullato. Se è attivo un intervallo di indici, l'intervallo di indici verrà annullato. Se è stata creata una chiave di ricerca per il cursore, la chiave di ricerca verrà eliminata. Non verrà apportata alcuna modifica allo stato del database. Quando più voci di indice hanno lo stesso valore, la voce più vicina all'inizio dell'indice viene sempre selezionata.
In caso di errore, la posizione del cursore rimarrà invariata a meno che non venga restituito JET_errRecordNotFound. In tal caso, il cursore verrà posizionato in cui la voce di indice corrispondente ai criteri di ricerca specificati dalla chiave di ricerca in tale cursore e la disuguaglianza specificata sarebbe stata. Il cursore può essere spostato rispetto a tale posizione, ma non è ancora in una voce di indice valida. Se un record è stato preparato per l'aggiornamento, l'aggiornamento verrà annullato. Se è attivo un intervallo di indici, l'intervallo di indici verrà annullato. Se è stata creata una chiave di ricerca per il cursore, la chiave di ricerca verrà eliminata. Non verrà apportata alcuna modifica allo stato del database.
Requisiti
Requisito | Valore |
---|---|
Client |
Richiede Windows Vista, Windows XP o Windows 2000 Professional. |
Server |
Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Intestazione |
Dichiarato in Esent.h. |
Libreria |
Usare ESENT.lib. |
DLL |
Richiede ESENT.dll. |
Vedere anche
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetSetIndexRange
JetStopService