Compartir a través de


CRecordset::SetFieldNull

Marca un miembro de datos de campo de conjunto de registros como Null (específicamente no tener ningún valor) o como NULL.

void SetFieldNull(
   void* pv,
   BOOL bNull = 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 ".)

  • bNull
    Distinto de cero si el miembro de datos de campo se marca como no tener ningún valor (Null).Si no 0 si el miembro de datos de campo se marca como no null.

Comentarios

Cuando se agrega un nuevo registro a un conjunto de registros, establecen un valor NULL y se marcan todos los miembros de datos de campo inicialmente como “modificados” (cambiado).Cuando recupera un registro de un origen de datos, sus columnas tienen valores o ya Null.

[!NOTA]

No llame a esta función miembro en conjuntos de registros que se utiliza la obtención de filas masiva.Si está implementada la obtención de filas masiva, llamar a SetFieldNull da 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).

Si desea específicamente para designar un campo del registro actual como la ausencia de un valor, llamada SetFieldNull con bNull establecido en TRUE para marcadores de marcarlo como Null.Si un campo era anteriormente marcado como Null y ahora desea proporcionar un valor, basta con establecer el nuevo valor.No tiene que quitar el indicador de Null con SetFieldNull.Para determinar si el campo se permite el valor Null, llame a IsFieldNullable.

Nota de precauciónPrecaución

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 .

[!NOTA]

Al establecer parámetros en Null, una llamada a SetFieldNull antes de conjunto de registros es resultados abiertos en una aserción.En este caso, llamada SetParamNull.

SetFieldNull se implementa con DoFieldExchange.

Requisitos

encabezado: afxdb.h

Vea también

Referencia

Clase CRecordset

Gráfico de jerarquía

CRecordset::IsFieldNull

CRecordset::SetFieldDirty

CRecordset::Edit

CRecordset::Update

CRecordset::IsFieldNullable