Partilhar via


CRecordset::Move

Move o registro corrente ponteiro no conjunto de registros, encaminhar ou para trás.

virtual void Move( 
   long nRows, 
   WORD wFetchType = SQL_FETCH_RELATIVE  
);

Parâmetros

  • nRows
    O número de linhas a Avançar ou retroceder.Os valores positivos movem encaminhar, no participante do conjunto de registros.Valores negativos movem para trás, em direção ao início.

  • wFetchType
    Determina o conjunto de linhas que Mover irá retornar.Para obter detalhes, consulte comentários.

Comentários

Se você passar o valor 0 para nRows, Mover correnteiza o registro corrente; Mover terminará qualquer corrente AddNew ou edição modo de e restaurará o valor registro corrente's antes AddNew ou edição foi chamado.

Observação:

Ao mover um conjunto de registros, você não pode ignorar os registros excluídos.Consulte CRecordset::IsDeleted para obter mais informações.Quando você abre um CRecordset com o skipDeletedRecords conjunto de opções de , Mover declarações se o nRows o parâmetro é 0. Esse comportamento impede que a atualização de linhas que são excluídos por outros aplicativos de cliente usando os mesmos dados.Consulte o dwOption parâmetro em em aberto para obter uma descrição de skipDeletedRecords.

Mover reposiciona o conjunto de registros por conjuntos de linhas.Com base nos valores de nRows e wFetchType, Mover extrai o conjunto de linhas apropriado e, em seguida, torna o primeiro registro no conjunto de linhas que o registro corrente.Se não tiver implementado em massa linha buscar, em seguida, o dimensionar do conjunto de linhas é sempre 1.Quando se busca um conjunto de registros, Mover a chama diretamenteCheckRowsetErrorfunção de membro para manipular erros resultantes da busca.

Dependendo dos valores que você passar, Mover é equivalente a outros CRecordset funções de membro. Em particular, o valor de wFetchType pode indicar uma função de membro que é mais intuitiva e muitas vezes o método preferido para mover o registro corrente.

A tabela a seguir lista os valores possíveis para wFetchType, o conjunto de linhas que Mover irá retornar com base em wFetchType e nRowse qualquer função de membro equivalente correspondente wFetchType.

wFetchType

Conjunto de linhas buscado

Função de membro equivalente

SQL_FETCH_RELATIVE (o valor padrão)

O conjunto de linhas iniciando nRows linhas da primeira linha no conjunto de linhas corrente.

 

SQL_FETCH_NEXT

O próximo conjunto de linhas; nRows é ignorado.

MoveNext

SQL_FETCH_PRIOR

O conjunto de linhas anterior; nRows é ignorado.

MovePrev

SQL_FETCH_FIRST

O primeiro conjunto de linhas no conjunto de registros; nRows é ignorado.

MoveFirst

SQL_FETCH_LAST

O conjunto de linhas completo último no conjunto de registros; nRows é ignorado.

MoveLast

SQL_FETCH_ABSOLUTE

If nRows>0, o conjunto de linhas iniciando nRows linha (s) do início do conjunto de registros. If nRows<0, o conjunto de linhas iniciando nRows linha (s) a partir do participante do conjunto de registros. If nRows = 0, uma condição de início de arquivo (BOF) será retornado.

SetAbsolutePosition

SQL_FETCH_BOOKMARK

Conjunto de linhas, começando na linha cujo valor do indicador corresponde à nRows.

SetBookmark

Observação:

Para conjuntos de registros do foward-only Mover só é válida com um valor de SQL_FETCH_NEXT para wFetchType.

Cuidado:

Chamada Mover lança uma exceção se o conjunto de registros não possui registros.Para determinar se o conjunto de registros tem qualquer registro, chame IsBOF and IsEOF.

Observação:

Se você percorreu após o início ou participante do conjunto de registros ( IsBOF ou IsEOF Retorna diferente de zero), chamada um Mover função possivelmente lançará um CDBException. Por exemplo, se IsEOF Retorna diferente de zero e IsBOF Não, em seguida MoveNext lançará uma exceção, mas MovePrev não serão.

Observação:

Se você chamar Mover enquanto o registro corrente está sendo atualizado ou adicionado, as atualizações serão perdidas sem aviso.

Para obter mais informações sobre navegação do conjunto de registros, consulte o artigo Recordset: Rolagem (ODBC) e conjunto de registros: Indicadores e absoluto Positions (ODBC).Para obter mais informações sobre buscar a linha em massa, consulte o artigo conjunto de registros: Buscando os registros em massa (ODBC).Para obter informações relacionadas, consulte a função de ODBC API SQLExtendedFetch in the Windows SDK.

Exceções

Esse método pode lançar exceções do tipo CDBException * and CMemoryException*.

Exemplo

// rs is a CRecordset or a CRecordset-derived object

// Change the rowset size to 5
rs.SetRowsetSize(5);

// Open the recordset
rs.Open(CRecordset::dynaset, NULL, CRecordset::useMultiRowFetch);

// Move to the first record in the recordset
rs.MoveFirst();

// Move to the sixth record
rs.Move(5);
// Other equivalent ways to move to the sixth record:
rs.Move(6, SQL_FETCH_ABSOLUTE);
rs.SetAbsolutePosition(6);
// In this case, the sixth record is the first record in the next rowset,
// so the following are also equivalent:
rs.MoveFirst();
rs.Move(1, SQL_FETCH_NEXT);

rs.MoveFirst();
rs.MoveNext();

Requisitos

Cabeçalho: afxdb.h

Consulte também

Referência

Classe CRecordset

Gráfico de hierarquia

CRecordset::MoveNext

CRecordset::MovePrev

CRecordset::MoveFirst

CRecordset::MoveLast

CRecordset::SetAbsolutePosition

CRecordset::SetBookmark

CRecordset::IsBOF

CRecordset::IsEOF

CRecordset::CheckRowsetError

Outros recursos

CRecordset membros