Compartilhar via


Registrar troca de campos: usando as funções RFX

Este tópico explica como usar as chamadas de função RFX que compõem o corpo da substituição DoFieldExchange.

Observação

Este tópico aplica-se a classes derivadas de CRecordset nas quais o fetch de linha em massa não foi implementado. Se você estiver usando o fetch de linha em massa, a RFX (troca de campos de registro) em massa será implementada. A RFX em massa é semelhante à RFX. Para entender as diferenças, confira Conjunto de registros: efetuar fetch de registros em massa (ODBC).

As funções globais RFX trocam dados entre colunas na fonte de dados e membros de dados de campo no seu conjunto de registros. Você grava as chamadas de função RFX na função de membro DoFieldExchange do conjunto de registros. Este tópico descreve as funções brevemente e mostra os tipos de dados para os quais as funções RFX estão disponíveis. A Nota Técnica 43 descreve como escrever suas próprias funções RFX para tipos de dados adicionais.

Sintaxe de função RFX

Cada função RFX usa três parâmetros (e alguns tomam um quarto ou quinto parâmetro opcional):

  • Um ponteiro para um objeto CFieldExchange. Você simplesmente passa o ponteiro pFX passado para DoFieldExchange.

  • O nome da coluna como ela aparece na fonte de dados.

  • O nome do membro de dados de campo correspondente ou membro de dados de parâmetro na classe de conjunto de registros.

  • (Opcional) Em algumas das funções, o comprimento máximo da cadeia de caracteres ou da matriz que está sendo transferida. Esse padrão é 255 bytes, mas talvez você queira alterá-lo. O tamanho máximo baseia-se no tamanho máximo de um objeto CStringINT_MAX (2.147.483.647) bytes – mas você provavelmente encontrará limites de driver antes desse tamanho.

  • (Opcional) Na função RFX_Text, às vezes, você usa um quinto parâmetro para especificar o tipo de dados de uma coluna.

Para saber mais, confira as funções de RFX em Macros e Globais na Referência da Biblioteca de Classes. Para obter um exemplo de quando você pode usar os parâmetros de forma especial, consulte Conjunto de registros: Obtendo SUMs e outros resultados agregados (ODBC).

Tipos de dados RFX

A biblioteca de classes fornece funções RFX para transferir muitos tipos de dados diferentes entre a fonte de dados e seus conjuntos de registros. A lista a seguir resume as funções RFX por tipo de dados. Nos casos em que você precisa gravar as próprias chamadas de função RFX, selecione essas funções por tipo de dados.

Função Tipo de dados
RFX_Bool BOOL
RFX_Byte BYTE
RFX_Binary CByteArray
RFX_Double double
RFX_Single float
RFX_Int int
RFX_Long long
RFX_LongBinary CLongBinary
RFX_Text CString
RFX_Date CTime

Para saber mais, confira a documentação de funções de RFX em Macros e Globais na Referência da Biblioteca de Classes. Para obter informações sobre como os tipos de dados C++ são mapeados para tipos de dados SQL, consulte a tabela “Tipos de dados ANSI SQL mapeados para tipos de dados C++” em SQL: Tipos de dados SQL e C++ (ODBC).

Confira também

RFX (troca de campo de registro)
Troca de campo de registro: como a RFX funciona
Conjunto de registros: parametrizando um conjunto de registros (ODBC)
Conjunto de registros: associando dinamicamente colunas de dados (ODBC)
Classe CRecordset
Classe CFieldExchange