CDaoRecordset::Seek

BOOL Seek (LPCTSTR lpszComparison, COleVariant * pKey1, COleVariant * pKey2 = NULL, COleVariant * pKey3 = NULL);
lançar (CDaoException, CMemoryException);

BOOL Seek (LPCTSTR lpszComparison, COleVariant * pKeyArray, palavra nKeys);
lançar (CDaoException, CMemoryException);

Valor de retorno

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

Parâmetros

lpszComparison

Uma das expressões de Cadeia de caracteres a seguir: "lt;", "< =", "=", "> =", ou ">".

pKey1

Um ponteiro para um COleVariant cujo valor corresponde para o primeiro campo no índice. Necessário.

pKey2

Um ponteiro para um COleVariant cujo valor corresponde ao segundo campo do í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 tamanho da matriz corresponde ao número de campos no índice.

nKeys

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

&Notanbsp;  Não especifique caracteres curinga nas chaves. Curingas causará Seek retornar registros não coincidentes.

Observações

Chame essa função de membro para localizar o registro em um objeto recordset do tipo tabela indexado que satisfaça os critérios especificados para o atual índice e certificar de que grava o registro atual. Use o segundo versão (matriz) do Seek para manipular índices de quatro campos ou mais.

Seek permite pesquisar em conjuntos de registros do tipo tabela de indexação de alto desempenho. Você deve definir o índice atual chamando SetCurrentIndex antes de chamar Seek. Se o índice identifica um campo não exclusivo de chave ou os campos, Seek localiza o primeiro registo que satisfaça os critérios. Se você não definir um índice, uma exceção é lançada.

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

Quando você chama Seek, você passar um ou mais valores de chave e um operador de comparação ("lt;", "< =", "=", "> =", ou ">"). Seek pesquisa através dos campos de chaves especificados e localiza o primeiro registo que satisfaça os critérios especificados por lpszComparison e pKey1. Uma vez encontrado, Seek retorna diferente de zero e torna o registro atual. Se busca não localizar uma correspondência, Seek retorna zero, e o registro atual é indefinido. Quando usando o DAO diretamente, você deve marcar explicitamente a propriedade NoMatch.

Se lpszComparison é "=", nbsp; "> =", ou ">", Seek começa no início do índice. Se lpszComparison é "<" ou "< =", começa a Buscar no final do índice e procura com versões anteriores, salvo se houver Duplicar entradas de índice remissivo no final. Neste caso, Seek começa em uma entrada arbitrária entre as entradas de índice duplicada no final do índice.

Não tem de haver um registro atual quando você usar Seek.

Para localizar um registro em um Recordset tipo dynaset ou um recordset do tipo snapshot que satisfaça uma condição específica, use as operações de localizar. Para incluir todos os registros, não apenas aqueles que atendem uma condição específica, use as operações de mover para mover de um registro para outro.

Você não pode chamar Seek em uma tabela anexada de qualquer tipo porque tabelas anexadas devem ser abertas como tipo dynaset ou conjuntos de registros do tipo snapshot. No entanto, se você chamar CDaoDatabase::Open para abrir um banco de dados ISAM instalável diretamente, você pode chamar Seek em tabelas no banco de dados, embora o desempenho pode ser lento.

Para obter mais informações sobre como localizar registros, consulte o artigo DAO Recordset: navegação do conjunto de registros no Guia do programador do Visual C++. Para obter informações relacionadas, consulte o tópico "Método Seek" na Ajuda do DAO.

Visão geral de CDaoRecordsetMembros de classe | Gráfico de hierarquia

Consulte tambémnbsp;CDaoRecordset::FindFirst, CDaoRecordset::FindLast, CDaoRecordset::Find&Next, CDaoRecordset::FindPrev, CDaoRecordset::Move, CDaoRecordset::MoveFirst, CDaoRecordset::MoveLast, CDaoRecordset::MoveNext, CDaoRecordset::MovePrev, COleVariant:: COleVariant, COleVariant::SetString

Index