RFX_Text_Bulk

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

Parâmetros

pFX

Um ponteiro para um objeto CFieldExchange . Este objeto contém informações para definir o contexto de cada chamada da função. Para obter mais informações, consulte o artigo registro de campo Exchange: Como RFX funciona no Guia do programador do Visual C++.

szName

O nome de uma coluna de dados.

prgStrVals

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

prgLengths

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

nMaxLength

O máximo permitido de comprimento dos valores armazenados na matriz apontada pelo prgStrVals, incluindo o caractere de finalização null. Para garantir que os dados não serão truncados, passe um valor grande o suficiente para acomodar o maior item de dados você espera.

Observações

A função RFX_Text_Bulk transfere Múltiplo linhas de dados de caracteres de uma coluna de um ODBC Origem de dados para uma matriz correspondente em um CRecordset-derivado objeto. A fonte de dados coluna pode ter um tipo ODBC de SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMALou SQL_NUMERIC. O conjunto de registros deve definir um membro de dados de campo do tipo LPSTR.

Se você inicializar prgStrVals e prgLengths a NULL, em seguida, as matrizes que apontam para serão ser alocadas automaticamente, com tamanhos igual ao tamanho conjunto de registros.

&Notanbsp;  Troca de campo de registro em massa só transfere dados a origem de dados para o objeto recordset. Para tornar seu recordset atualizável, você deve usar a função de API de ODBC SQLSetPos. Para obter um exemplo de como fazer isso, consulte o exemplo de DBFETCH.

Para obter mais informações, consulte os artigos Recordset: Buscar registros em massa (ODBC) e Registro campo Exchange (RFX) no Guia do programador do Visual C++.

Exemplo

ClassWizard não oferece suporte as funções de RFX em massa, portanto, você deve manualmente gravar chamadas em sua DoBulkFieldExchange substituir. Este exemplo mostra uma chamada para RFX_Text_Bulk, bem como uma chamada para RFX_Long_Bulk, para transferência de dados. Estas chamadas são precedidas por uma chamada para CFieldExchange:: SetFieldType. Observe que, para os parâmetros, você deve chamar as funções RFX em vez das funções RFX em massa.

 privatevoid MultiRowSet::DoBulkFieldExchange (CFieldExchange pFX)
{
 nbsp; pFX - > SetFieldType (CFieldExchange:: outputColumn);
   RFX_Long_Bulk (pFX,  t ("[colRecID]"),
                  & m_rgID, & m_rgIDLenghts);
   RFX_Text_Bulk (pFX,  t ("[colName]"),
                  & m_rgName, & m_rgNameLengths, 30);

pFX - > SetFieldType (CFieldExchange:: inputParam);
   RFX_Text (pFX, "NameParam", m_strNameParam);
}

Co&nsulte tambémnbsp;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

Index