Compartilhar via


CRecordset::SetFieldNull

Sinaliza um membro de dados do campo do recordset como zero (especificamente não ter nenhum valor) ou como não-nulo.

void SetFieldNull( 
   void* pv,
   BOOL bNull = TRUE  
);

Parâmetros

  • pv
    Contém o endereço de um membro de dados do campo no conjunto de registros ou em NULO. Se NULO, coloca todos os membros de dados no conjunto de registros são sinalizados. (C++ NULO não é igual a zero na terminologia de banco de dados, que significa “não ter nenhum value ".)

  • bNull
    Diferente de zero se o membro de dados do campo deve ser embandeirado como não ter nenhum valor (zero). Se não 0 se o membro de dados do campo deve ser embandeirado como não-nulo.

Comentários

Quando você adiciona um novo registro em um conjunto de registros, todos os membros de dados do campo inicialmente são definidas como um valor nulo e sinalizados como “impróprios” (alterado). Quando você recupera um registro de uma fonte de dados, suas colunas já têm valores são nulos ou.

Dica

Não chamar essa função de membro em conjuntos de registros usando buscar em massa da linha.Se você tiver implementado a linha em massa que pesquisa, chame SetFieldNull resulta em uma declaração falha.Para obter mais informações sobre a linha em massa que pesquisa, consulte o artigo conjunto de registros: Para buscar registros em massa (ODBC).

Se você deseja especificamente designar um campo do registro atual como não ter um valor, chamada SetFieldNull com bNull definido como Verdadeiro para embandeirá-lo como o zero. Se um campo foi anteriormente marcada como zero e você deseja agora para dar um valor, basta definir seu novo valor. Não é necessário remover o sinalizador nulos com SetFieldNull. Para determinar se tem permissão para o campo ser nulo, chame IsFieldNullable.

Aviso

Chamar essa função de membro somente após você chamou Editar ou AddNew.

Usando NULO para o primeiro argumento da função aplicará a função somente para os campos de outputColumn , não campos de param . Por exemplo, a chamada

SetFieldNull(NULL);

definirá somente os campos de outputColumn a NULO; os campos de param não serão afetados.

Para trabalhar em campos de param , você deve fornecer o endereço real individuais param que você deseja trabalhar em, como:

SetFieldNull(&m_strParam);

Isso significa que você não pode definir todos os campos de param a NULO, como faria com campos de outputColumn .

Dica

A o definir parâmetros para o zero, uma chamada a SetFieldNull antes do conjunto de registros é resultados abertos em uma declaração.Em esse caso, SetParamNullchamada.

SetFieldNull é implementado com DoFieldExchange.

Requisitos

Cabeçalho: afxdb.h

Consulte também

Referência

Classe CRecordset

Gráfico da hierarquia

CRecordset::IsFieldNull

CRecordset::SetFieldDirty

CRecordset::Edit

CRecordset::Update

CRecordset::IsFieldNullable