DFX_Binary
Transfère des tableaux d'octets entre les données membres de champ d'un objet de CDaoRecordset et les colonnes d'un enregistrement dans 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 classe CDaoFieldExchange.Cet objet contient des informations pour définir le contexte pour chaque appel de la fonction.szName
Le nom d'une colonne de données.correspondante
La valeur signalée dans le membre de données désignée — la valeur à transférer.Pour un transfert du recordset vers la source de données, la valeur, le type CByteArray, est prise de la donnée membre spécifiée.Pour une migration de source de données vers le recordset, la valeur est stockée dans le membre de données spécifiée.nPreAllocSize
l'infrastructure préaffecte cette quantité de mémoire.Si vos données sont plus grande, l'infrastructure allouée davantage d'espace que nécessaire.Pour de meilleures performances, définissez cette taille à une valeur suffisamment grande pour empêcher les réaffectations.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 mécanisme de le mécanisme de double tampon 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 d'utilisations, et vous ne devez pas exécuter le travail supplémentaire pour marquer des champs modifiés ou null.Pour améliorer les performances et de mémoire, évitez cette valeur à moins que vos données binaires soient relativement petits.[!REMARQUE]
Vous pouvez contrôler si les données sont double mise en mémoire tampon pour tous les champs par défaut en définissant CDaoRecordset::m_bCheckCacheForDirtyFields.
Notes
Les données sont mappés entre le type DAO_BYTES dans DAO et le type CByteArray dans le recordset.
Exemple
Consultez DFX_Text.
Configuration requise
Header: afxdao.h
Voir aussi
Référence
CDaoFieldExchange::SetFieldType