Share via


Função JetSeek

Aplica-se a: Windows | Windows Server

Função JetSeek

A função JetSeek posiciona com eficiência um cursor para uma entrada de índice que corresponde aos critérios de pesquisa especificados pela chave de pesquisa nesse cursor e à desigualdade especificada. Uma chave de pesquisa deve ter sido construída anteriormente usando JetMakeKey.

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

Parâmetros

sesid

A sessão a ser usada para essa chamada.

Tableid

O cursor a ser usado para essa chamada.

grbit

Um grupo de bits que contém as opções a serem usadas para essa chamada. Grbit deve ser diferente de zero e deve incluir um ou mais dos valores listados na tabela a seguir.

Valor

Significado

JET_bitCheckUniqueness

Um código de erro especial, JET_wrnUniqueKey, será retornado se for possível determinar barato que há exatamente uma entrada de índice que corresponda à chave de pesquisa.

Essa opção é ignorada, a menos que JET_bitSeekEQ também seja especificado.

Essa opção só está disponível no Windows Server 2003 e versões posteriores.

JET_bitSeekEQ

O cursor será posicionado na entrada de índice mais próxima do início do índice que corresponde exatamente à chave de pesquisa. O início do índice é a entrada de índice encontrada ao mover para o primeiro registro nesse índice. O início do índice não é o mesmo que a extremidade baixa do índice, que pode ser alterada dependendo da ordem de classificação das colunas de chave no índice.

Não é significativo usar essa opção com uma chave de pesquisa que foi construída usando JetMakeKey usando uma opção curinga.

JET_bitSeekGE

O cursor será posicionado na entrada de índice mais próxima do início do índice maior ou igual a uma entrada de índice que corresponderia exatamente aos critérios de pesquisa. O início do índice é a entrada de índice encontrada ao mover para o primeiro registro nesse índice. O início do índice não é o mesmo que a extremidade baixa do índice, que pode ser alterada dependendo da ordem de classificação das colunas de chave no índice.

Não é significativo usar essa opção com uma chave de pesquisa que foi construída usando JetMakeKey usando uma opção curinga destinada a localizar entradas de índice mais próximas do final do índice.

JET_bitSeekGT

O cursor será posicionado na entrada de índice mais próxima do início do índice que é maior que uma entrada de índice que corresponderia exatamente aos critérios de pesquisa. O início do índice é a entrada de índice encontrada ao mover para o primeiro registro nesse índice. O início do índice não é o mesmo que a extremidade baixa do índice, que pode ser alterada dependendo da ordem de classificação das colunas de chave no índice.

Não é significativo usar essa opção com uma chave de pesquisa que foi construída usando JetMakeKey usando uma opção curinga destinada a localizar entradas de índice mais próximas do início do índice.

JET_bitSeekLE

O cursor será posicionado na entrada de índice mais próxima do final do índice que seja menor ou igual a uma entrada de índice que corresponderia exatamente aos critérios de pesquisa. O final do índice é a entrada de índice encontrada ao mover para o último registro nesse índice. O final do índice não é o mesmo que a extremidade alta do índice, que pode ser alterada dependendo da ordem de classificação das colunas de chave no índice.

Não é significativo usar essa opção com uma chave de pesquisa que foi construída usando JetMakeKey usando uma opção curinga destinada a localizar entradas de índice mais próximas do início do índice.

JET_bitSeekLT

O cursor será posicionado na entrada de índice mais próxima do final do índice que é menor que uma entrada de índice que corresponderia exatamente aos critérios de pesquisa. O final do índice é a entrada de índice encontrada ao mover para o último registro nesse índice. O final do índice não é o mesmo que a extremidade alta do índice, que pode ser alterada dependendo da ordem de classificação das colunas de chave no índice.

Não é significativo usar essa opção com uma chave de pesquisa que foi construída usando JetMakeKey usando uma opção curinga destinada a localizar entradas de índice mais próximas do final do índice.

JET_bitSetIndexRange

Um intervalo de índice será configurado automaticamente para todas as chaves que correspondem exatamente à chave de pesquisa. O intervalo de índice resultante é idêntico a um que, de outra forma, teria sido criado por uma chamada para JetSetIndexRange com as opções JET_bitRangeInclusive e JET_bitRangeUpperLimit. Consulte JetSetIndexRange para obter mais informações.

Esse é um método conveniente para descobrir todas as entradas de índice que correspondem aos mesmos critérios de pesquisa.

Essa opção é ignorada, a menos que JET_bitSeekEQ também seja especificado.

Valor Retornado

Essa função permite o retorno de qualquer JET_ERRs definida nesta API. Para obter mais informações sobre erros do Jet, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Código de retorno

Descrição

JET_errSuccess

A operação foi concluída com sucesso.

Para JetSeek, isso significa que foi encontrada uma entrada de índice que correspondia exatamente aos critérios de pesquisa.

JET_errClientRequestToStopJetService

Não é possível concluir a operação porque todas as atividades na instância associada à sessão cessaram como resultado de uma chamada para JetStopService.

JET_errInstanceUnavailable

Não é possível concluir a operação porque a instância associada à sessão encontrou um erro fatal que exige que o acesso a todos os dados seja revogado para proteger a integridade desses dados.

Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errKeyNotMade

Não há nenhuma chave de pesquisa atual para o cursor. O JetSeek exige que o cursor tenha uma chave de pesquisa válida, pois ele usará isso para os critérios de pesquisa usados para localizar entradas de índice.

JET_errNotInitialized

Não é possível concluir a operação porque a instância associada à sessão ainda não foi inicializada.

JET_errRecordNotFound

Não foi encontrada nenhuma entrada de índice que correspondesse aos critérios de pesquisa.

JET_errRestoreInProgress

Não é possível concluir a operação porque uma operação de restauração está em andamento na instância associada à sessão.

JET_wrnSeekNotEqual

Foi encontrada uma entrada de índice que correspondia aos critérios de pesquisa. No entanto, essa entrada de índice não foi uma correspondência exata.

JET_errSessionSharingViolation

A mesma sessão não pode ser usada para mais de um thread ao mesmo tempo.

Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errTermInProgress

Não é possível concluir a operação porque a instância associada à sessão está sendo desligada.

JET_wrnUniqueKey

Foi encontrada exatamente uma entrada de índice que correspondeu exatamente aos critérios de pesquisa. Esse erro só será retornado se JET_bitSeekCheckUniqueness tiver sido especificado e foi barato determinar que a entrada de índice correspondente foi a única entrada de índice que corresponde exatamente aos critérios de pesquisa.

Esse erro só será retornado pelo Windows Server 2003 e versões posteriores.

Em caso de êxito, o cursor será posicionado em uma entrada de índice que corresponda aos critérios de pesquisa. Se um registro tiver sido preparado para atualização, essa atualização será cancelada. Se um intervalo de índice estiver em vigor, esse intervalo de índice será cancelado. Se uma chave de pesquisa tiver sido construída para o cursor, essa chave de pesquisa será excluída. Nenhuma alteração no estado do banco de dados ocorrerá. Quando várias entradas de índice têm o mesmo valor, a entrada mais próxima do início do índice é sempre selecionada.

Em caso de falha, a posição do cursor permanecerá inalterada, a menos que JET_errRecordNotFound tenha sido retornado. Nesse caso, o cursor será posicionado onde a entrada de índice que correspondeu aos critérios de pesquisa especificados pela chave de pesquisa nesse cursor e a desigualdade especificada teria sido. O cursor pode ser movido em relação a essa posição, mas ainda não está em uma entrada de índice válida. Se um registro tiver sido preparado para atualização, essa atualização será cancelada. Se um intervalo de índice estiver em vigor, esse intervalo de índice será cancelado. Se uma chave de pesquisa tiver sido construída para o cursor, essa chave de pesquisa será excluída. Nenhuma alteração no estado do banco de dados ocorrerá.

Requisitos

Requisito Valor

Cliente

Requer Windows Vista, Windows XP ou Windows 2000 Professional.

Servidor

Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Consulte Também

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetMakeKey
JetSetIndexRange
JetStopService