Partilhar via


RFX_Text_Bulk

Transfere várias linhas de dados de caractere de uma coluna de uma fonte de dados ODBC a uma matriz correspondente em um CRecordset-derivados do objeto.

void RFX_Text_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   LPSTR* prgStrVals,
   long** prgLengths,
   int nMaxLength 
);

Parâmetros

  • pFX
    Um ponteiro para um CFieldExchange objeto.Este objeto contém informações para definir o contexto para cada telefonar da função.Para obter mais informações, consulte o artigo Intercâmbio de campo do registro: Como RFX trabalha.

  • szName
    O nome de uma coluna de dados.

  • prgStrVals
    Um ponteiro para uma matriz de LPSTR valores.Essa matriz irá armazenar os dados devem ser transferidos da fonte de dados para o conjunto de registros.Observe que, com a versão corrente do ODBC, esses valores não podem ser Unicode.

  • prgLengths
    Um ponteiro para uma matriz de inteiros longos.Essa matriz armazenará o comprimento em bytes de cada valor na matriz apontada por prgStrVals. Esse comprimento exclui o caractere de finalização nulo.Observe que o valor SQL_NULL_DATA serão armazenados se o item de dados correspondente contiver um valor nulo.Para obter mais detalhes, consulte a função de ODBC API SQLBindCol in the Referência do programador de ODBC SDK.

  • nMaxLength
    O comprimento máximo permitido dos valores armazenados na matriz apontada por prgStrVals, incluindo o caractere de finalização nulo. Para garantir que dados não serão truncados, passe um valor grande o suficiente para acomodar o item de dados maior que o esperado.

Comentários

Coluna da fonte de dados pode ter um tipo ODBC de SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL, or SQL_NUMERIC.O conjunto de registros deve definir um membro de dados de campo do tipo LPSTR.

Se você inicializar prgStrVals e prgLengths para NULO, em seguida, os arrays que apontem para será alocado automaticamente, com tamanhos igual ao dimensionar do conjunto de linhas.

Observação:

Troca de campo de registro em massa só transfere dados da fonte de dados para o objeto de conjunto de registros.Para tornar seu conjunto de registros atualizável, você deve usar a função de API de ODBC SQLSetPos.

Para obter mais informações, consulte o artigo conjunto de registros: Busca de registros em massa (ODBC) e Registro de campo Exchange (RFX).

Exemplo

Você deve escrever manualmente chamadas em seu DoBulkFieldExchange Substitua. Este exemplo mostra uma telefonar para RFX_Text_Bulk, bem sistema autônomo uma telefonar para RFX_Long_Bulk, transferência de dados. Essas chamadas são precedidas por uma telefonar para CFieldExchange::SetFieldType.Observe que para parâmetros, você deve telefonar as funções RFX em vez das funções RFX em massa.

void CMultiCustomer::DoBulkFieldExchange(CFieldExchange* pFX)
{
   pFX->SetFieldType(CFieldExchange::outputColumn);
   RFX_Long_Bulk(pFX, _T("[CustomerID]"), &m_pCustomerID, &m_pcCustomerID);
   RFX_Text_Bulk(pFX, _T("[ContactFirstName]"), &m_pContactFirstName, &m_pcContactFirstName, 50);
   RFX_Text_Bulk(pFX, _T("[PostalCode]"), &m_pPostalCode, &m_pcPostalCode, 50);
   RFX_Text_Bulk(pFX, _T("[L_Name]"), &m_pL_Name, &m_pcL_Name, 50);
   RFX_Long_Bulk(pFX, _T("[BillingID]"), &m_pBillingID, &m_pcBillingID);

   pFX->SetFieldType(CFieldExchange::inputParam);
   RFX_Text(pFX, _T("Param"), m_strParam);
}

Requisitos

Cabeçalho: afxdb.h

Consulte também

Conceitos

Macros do MFC e globais

Referência

RFX_Binary_Bulk

RFX_Bool_Bulk

RFX_Byte_Bulk

RFX_Date_Bulk

RFX_Double_Bulk

RFX_Int_Bulk

RFX_Long_Bulk

RFX_Single_Bulk

CFieldExchange::SetFieldType