Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Suporta as rotinas DFX (Record Field Exchange) usadas pelas classes de banco de dados DAO.
Observação
DAO é suportado através do Office 2013. DAO 3.6 é a versão final, e é considerado obsoleto.
Sintaxe
class CDaoFieldExchange
Membros
Métodos Públicos
| Nome | Descrição |
|---|---|
| CDaoFieldExchange::IsValidOperation | Retorna diferente de zero se a operação atual for apropriada para o tipo de campo que está sendo atualizado. |
| CDaoFieldExchange::SetFieldType | Especifica o tipo de membro de dados do conjunto de registros — coluna ou parâmetro — representado por todas as chamadas subsequentes para funções DFX até a próxima chamada para SetFieldType. |
Membros de Dados Públicos
| Nome | Descrição |
|---|---|
| CDaoFieldExchange::m_nOperation | A operação DFX que está sendo executada pela chamada atual para a função de membro do conjunto de registros DoFieldExchange . |
| CDaoFieldExchange::m_prs | Um ponteiro para o conjunto de registros no qual as operações DFX estão sendo executadas. |
Observações
CDaoFieldExchange não tem uma classe base.
Use essa classe se estiver escrevendo rotinas de troca de dados para tipos de dados personalizados; caso contrário, você não usará diretamente essa classe. DFX troca dados entre os membros de dados de campo do seu objeto CDaoRecordset e os campos correspondentes do registro atual na fonte de dados. O DFX gerencia a troca em ambas as direções, desde a fonte de dados até a fonte de dados. Consulte a Nota Técnica 53 para obter informações sobre como escrever rotinas DFX personalizadas.
Observação
As classes de banco de dados DAO são distintas das classes de banco de dados MFC baseadas em ODBC (Open Database Connectivity). Todos os nomes de classe de banco de dados DAO têm o prefixo "CDao". Você ainda pode acessar fontes de dados ODBC com as classes DAO. Em geral, as classes MFC baseadas em DAO são mais capazes do que as classes MFC baseadas em ODBC. As classes baseadas em DAO podem acessar dados, inclusive por meio de drivers ODBC, por meio de seu próprio mecanismo de banco de dados. Eles também suportam operações DDL (Data Definition Language), como adicionar tabelas por meio das classes, em vez de ter que chamar DAO você mesmo.
Observação
A troca de campo de registro DAO (DFX) é muito semelhante à troca de campo de registro (RFX) nas classes de banco de dados MFC baseadas em ODBC (CDatabase, CRecordset). Se você entende RFX, você vai achar fácil de usar DFX.
Um CDaoFieldExchange objeto fornece as informações de contexto necessárias para que a troca de campo de registro DAO ocorra.
CDaoFieldExchange Os objetos suportam várias operações, incluindo parâmetros de ligação e membros de dados de campo e definição de vários sinalizadores nos campos do registro atual. As operações DFX são executadas em membros de dados de classe de conjunto de registros de tipos definidos pelo enumFieldType em CDaoFieldExchange. Os valores possíveis de FieldType são:
CDaoFieldExchange::outputColumnpara membros de dados de campo.CDaoFieldExchange::parampara membros de dados de parâmetros.
A função de membro IsValidOperation é fornecida para escrever suas próprias rotinas DFX personalizadas. Você usará SetFieldType com freqüência em suas funções CDaoRecordset::D oFieldExchange . Para obter detalhes sobre as funções globais do DFX, consulte Funções de troca de campo de registro. Para obter informações sobre como escrever rotinas DFX personalizadas para seus próprios tipos de dados, consulte a Nota Técnica 53.
Hierarquia de herança
CDaoFieldExchange
Requerimentos
Cabeçalho:afxdao.h
CDaoFieldExchange::IsValidOperation
Se você escrever sua própria função DFX, chame IsValidOperation no início da função para determinar se a operação atual pode ser executada em um determinado tipo de membro de dados de campo (a CDaoFieldExchange::outputColumn ou a CDaoFieldExchange::param).
BOOL IsValidOperation();
Valor de retorno
Diferente de zero se a operação atual for apropriada para o tipo de campo que está sendo atualizado.
Observações
Algumas das operações realizadas pelo mecanismo DFX aplicam-se apenas a um dos tipos de campo possíveis. Siga o modelo das funções DFX existentes.
Para obter informações adicionais sobre como escrever rotinas DFX personalizadas, consulte a Nota Técnica 53.
CDaoFieldExchange::m_nOperation
Identifica a operação a ser executada no objeto CDaoRecordset associado ao objeto de troca de campo.
Observações
O CDaoFieldExchange objeto fornece o contexto para várias operações DFX diferentes no conjunto de registros.
Observação
O PSEUDONULL valor descrito em MarkForAddNew e SetFieldNull operações abaixo é um valor usado para marcar campos Nulo. O mecanismo de troca de campo de registro DAO (DFX) usa esse valor para determinar quais campos foram explicitamente marcados como Nulo.
PSEUDONULL não é obrigatório para COleDateTime e COleCurrency campos.
Os valores possíveis de m_nOperation são:
| Funcionamento | Descrição |
|---|---|
AddToParameterList |
Cria a cláusula PARAMETERS da instrução SQL. |
AddToSelectList |
Cria a cláusula SELECT da instrução SQL. |
BindField |
Vincula um campo no banco de dados a um local de memória em seu aplicativo. |
BindParam |
Define valores de parâmetro para a consulta do conjunto de registros. |
Fixup |
Define o status Nulo de um campo. |
AllocCache |
Aloca o cache usado para verificar se há campos "sujos" no conjunto de registros. |
StoreField |
Salva o registro atual no cache. |
LoadField |
Restaura as variáveis de membro de dados armazenados em cache no conjunto de registros. |
FreeCache |
Libera o cache usado para verificar se há campos "sujos" no conjunto de registros. |
SetFieldNull |
Define o status de um campo como Nulo e o valor como PSEUDONULO. |
MarkForAddNew |
Marca campos "sujos" se não PSEUDONULL. |
MarkForEdit |
Marca os campos "sujos" se não corresponderem ao cache. |
SetDirtyField |
Define valores de campo marcados como "sujos". |
DumpField |
Despeja o conteúdo de um campo (somente depuração). |
MaxDFXOperation |
Usado para verificação de entrada. |
CDaoFieldExchange::m_prs
Contém um ponteiro para o objeto CDaoRecordset associado ao CDaoFieldExchange objeto.
Observações
CDaoFieldExchange::SetFieldType
Chame SetFieldType a substituição da CDaoRecordset sua DoFieldExchange classe.
void SetFieldType(UINT nFieldType);
Parâmetros
nFieldType
Um valor do enum FieldType, declarado em CDaoFieldExchange, que pode ser um dos seguintes:
CDaoFieldExchange::outputColumnCDaoFieldExchange::param
Observações
Normalmente, o ClassWizard escreve esta chamada para você. Se você escrever sua própria função e estiver usando o assistente para escrever sua DoFieldExchange função, adicione chamadas à sua própria função fora do mapa de campo. Se você não usar o assistente, não haverá um mapa de campo. A chamada precede as chamadas para funções DFX, uma para cada membro de dados de campo da sua classe, e identifica o tipo de campo como CDaoFieldExchange::outputColumn.
Se você parametrizar sua classe de conjunto de registros, deverá adicionar chamadas DFX para todos os membros de dados de parâmetro (fora do mapa de campo) e preceder essas chamadas com uma chamada para SetFieldType. Passe o valor CDaoFieldExchange::param. (Em vez disso, você pode usar um CDaoQueryDef e definir seus valores de parâmetro.)
Em geral, cada grupo de chamadas de função DFX associadas a membros de dados de campo ou membros de dados de parâmetro deve ser precedida por uma chamada para SetFieldType. O parâmetro nFieldType de cada SetFieldType chamada identifica o tipo de membros de dados representados pelas chamadas de função DFX que seguem a SetFieldType chamada.