Compartilhar via


conjunto de registros: Filtragem de registros (ODBC)

Este tópico se aplica a classes MFC ODBC.

Este tópico explica como filtrar um conjunto de registros para que ela selecione somente um subconjunto específico de registros disponível.Por exemplo, convém selecionar somente sistema autônomo seções de classe para um curso específico, sistema autônomo MATH101.Um filtro é um critério de Pesquisar definido pelo Sumário de um SQL ONDE cláusula.Quando a estrutura acrescenta à demonstrativo do SQL do conjunto de registros, a ONDE cláusula limita a seleção.

Você deve estabelecer de filtro um objeto de conjunto de registros após você construir o objeto, mas antes de chamar sua em aberto função de membro (ou antes de chamar o repetir consulta função de membro de um conjunto de registros existente do objeto cujo em abertofunção de membro foi telefonar anteriormente).

Para especificar um filtro para um objeto conjunto de registros

  1. Construir um novo objeto de conjunto de registros (ou se preparar para chamar repetir consulta para um objeto existente).

  2. conjunto o valor m_strFilter membro de dados.

    O filtro é uma seqüência de caracteres terminada com nulo que contém o Sumário do SQL ONDE cláusula mas não a palavra-chave ONDE.Por exemplo, use:

    m_pSet->m_strFilter = "CourseID = 'MATH101'";
    

    não

    m_pSet->m_strFilter = "WHERE CourseID = 'MATH101'";
    
    Observação:

    A seqüência literal "MATH101" é mostrada com aspas simples acima.A especificação ODBC do SQL, aspas simples são usadas para indicar uma seqüência de caractere literal.Verifique a documentação do driver ODBC para os requisitos de cotação do seu DBMS nessa situação.Essa sintaxe também é discutida mais próximo ao participante deste tópico.

  3. conjunto quaisquer Outross opções que você precisa, sistema autônomo ordem de classificar, modo de bloqueio ou parâmetros.Especificar um parâmetro é especialmente útil.Para obter informações sobre seu filtro de parametrização, consulte conjunto de registros: Parametrização um conjunto de registros (ODBC).

  4. De telefonarem aberto para o novo objeto (ou Repetir a consulta para um objeto em aberto anteriormente).

Dica:

Usando parâmetros em seu filtro potencialmente é o método mais eficiente para recuperação de registros.

Dica:

Filtros de conjunto de registros são úteis para ingressando em tabelas e para o uso de parâmetros com base nas informações obtidas ou calculado em time de execução.

O conjunto de registros seleciona somente os registros que satisfazem o critério de Pesquisar especificado.Por exemplo especificar o filtro de curso descrito acima (supondo que uma variável strCourseIDno momento conjunto, por exemplo, para "MATH101"), faça o seguinte:

// Using the recordset pointed to by m_pSet

// Set the filter
m_pSet->m_strFilter = "CourseID = " + strCourseID; 

// Run the query with the filter in place
if ( m_pSet->Open( CRecordset::snapshot, NULL, CRecordset::readOnly ) )

// Use the recordset

O conjunto de registros contém registros de todas as seções de classe para MATH101.

Observe como a seqüência de caracteres de filtro foi definida no exemplo acima, usando uma variável de seqüência de caracteres.Esse é o uso típico.Mas suponha que você deseja especificar o valor literal 100 para a ID do curso.O código a seguir mostra como conjunto a seqüência de caracteres de filtro corretamente com um valor literal:

m_strFilter = "StudentID = '100'";   // correct

Observe o uso de caracteres de aspas simples; se você conjunto a seqüência de caracteres de filtro diretamente, a seqüência de caracteres de filtro é não:

m_strFilter = "StudentID = 100";   // incorrect for some drivers

Cotação mostrado acima atende à especificação do ODBC, mas alguns DBMSs podem exigir outros caracteres de aspas.Para obter mais informações, consulte SQL: Personalizando conjunto de registros demonstrativo SQL (ODBC).

Observação:

Se você optar por substituir seqüência de caracteres do conjunto de registros padrão SQL, passando a sua própria seqüência de caracteres SQL para em aberto, você não deve conjunto um filtro se sua seqüência personalizada tiver um ONDE cláusula.Para obter mais informações sobre sobrescrevendo o padrão SQL, consulte SQL: Personalizando conjunto de registros demonstrativo SQL (ODBC).

Consulte também

Conceitos

conjunto de registros (ODBC)

conjunto de registros: Registros classificação (ODBC)

conjunto de registros: Como Recordsets selecionar registros (ODBC)

conjunto de registros: Como Recordsets atualização registros (ODBC)

conjunto de registros: Bloqueio de registros (ODBC)