Compartilhar via


CRecordset::SetFieldDirty

Sinaliza um membro de dados do campo do recordset como modificado ou como inalterado.

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

  • bDirty
    Verdadeiro se o membro de dados do campo deve ser embandeirado como sujo alterado (“”). Se não Falso se o membro de dados do campo deve ser embandeirado como “limpa” (inalterado).

Comentários

Marcar como colocar inalterado garante que o campo não é atualizado e não resulte em menos tráfego SQL.

Dica

Essa função de membro não é aplicável em conjuntos de registros usando buscar em massa da linha.Se você tiver implementado a linha em massa que pesquisa, então SetFieldDirty resultará 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).

Os membros alterados marcas de dados do campo da estrutura para garantir que serão gravados no registro na fonte de dados pelo mecanismo de troca do campo do registro (RFX). Altere o valor de um campo geralmente define o campo sujo automaticamente, então você precisará raramente de chamar SetFieldDirty você mesmo, mas às vezes você pode querer garantir que as colunas explicitamente estivessem atualizadas ou inseridas independentemente do valor está no membro de dados do campo.

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 .

Requisitos

Cabeçalho: afxdb.h

Consulte também

Referência

Classe CRecordset

Gráfico da hierarquia

CRecordset::IsFieldDirty

CRecordset::SetFieldNull

CRecordset::Edit

CRecordset::Update