Compartir a través de


CDaoRecordset::IsBOF

Llame a esta función miembro antes de desplazarse entre registros para saber si ha salido antes del primer registro de conjunto de registros.

BOOL IsBOF( ) const;

Valor devuelto

Distinto de cero si el conjunto de registros no contiene ningún registro o si se ha desplazado hacia atrás antes del primer registro; si no 0.

Comentarios

También puede llamar IsBOF junto con IsEOF para determinar si el conjunto de registros contiene algún registro o está vacío. Inmediatamente después de llamar a Abrir, si el conjunto de registros no contiene ningún registro, IsBOF devuelve cero. Al abrir un conjunto de registros que contiene por lo menos un registro, el primer registro es el registro actual y IsBOF devuelve 0.

Si el primer registro es el registro actual y se llama a MovePrev, IsBOF devolverá posteriormente distinto de cero. Si IsBOF devuelve cero y llama a MovePrev, se produce una excepción. Si IsBOF devuelve cero, el registro actual es indefinido, y cualquier acción que requiere un registro actual producirá una excepción.

efecto de métodos específicos en IsBOF y los valores de IsEOF :

  • La llamada Abrir crea internamente el primer registro del conjunto de registros el registro actual llamando a MoveFirst. Por consiguiente, llamar a Abrir en conjunto vacío de registros hace IsBOF y IsEOF a cero return. (Vea la tabla siguiente para el comportamiento de MoveFirst o una llamada con errores de MoveLast .)

  • Todos mueven las operaciones que encuentran correctamente una causa de registro IsBOF y IsEOF de devolver 0.

  • Una llamada de AddNew seguida de una llamada de Update que inserte correctamente un nuevo registro hará IsBOF para devolver 0, pero solo si IsEOF ya es distinto de cero. Permanecerá el estado de IsEOF siempre sin modificar. Como definido por el motor de base de datos Microsoft Jet, el indicador de registro actual de un conjunto de registros vacíos está en el final de un archivo, por lo que cualquier nuevo registro se inserta a continuación del registro actual.

  • ninguna llamada de Eliminar , incluso si quita el único registro restante de un conjunto de registros, no cambiará el valor de IsBOF o de IsEOF.

Esta tabla muestra qué operaciones de movimiento se permiten con diferentes combinaciones de IsBOF/IsEOF.

 

MoveFirst, MoveLast

MovePrev,

movimiento < 0

movimiento 0

MoveNext,

movimiento > 0

=nonzero deIsBOF,

IsEOF=0

Se permite

Excepción

Excepción

Se permite

IsBOF=0,

=nonzero deIsEOF

Se permite

Se permite

Excepción

Excepción

Ambos cero

Excepción

Excepción

Excepción

Excepción

Ambos 0

Se permite

Se permite

Se permite

Se permite

Permitir una operación de movimiento no significa que la operación establezca correctamente un registro. Simplemente indica que un intento de realizar la operación especificada de movimiento está permitido y no producirá una excepción. El valor de las funciones miembro de IsBOF y de IsEOF puede cambiar como resultado de movimiento frustrado.

El efecto de las operaciones de movimiento que no encuentran un registro en el valor de IsBOF y los valores de IsEOF se muestra en la tabla siguiente.

 

IsBOF

IsEOF

MoveFirst, MoveLast

Cero

Cero

Mover 0

Sin cambios

Sin cambios

MovePrev, Mover < 0

Cero

Sin cambios

MoveNext, Mover > 0

Sin cambios

Cero

Para obtener información relacionada, vea el tema “BOF, propiedades EOF” en la Ayuda de DAO.

Requisitos

encabezado: afxdao.h

Vea también

Referencia

CDaoRecordset Class

Gráfico de jerarquías

CDaoRecordset::IsEOF