Compartir a través de


CRecordset::SetFieldDirty

Marca un miembro de datos de campo de conjunto de registros como cambiado o como sin cambios.

void SetFieldDirty( 
   void* pv,
   BOOL bDirty = TRUE  
);

Parámetros

  • pv
    Contiene la dirección de un miembro de datos de campo del conjunto de registros o NULL. Si se marca NULL, todos los miembros de datos de campo del conjunto de registros. (C++ NULL no es lo mismo que Null en la terminología de la base de datos, que significa “no tener ningún value ".)

  • bDirty
    TRUE si el miembro de datos de campo se marca como “modificado” (cambiado). Si no FALSO si el miembro de datos de campo se marca como “limpia” (sin cambios).

Comentarios

Marcar campos como sin cambiar garantiza el campo no se actualiza y no da lugar a menos tráfico de SQL.

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 SetFieldDirty dará lugar 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).

El marco marca los miembros de datos de campo modificados para asegurarse de que se escribirá en el registro en el origen de datos mediante el mecanismo de intercambio de campos de registros. Cambiar el valor de un campo establece normalmente el campo modificado automáticamente, por lo que deberá raramente llamar SetFieldDirty personalmente, pero es posible que a veces desee asegurarse de que las columnas explícitamente se actualizarán o inline independientemente del valor está en el miembro de datos de campo.

Advertencia

Llame a esta función miembro sólo después de haber llamado Editar o AddNew.

Mediante NULL para el primer argumento de la función aplicará la función sólo a los campos de outputColumn , no campos de Parm . por ejemplo, la llamada

SetFieldNull(NULL);

establecerá solo los campos de outputColumn a NULL; Los campos de Parm no se verán afectadas.

Para trabajar en los campos de Parm , debe proporcionar la dirección real individuales Parm que desea trabajar, por ejemplo:

SetFieldNull(&m_strParam);

Esto significa que no puede establecer todos los campos de Parm a NULL, como puede con los campos de outputColumn .

Requisitos

encabezado: afxdb.h

Vea también

Referencia

CRecordset Class

Gráfico de jerarquías

CRecordset::IsFieldDirty

CRecordset::SetFieldNull

CRecordset::Edit

CRecordset::Update