Compartir a través de


CRecordset::Move

Mueve el indicador de registro actual en el conjunto de registros, hacia delante o hacia atrás.

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

Parámetros

  • nRows
    El número de filas a avanzar o atrasadas.Los valores positivos desplazan hacia delante, hacia el final del conjunto de registros.Los valores negativos mueven hacia atrás, hacia el principio.

  • wFetchType
    Determina el conjunto de filas que Mover capturará.Para obtener detalles, vea las notas.

Comentarios

Si se pasa un valor de 0 para nRows, Mover actualiza el registro actual; Mover finalizará cualquier AddNew o modo actual de Editar , y restaure el valor del registro actual antes de que AddNew o Editar se denomina.

[!NOTA]

Al desplazarse a través de un conjunto de registros, no puede omitir los registros eliminados.Vea CRecordset::IsDeleted para obtener más información.Al abrir CRecordset con la opción establecida de skipDeletedRecords , Mover aserciones si el parámetro de nRows es 0.Este comportamiento evita la actualización de las filas que son eliminadas por otras aplicaciones cliente que usan los mismos datos.Vea el parámetro de dwOption en Abrir para obtener una descripción de skipDeletedRecords.

Mover coloca el conjunto de registros de conjuntos de filas.Según los valores para nRows y wFetchType, Mover obtiene el conjunto de filas adecuado y crea el primer registro de ese conjunto de filas el registro actual.Si no está implementada la obtención masiva de filas, el tamaño del conjunto de filas es siempre 1.Al recuperar un conjunto de filas, Mover llama directamente la función miembro de CheckRowsetError para controlar cualquier error resultando de búsqueda.

Dependiendo de los valores que pasa, Mover equivale a otras funciones miembro de CRecordset .En particular, el valor de wFetchType puede indicar una función miembro que sea más intuitiva y a menudo el método recomendado para mover el registro actual.

La tabla siguiente se enumeran los posibles valores para wFetchType, conjunto de filas que Mover captura basado en wFetchType y nRows, y cualquier función equivalente del miembro correspondiente a wFetchType.

wFetchType

Conjunto de filas capturado

Función equivalente del miembro

SQL_FETCH_RELATIVE (valor predeterminado)

El conjunto de filas que comienza las filas de nRows de la primera fila del conjunto de filas actual.

 

SQL_FETCH_NEXT

El siguiente conjunto de filas; se omite nRows .

MoveNext

SQL_FETCH_PRIOR

El conjunto de filas anterior; se omite nRows .

MovePrev

SQL_FETCH_FIRST

El primer conjunto de filas del conjunto de registros; se omite nRows .

MoveFirst

SQL_FETCH_LAST

El conjunto de filas completo pasado en el conjunto de registros; se omite nRows .

MoveLast

SQL_FETCH_ABSOLUTE

Si nRows > 0, el conjunto de filas que comienza las filas de nRows desde el comienzo del conjunto de registros.Si nRows < 0, el conjunto de filas que comienza las filas de nRows el final del conjunto de registros.Si nRows = 0, entonces una condición de (BOF) de principio-de- archivo se devuelve.

SetAbsolutePosition

SQL_FETCH_BOOKMARK

El conjunto de filas que comienza en la fila cuyo valor de marcador corresponde a nRows.

SetBookmark

[!NOTA]

Para los conjuntos de registros hacia delante - solo, Mover sólo es válido con un valor de SQL_FETCH_NEXT para wFetchType.

Nota de precauciónPrecaución

La llamada Mover produce una excepción si el conjunto de registros no tiene ningún registro.Para determinar si el conjunto de registros contiene algún registro, llamada IsBOF y IsEOF.

[!NOTA]

Si se ha desplazado más allá del principio o el final del conjunto de registros (IsBOF o IsEOF devuelve cero), llame a una función de Mover producirá posiblemente CDBException.Por ejemplo, si IsEOF devuelve cero y no hace IsBOF , después MoveNext producirá una excepción, pero MovePrev no.

[!NOTA]

Si llama a Mover mientras se actualiza o se está agregando el registro actual, las actualizaciones se pierden sin advertencia.

Para obtener más información sobre la navegación por conjuntos de registros, vea los artículos conjunto de registros: El desplazamiento (ODBC) y conjunto de registros: marcadores y posiciones absolutas (ODBC).Para obtener más información sobre la obtención masiva de filas, vea el artículo conjunto de registros: Obtener registros de forma masiva (ODBC).Para obtener información relacionada, vea la función API SQLExtendedFetch de ODBC en Windows SDK.

Excepciones

Este método puede producir excepciones de CDBException* escrito y de CMemoryException*.

Ejemplo

// 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

encabezado: afxdb.h

Vea también

Referencia

Clase CRecordset

Gráfico de jerarquía

CRecordset::MoveNext

CRecordset::MovePrev

CRecordset::MoveFirst

CRecordset::MoveLast

CRecordset::SetAbsolutePosition

CRecordset::SetBookmark

CRecordset::IsBOF

CRecordset::IsEOF

CRecordset::CheckRowsetError