Conjunto de registros: rolando (ODBC)
Este tópico se aplica às classes ODBC do MFC.
Depois de abrir um conjunto de registros, você precisa acessar os registros para exibir valores, faz cálculos, gerenciar relatórios, e assim por diante. A rolagem permite movimentação de registro para o registro dentro do conjunto de registros.
Este tópico explica:
Como rolagem de um registro outro em um conjunto de registros.
Rolar é e não tem suporte em quais circunstâncias.
Rolagem de um registro para outro
A classe CRecordset fornece funções de membro de Mover para rolar em um conjunto de registros. Essas funções mover o registro atual por conjuntos de linhas. Se você implementar a linha em massa que pesquisa, uma operação de Mover reposicionar o conjunto de registros pelo tamanho do conjunto de linhas. Se você não tiver implementado a linha em massa que pesquisa, uma chamada a uma função de Mover reposicionar o conjunto de registros por um registro de cada vez. Para obter mais informações sobre a linha em massa que pesquisa, consulte Conjunto de registros: Buscando registros em massa (ODBC).
Dica
Ao mover com um conjunto de registros, os registros excluídos não podem ser ignorados.Para obter mais informações, veja a função de membro de IsDeleted .
Além das funções de Mover , CRecordset fornece funções de membro para verificar se você rolar após o término ou antes do início do conjunto de registros.
Para determinar se é possível rolar no conjunto de registros, chame a função de membro de CanScroll .
Para rolar
Encaminhar um registro ou um conjunto de linhas: chame a função de membro de MoveNext .
Para trás um registro ou um conjunto de linhas: chame a função de membro de MovePrev .
O primeiro registro no conjunto de registros: chame a função de membro de MoveFirst .
Ao último registro no conjunto de registros ou ao conjunto de linhas do último: chame a função de membro de MoveLast .
Registrosde Em relação à posição atual: chame a função de membro de Movimentação .
Para testar o ou para o início do conjunto de registros
Você enrolou o passado o último registro? Chame a função de membro de IsEOF .
Você enrolou antes do primeiro registro (que se move para trás)? Chame a função de membro de IsBOF .
O exemplo de código usa IsBOF e IsEOF para detectar os limites do conjunto de registros ao rolar em qualquer direção.
// Open a recordset; first record is current
CCustSet rsCustSet( NULL );
rsCustSet.Open( );
if( rsCustSet.IsBOF( ) )
return;
// The recordset is empty
// Scroll to the end of the recordset, past
// the last record, so no record is current
while ( !rsCustSet.IsEOF( ) )
rsCustSet.MoveNext( );
// Move to the last record
rsCustSet.MoveLast( );
// Scroll to beginning of the recordset, before
// the first record, so no record is current
while( !rsCustSet.IsBOF( ) )
rsCustSet.MovePrev( );
// First record is current again
rsCustSet.MoveFirst( );
IsEOF retorna um valor diferente de zero se o conjunto de registros é posicionado o passado o último registro. IsBOF retorna um valor diferente de zero se o conjunto de registros é posicionado antes do primeiro registro (antes de todos os registros). Em ambos os casos, não há nenhum registro atual a operar em. Se você chamar MovePrev quando IsBOF já Verdadeiro ou chamada MoveNext quando IsEOF já Verdadeiro, a estrutura gerencie CDBException. Você também pode usar IsBOF e IsEOF para verificar um conjunto de registros vazia.
Para obter mais informações sobre a navegação do conjunto de registros, consulte Conjunto de registros: Indicadores e posições absolutas (ODBC).
Quando rolar suporte
Como foi criado originalmente, o SQL forneceu apenas a rolagem para frente, mas ODBC estende os recursos de rolagem. O nível de suporte disponível para rolar depende dos drivers ODBC seu trabalho de aplicativo com, nível de conformidade de ODBC API do driver, e se a biblioteca de cursores ODBC será carregada na memória. Para obter mais informações, consulte ODBC e ODBC: A biblioteca de cursores ODBC.
Dica
Você pode controlar se a biblioteca de cursores será usada.Consulte os parâmetros de bUseCursorLib e de dwOptions a CDatabase::Open.
Dica
Ao contrário das classes MFC DAO, as classes de MFC ODBC não fornecem um conjunto de funções de Localizar para localizar o registro a seguir (ou anterior) que atende aos critérios especificados.