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