Partilhar via


Record Field Exchange: 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 se aplica a classes derivadas de CRecordset nas quais a busca de linha em massa não foi implementada. Se estiver a usar a obtenção de linhas em massa, a troca de campos de registo em massa (Bulk RFX) será implementada. O "Bulk RFX" é semelhante ao "RFX". Para entender as diferenças, consulte Recordset: Obtenção de Registos em Lote (ODBC).

As funções globais RFX trocam dados entre colunas na fonte de dados e membros de dados de campo em seu conjunto de registros. Você escreve as chamadas de função RFX na função membro DoFieldExchange do seu conjunto de registros. Este tópico descreve brevemente as funções 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 da função RFX

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

  • Um ponteiro para o objeto CFieldExchange. Basta passar o pFX ponteiro passado para DoFieldExchange.

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

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

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

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

Para mais informações, consulte as funções RFX sob Macros e Globais na Referência da Biblioteca de Classes. Para obter um exemplo de quando você pode fazer uso especial dos parâmetros, consulte Recordset: Obtendo somas 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ê deve escrever suas próprias chamadas de função RFX, selecione entre 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 obter mais informações, consulte a documentação da função 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 SQL ANSI Mapeados para Tipos de Dados C++ em SQL: Tipos de Dados SQL e C++ (ODBC).

Ver também

Troca de campos de registro (RFX)
Record Field Exchange: Como funciona a RFX
Conjunto de registros: Parametrizando um conjunto de registros (ODBC)
Conjunto de registros: ODBC (Dynamically Binding Data Columns)
Classe CRecordset
Classe CFieldExchange