Compartilhar via


CDaoRecordset::Seek

Chamar essa função de membro para localizar o registro em um objeto indexado do conjunto de registros da tabela de tipo que satisfaz os critérios específicos para o índice atual e faça-a que registra o registro atual.

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 cadeia de caracteres: "<", "<=", "=", ">=", ou ">".

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

  • pKey2
    Um ponteiro para COleVariant cujo valor corresponde ao segundo campo no índice, se houver. Opções a NULO.

  • pKey3
    Um ponteiro para COleVariant cujo valor corresponde ao terceiro campo no índice, se houver. Opções a NULO.

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

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

    Dica

    Não especificar caracteres curinga em chaves.Curingas farão com que Seek não retorna nenhum registro de correspondência.

Valor de retorno

Diferente de zero se combinando os registros são encontrados, se não 0.

Comentários

Use a segunda versão (matriz) de Seek para manipular índices de quatro ou mais campos de.

Seek permite que o índice de alto desempenho que procura em conjuntos de registros da tabela de tipo. Você deve definir o índice atual chamando SetCurrentIndex antes de chamar Seek. Se o índice identifica um campo de chave ou mais campos nonunique, Seek localiza o primeiro registro que satisfaz os critérios. Se você não definir um índice, uma exceção é lançada.

Observe que se você não estiver criando um recordset de UNICODE, os objetos de COleVariant devem ser declaradas explicitamente ANSI. Isso pode ser feito usando o formulário de COleVariant::COleVariant( lpszSrc**,** vtSrc ) de construtor com vtSrc definido como VT_BSTRT (ANSI) ou usando a função SetString( lpszSrc**,** vtSrc ) de COleVariant com vtSrc definido como VT_BSTRT.

Quando você chama Seek, você passa um ou mais valores chave e um operador de comparação ("<", "<=", "=", ">=", or ">"). Seek procura pelos campos-chave especificados e localize o primeiro registro que satisfaz os critérios especificados por lpszComparison e por pKey1. Uma vez que encontrado, Seek retorna diferente de zero, e fazer essa atual do registro. Se Seek não encontra uma correspondência, Seek retorna zero, e o registro atual é indefinido. Ao usar DAO diretamente, você deve explicitamente verificar a propriedade de NoMatch.

Se lpszComparison é “=”, “>=”, ou “,” > começa de Seek no início do índice. Se lpszComparison é “<” ou”, “<= começa de Seek no final do índice de pesquisa e para trás a menos que haja existem entradas de índice duplicados no final. Em esse caso, é iniciado de Seek em uma entrada arbitrária entre as entradas de índice duplicados no final do índice.

Não tem que haja um registro atual quando você usa Seek.

Para localizar um registro em um conjunto de registros de dynaset- tipo ou de instantâneo- tipo que satisfaz uma condição específica, use as operações de localização. Para incluir todos os registros, não apenas aqueles que satisfazem uma condição específica, use as operações de animação para mover do registro no registro.

Você não pode chamar Seek em uma tabela anexo de qualquer tipo como as tabelas anexados devem ser aberto como conjuntos de registros de dynaset- tipo ou de instantâneo- tipo. Em o entanto, se você chamar diretamente CDaoDatabase::Open para abrir um banco de dados instalável de ISAM, você pode chamar Seek em tabelas no banco de dados, embora o desempenho pode ser lento.

Para informações relacionadas, consulte o tópico “método de pesquisa” na ajuda de DAO.

Requisitos

Cabeçalho: afxdao.h

Consulte também

Referência

Classe CDaoRecordset

Gráfico da hierarquia

CDaoRecordset::FindFirst

CDaoRecordset::FindLast

CDaoRecordset::FindNext

CDaoRecordset::FindPrev

CDaoRecordset::Move

CDaoRecordset::MoveFirst

CDaoRecordset::MoveLast

CDaoRecordset::MoveNext

CDaoRecordset::MovePrev

COleVariant::COleVariant

COleVariant::SetString