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. |
|
SQL_FETCH_PRIOR |
O conjunto de linhas anterior; nRows é ignorado. |
|
SQL_FETCH_FIRST |
O primeiro conjunto de linhas no conjunto de registros; nRows é ignorado. |
|
SQL_FETCH_LAST |
O conjunto de linhas completo último no conjunto de registros; nRows é ignorado. |
|
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. |
|
SQL_FETCH_BOOKMARK |
Conjunto de linhas, começando na linha cujo valor do indicador corresponde à nRows. |
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
CRecordset::SetAbsolutePosition