Compartir a través de


CRecordset::IsFieldDirty

Determina si se ha cambiado el miembro especificado de datos de campo desde que Editar o AddNew se llamó.

BOOL IsFieldDirty( 
   void * pv  
);

Parámetros

  • pv
    Un puntero al estado del miembro de datos de campo cuyo que desea comprobar, o NULL para determinar si cualquiera de los son modificados.

Valor devuelto

Distinto de cero si el miembro especificado de datos de campo ha cambiado desde llamar AddNew o Editar; si no 0.

Comentarios

Los datos de todos los miembros de datos de campo con modificaciones se transferirán al registro en el origen de datos cuando el registro actual está actualizado por una llamada a la función miembro de Update de CRecordset (siguiendo una llamada a Editar o a AddNew).

[!NOTA]

Esta función miembro no es aplicable en conjuntos de registros que se utiliza la obtención de filas masiva.Si está implementada la obtención de filas masiva, después IsFieldDirty devolverá FALSO y producirá siempre a un error de aserción.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).

La llamada IsFieldDirty restaure los efectos de incluir llamadas a SetFieldDirty puesto que evalúan de nuevo el estado modificado de campo.En el caso de AddNew , si el valor de campo actual difiere de pseudo valor NULL, el estado del campo es modificado establecido.En el caso de Editar , si el valor de campo difiere del valor almacenado en caché, el estado del campo es modificado establecido.

IsFieldDirty se implementa con DoFieldExchange.

Para obtener más información sobre el marcador modificado, vea el artículo conjunto de registros: Cómo se seleccionan los registros (ODBC).

Excepciones

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

Requisitos

encabezado: afxdb.h

Vea también

Referencia

Clase CRecordset

Gráfico de jerarquía

CRecordset::SetFieldDirty

CRecordset::IsFieldNull