Share via


DFX_Text

Transfère des données CString 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_Text( 
   CDaoFieldExchange* pFX, 
   LPCTSTR szName, 
   CString& value, 
   int nPreAllocSize = AFX_DAO_TEXT_DEFAULT_SIZE,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE  
);

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
    Nom d'une colonne de données.

  • correspondante
    La valeur signalé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 CString, est prise du membre de données spécifié. Pour un transfert de la source de données à l'ensemble d'enregistrements, 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 grande, l'infrastructure allouera l'espace nécessaire. Pour de meilleures performances, définissez la taille avec une valeur suffisamment élevée pour empêcher les reallocations.

  • dwBindOptions
    Une option qui vous permet de tirer parti du mécanisme double tampon de MFC pour détecter les champs d'ensemble d'enregistrements qui ont changé. La valeur par défaut, AFX_DAO_ENABLE_FIELD_CACHE, utilise le mécanisme de double tampon. L'autre valeur possible est AFX_DAO_DISABLE_FIELD_CACHE. Si vous spécifiez cette valeur, MFC n'a aucun contrôle sur ce champ. Vous devez appeler SetFieldDirty et SetFieldNull vous-même.

    Notes

    Vous pouvez contrôler si les données sont en double tampon par défaut en attribuant CDaoRecordset::m_bCheckCacheForDirtyFields.

Notes

Les données sont mappées entre le type DAO_CHAR dans DAO (ou, si le symbole _UNICODE est défini, DAO_WCHAR) et le type CString dans le recordset.

Exemple

Cet exemple montre plusieurs appels à DFX_Text. Notez aussi les deux appels à CDaoFieldExchange::SetFieldType. Vous devez écrire le premier appel à SetFieldType et son appel de DFX. Le deuxième appel et les appels de DFX associés sont normalement écrits par l'Assistant Code qui a généré la classe.

void CCustSet::DoFieldExchange(CDaoFieldExchange* pFX)
{
   pFX->SetFieldType(CDaoFieldExchange::param);
   DFX_Text(pFX, _T("Param"), m_strParam);
   pFX->SetFieldType(CDaoFieldExchange::outputColumn);
   DFX_Short(pFX, _T("EmployeeID"), m_EmployeeID);
   DFX_Text(pFX, _T("LastName"), m_LastName);
   DFX_Short(pFX, _T("Age"), m_Age);
   DFX_DateTime(pFX, _T("hire_date"), m_hire_date);
   DFX_DateTime(pFX, _T("termination_date"), m_termination_date);

   CDaoRecordset::DoFieldExchange(pFX);
}

Configuration requise

En-tête : afxdao.h

Voir aussi

Référence

DFX_Bool

DFX_Long

DFX_Currency

DFX_Short

DFX_Single

DFX_Double

DFX_DateTime

DFX_Byte

DFX_Binary

DFX_LongBinary

CDaoFieldExchange::SetFieldType

Concepts

macro MFC et Globals