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.
Observação |
---|
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.
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 .
Requisitos
Cabeçalho: afxdb.h