virtual privatevoid Mover ( longa nRows, WORD wFetchType = SQL_FETCH_RELATIVE);
lançar ( CDBException, CMemoryException );
Parâmetros
nRows
O número de linhas para mover para frente ou para trás. Valores positivos movem frente, até o final do conjunto de registros. Valores negativos movem para trás, para o início.
wFetchType
Determina o conjunto de linhas que Mover será buscar. Para obter detalhes, consulte "Comentários".
Observações
Chame essa função de membro para mover o ponteiro do registro atual no conjunto de registros, frente ou para trás. Se você passar um valor de 0 para nRows, Mover atualiza o registro atual; Mover vai acabar qualquer atual AddNew ou Editar modo e restaurará o valor do registro atual antes de AddNew ou Editar foi chamado.
&Notanbsp; Ao mover-se através de um conjunto de registros, registros excluídos não podem ser ignorados. Consulte a função de membro de IsDeleted para obter detalhes.
Mover reposiciona o conjunto de registros por conjuntos de linhas. Com base nos valores para nRows e wFetchType, Mover busca o conjunto de linhas apropriado e, em seguida, faz o primeiro registro em que conjunto de registros do registro atual. Se não tiver implementado em massa linha buscando, em seguida, o tamanho de conjunto de linhas é sempre 1. Quando buscar um conjunto de linhas, Mover diretamente chama o função de membro de CheckRowsetError para tratar quaisquer erros resultantes da busca.
Dependendo dos valores que você passar, Mover é equivalente a outro funções de membro CRecordset . Em particular, o valor de wFetchType pode indicar uma função de membro que é mais intuitiva e, muitas vezes, o método preferencial para mover o registro atual.
A tabela a seguir lista os possíveis valores para wFetchType, o conjunto de linhas que Mover será buscar com base em qualquer função de membro equivalente correspondente para wFetchType e nRowse wFetchType.
| wFetchType | Conjunto de linhas extraído | 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 registros atual. | |
| SQL_FETCH_NEXT | O Avançar conjunto de linhas; nRows será ignorado. | MoveNext |
| SQL_FETCH_PRIOR | O conjunto de registros anterior; nRows será ignorado. | MovePrev |
| SQL_FETCH_FIRST | O primeiro conjunto de linhas no conjunto de registros; nRows será ignorado. | MoveFirst |
| SQL_FETCH_LAST | O último conjunto de linhas completo no conjunto de registros; nRows será ignorado. | MoveLast |
| SQL_FETCH_ABSOLUTE | Se nRows gt; 0, o conjunto de linhas iniciando nRows linhas desde o início do conjunto de registros. Se nRows < 0, o conjunto de linhas iniciando nRows linha (s) do final do conjunto de registros. Se nRows = 0, então uma condição de início de arquivo (BOF) é retornada. | SetAbsolutePosition |
| SQL_FETCH_BOOKMARK | O conjunto de linhas começando na linha cujo valor do indicador corresponde ao nRows. | SetBookmark |
&Notanbsp; Para conjuntos de registros somente de foward, Mover só é válido com um valor de SQL_FETCH_NEXT para wFetchType.
Cuidado Chamar Mover lança uma exceção se o conjunto de registros não tiver nenhum registro. Para determinar se o conjunto de registros tem todos os registros, chame IsBOF e IsEOF.
Se você tiver rolada após o início ou fim do conjunto de registros (IsBOF ou IsEOF retorna diferente de zero), chamar uma Mover função possivelmente lançará um CDBException. Por exemplo, se IsEOF retorna diferente de zero e não IsBOF , em seguida, MoveNext lançará uma exceção, mas não irá MovePrev.
Se você chamar Mover enquanto o registro atual 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 os artigos Recordset: rolagem (ODBC) e Recordset: indicadores e absoluto posições (ODBC) no Guia do programador do Visual C++. Para obter mais informações sobre a linha em massa buscando, consulte o artigo Recordset: Buscar registros em massa (ODBC) no Guia do programador do Visual C++. Para obter informações relacionadas, consulte a função de API de ODBC SQLExtendedFetch in the Referência do programador ODBC SDK.
Exemplo
/ / rs é um CRecordset ou uma / / CRecordset-derivado objeto
/ / Alterar o tamanho de conjunto de linhas para 5
RS.SetRowsetSize (5);
/ / Move para o primeiro registro
/ / no conjunto de registros
RS.MoveFirst ();
/ / Move para o registro sexto
RS.Mover (5);
/ / Outras maneiras equivalentes de
/ / move para o registro de sexto:
/ / rs.Mover (6, SQL_FETCH_ABSOLUTE);
/ / rs.SetAbsolutePosition (6);
/ / Neste caso, é o sexto registo
/ / o primeiro registro no conjunto de linhas próximo,
/ / assim que a seguir também é equivalente:
/ / rs.Movimento (1, SQL_FETCH_NEXT);
/ / rs.MoveNext)
Visão geral de CRecordset | Membros de classe | Gráfico de hierarquia
Consulte tambémnbsp;CRecordset::Move&Next, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast, CRecordset::SetAbsolutePosition, CRecordset::SetBookmark, CRecordset::IsBOF, CRecordset::IsEOF, CRecordset::CheckRowsetError