DFX_Binary
Transfère des tableaux d'octets uniques entre les membres de données de champ d'un objet CDaoRecordset et les colonnes d'un enregistrement sur la source de données.
void AFXAPI DFX_Binary(
CDaoFieldExchange* pFX,
LPCTSTR szName,
CByteArray& value,
int nPreAllocSize = AFX_DAO_BINARY_DEFAULT_SIZE,
DWORD dwBindOptions = 0
);
Paramètres
pFX
Un pointeur vers un objet de la classe CDaoFieldExchange. Cet objet contient des informations pour définir le contexte de chaque appel de la fonction.szName
Le nom d'une colonne de données.correspondante
La valeur stockée dans le membre de données indiqué — la valeur à transférer. Pour un transfert depuis un recordset vers la source de données, la valeur, de type CByteArray, est prise à partir du membre de données spécifié. Pour un transfert de la source de données au recordset, la valeur est stockée dans le membre de données spécifié.nPreAllocSize
L'infrastructure pré-alloue cette quantité de mémoire. Si vos données sont plus grandes, l'infrastructure allouera l'espace nécessaire. Pour de meilleures performances, définissez la taille à une valeur suffisamment élevée pour empêcher les reallocations. La taille par défaut est définie dans le fichier d'AFXDAO.H comme AFX_DAO_BINARY_DEFAULT_SIZE.dwBindOptions
Une option qui vous permet de tirer parti du double mécanisme tampon de MFC pour détecter les champs du recordset qui ont changé. La valeur par défaut, AFX_DAO_DISABLE_FIELD_CACHE, n'utilise pas le mécanisme de double tampon, et vous devez appeler SetFieldDirty et SetFieldNull vous-même. L'autre valeur possible, AFX_DAO_ENABLE_FIELD_CACHE, le mécanisme de double tampon utilise, et vous ne devez pas exécuter un travail supplémentaire pour marquer les champs modifiés ou NULL. Pour des raisons de performances et de mémoire, évitez cette valeur à moins que les données binaires sont relativement petites.Notes
Vous pouvez contrôler si les données sont en double tampon pour tous les champs par défaut en attribuant CDaoRecordset::m_bCheckCacheForDirtyFields.
Notes
Les données sont connectées entre le type DAO_BYTES dans DAO et le type CByteArray dans le recordset.
Exemple
Consultez DFX_Text.
Configuration requise
En-tête : afxdao.h
Voir aussi
Référence
CDaoFieldExchange::SetFieldType