Compartilhar via


CDaoRecordset::Seek

Chamar essa função de membro para localizar o registro em um objeto de conjunto de registros do tipo tabela indexado que satisfaça os critérios especificados para o corrente índice e tornar esse registro o registro corrente.

BOOL Seek(
   LPCTSTR lpszComparison,
   COleVariant* pKey1,
   COleVariant* pKey2 = NULL,
   COleVariant* pKey3 = NULL 
);
BOOL Seek(
   LPCTSTR lpszComparison,
   COleVariant* pKeyArray,
   WORD nKeys 
);

Parâmetros

  • lpszComparison
    Uma das expressões de seqüência de caracteres a seguir: "<", "<=", "=", ">=", or ">".

  • pKey1
    Um ponteiro para um COleVariant cujo valor corresponde ao primeiro campo no índice.Obrigatório.

  • pKey2
    Um ponteiro para um COleVariant cujo valor corresponde ao segundo campo no índice, se houver. O padrão é NULO.

  • pKey3
    Um ponteiro para um COleVariant cujo valor corresponde ao terceiro campo no índice, se houver. O padrão é NULO.

  • pKeyArray
    Um ponteiro para uma matriz de variantes.O dimensionar da matriz corresponde ao número de campos no índice.

  • nKeys
    Um inteiro correspondente ao dimensionar da matriz, que é o número de campos no índice.

    Observação:

    Não especifique caracteres curinga nas chaves.Os curingas farão com que Seek para retornar registros não coincidentes.

Valor de retorno

Diferente de zero se registros correspondentes forem encontrados, caso contrário, 0.

Comentários

Usar a segunda versão (matriz) Seek para lidar com índices de campos de quatro ou mais.

Seek permite a indexação de alto desempenho, pesquisa em conjuntos de registros do tipo tabela. Você deve conjunto o índice corrente chamando SetCurrentIndex antes de ligar Seek. Se o índice identifica um campo de chave não exclusivo ou campos, Seek Localiza o primeiro registro que satisfaça aos critérios. Se você não conjunto um índice, uma exceção é lançada.

Observe que, se você não estiver criando um conjunto de registros do UNICODE, a COleVariant objetos devem ser declarados explicitamente como ANSI. Isso pode ser concluído usando o COleVariant::COleVariant( lpszSrc**,** vtSrc ) forma de construtor com vtSrc definido como VT_BSTRT (ANSI) ou usando o COleVariant função de SetString( lpszSrc**,** vtSrc ) with vtSrc definido como VT_BSTRT.

Quando você telefonar Seek, você passa uma ou mais valores de chave e um operador de comparação ("<","< =", "=", "> =", ou ">"). Seek procura os campos de chave especificados e localiza o primeiro registro que satisfaça aos critérios especificados por lpszComparison e pKey1. Uma vez localizado, Seek Retorna diferente de zero e torna esse registro corrente. If Seek não conseguir encontrar uma correspondência, Seek Retorna zero e o registro corrente é indefinido. Ao usar diretamente o DAO, você deve verificar a propriedade NoMatch explicitamente.

If lpszComparisonis "=", ">=", or ">", Seek começa no início do índice. If lpszComparisoné "<"ou"< =", Seek Inicia o participante do índice e procurará a menos que haja entradas de índice duplicado no participante. Nesse caso, Seek começa com uma entrada arbitrária entre as entradas de índice duplicado no participante do índice.

Há não precisa ser um registro corrente quando você usa Seek.

Para localizar um registro em um tipo dynaset ou conjunto de registros tipo instantâneo que satisfaça uma condição específica, use as operações de localização.Para incluir todos os registros, não apenas aqueles que atendem uma condição específica, use as operações de movimentação para mover de um registro para outro.

Não é possível telefonar Seek em uma tabela de anexo de qualquer tipo porque tabelas anexadas devem ser abertas sistema autônomo tipo dynaset ou conjuntos de registros do tipo instantâneo. No entanto, se você chamar CDaoDatabase::Open Para em em aberto um banco de dados ISAM instalável diretamente, você pode chamar Seek nas tabelas do banco de dados, embora o desempenho pode ser lento.

Para obter informações relacionadas, consulte o tópico "Método Seek" na Ajuda do DAO.

Requisitos

Cabeçalho: afxdao.h

Consulte também

Referência

Classe CDaoRecordset

Gráfico de hierarquia

CDaoRecordset::FindFirst

CDaoRecordset::FindLast

CDaoRecordset::FindNext

CDaoRecordset::FindPrev

CDaoRecordset::Move

CDaoRecordset::MoveFirst

CDaoRecordset::MoveLast

CDaoRecordset::MoveNext

CDaoRecordset::MovePrev

COleVariant::COleVariant

COleVariant::SetString

Outros recursos

CDaoRecordset membros