RFX_Text_Bulk

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

Paramètres

pFX

Pointeur vers un objet CFieldExchange . Cet objet contient des informations pour définir le contexte pour chaque appel de la fonction. Pour plus d'informations, consultez l'article Record Field Exchange : fonctionnement de RFX dans le Guide du programmeur Visual C++.

szName

Le nom d'une colonne de données.

prgStrVals

Pointeur vers un tableau de valeurs LPSTR . Ce tableau va stocker les données à être transférée de la source de données pour le jeu d'enregistrements. Notez qu'avec la version actuelle de ODBC, ces valeurs ne peuvent pas être Unicode.

prgLengths

Pointeur vers un tableau d'entiers longs. Ce tableau va stocker la longueur en octets de chaque valeur dans le tableau indiqué par prgStrVals. Cette durée exclut le caractère null de fin. Notez que la valeur SQL_NULL_DATA est conservée si l'élément correspondant des données contient une valeur Null. Pour plus de détails, reportez-vous à la fonction API ODBC SQLBindCol dans la référence du programmeur ODBC SDK.

nMaxLength

La quantité maximale autorisée la longueur des valeurs stockées dans le tableau indiqué par prgStrVals, y compris le caractère null de fin. Pour s'assurer que les données ne seront pas tronquées, transmettez une valeur suffisamment grande pour accueillir le plus grand élément de données que vous attendez.

Remarques

La fonction RFX_Text_Bulk transfère plusieurs lignes de données de caractère d'une colonne d'une source de données ODBC à un tableau correspondant à un objet CRecordset-objet dérivé. La colonne de source de données peut avoir un type ODBC SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMALou SQL_NUMERIC. Le jeu d'enregistrements doit définir un membre de données de champ de type LPSTR.

Si vous initialisez prgStrVals et prgLengths à NULL, puis les tableaux, qu'ils seront attribuées automatiquement, avec une taille égale à la taille de l'ensemble de lignes.

&Notenbsp ;  RFX en bloc seulement transfère les données de la source de données à l'objet recordset. Afin de rendre votre jeu d'enregistrements de mise à jour, vous devez utiliser la fonction API ODBC SQLSetPos. Pour obtenir un exemple de comment procéder, consultez l'exemple DBFETCH.

Pour plus d'informations, consultez les articles jeu d'enregistrements : extraction de dossiers en vrac (ODBC) et Record Field Exchange ((RFX)) dans le Guide du programmeur Visual C++.

Exemple

ClassWizard ne supporte pas les fonctions RFX en bloc, donc vous devez écrire manuellement les appels dans votre DoBulkFieldExchange substituent. Cet exemple illustre un appel à RFX_Text_Bulk, comme un appel à RFX_Long_Bulk, pour le transfert de données. Ces appels sont précédées d'un appel à CFieldExchange::SetFieldType. Notez que pour les paramètres, vous devez appeler les fonctions RFX au lieu des fonctions RFX en bloc.

 vOID MultiRowSet::DoBulkFieldExchange (objet 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) ;
}

Voir aussi  ;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