CRecordset::IsFieldNullable

Retorna diferente de zero se o campo especificado no registro atual pode ser definido como nulo (não ter nenhum valor).

BOOL IsFieldNullable( 
   void * pv  
);

Parâmetros

  • pv
    Um ponteiro para o status de membro de dados do campo cujo você deseja verificar, ou NULO para determinar se alguns dos campos podem ser definidos como um valor nulo.

Comentários

Chamar essa função de membro para determinar se o membro especificado de dados do campo é “anulável (” pode ser definido como um valor nulo; C++ NULO não é igual a zero, que, na terminologia de banco de dados, significa “não ter nenhum valor)”.

ObservaçãoObservação

Se você tiver implementado a linha em massa que pesquisa, você não pode chamar IsFieldNullable.Em vez de isso, chame a função de membro de GetODBCFieldInfo para determinar se um campo pode ser definido como um valor nulo.Observe que você sempre pode chamar GetODBCFieldInfo, independentemente se você tiver implementado buscar em massa da linha.Para obter mais informações sobre a linha em massa que pesquisa, consulte o artigo conjunto de registros: Para buscar registros em massa (ODBC).

Um campo que não pode ser zero deve ter um valor.Se você tentar definir um campo como nulo ao adicionar ou ao atualizar um registro, a fonte de dados descarta a adição ou a atualização, e Atualizar lança uma exceção.a exceção ocorre quando você chama Atualizar, não quando você chama SetFieldNull.

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 .

IsFieldNullable é implementado com DoFieldExchange.

Exceções

Esse método pode lançar exceções do tipo CDBException*.

Requisitos

Cabeçalho: afxdb.h

Consulte também

Referência

Classe de CRecordset

Gráfico de hierarquia

CRecordset::IsFieldNull

CRecordset::SetFieldNull