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.
Observação |
---|
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.
Cuidado |
---|
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 .
Observação |
---|
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