Partager via


CFieldExchange::SetFieldType

 

Vous avez besoin d'un appel à SetFieldType dans la substitution de DoFieldExchange ou de DoBulkFieldExchange de votre classe de recordset.

Syntaxe

      void SetFieldType(
   UINT nFieldType 
);

Paramètres

  • nFieldType
    Une valeur d' enum FieldType, déclarée dans CFieldExchange, qui peut être l'un des éléments suivants :

    • CFieldExchange::outputColumn

    • CFieldExchange::inputParam

    • CFieldExchange::param

    • CFieldExchange::outputParam

    • CFieldExchange::inoutParam

Notes

Pour les données membres de champ, vous devez appeler SetFieldType avec un paramètre de CFieldExchange::outputColumn, suivi d'appels aux fonctions RFX ou RFX en bloc.  Si vous n'avez pas implémenté l'extraction de lignes en bloc, l'assistant classe définit cet appel d' SetFieldType pour vous dans la section de mappage de champs d' DoFieldExchange.  

Si vous paramétrer la classe de recordset, vous devez appeler SetFieldType de nouveau, en dehors d'une section de mappage de champs, suivie des appels RFX pour tous les membres de données de type paramètre.  Chaque type de membre de données de type paramètre doit avoir son propre appel d' SetFieldType .  Le tableau suivant respecte les valeurs que vous pouvez passer à SetFieldType pour représenter les membres de données de type paramètre de votre classe :  

Valeur de paramètre de SetFieldType

Type de membre de données de type paramètre

CFieldExchange::inputParam

Paramètre Input.  Une valeur passée dans la requête ou la procédure stockée du recordset.  

CFieldExchange::param

Mêmes que CFieldExchange::inputParam.

CFieldExchange::outputParam

Paramètre de sortie.  Une valeur de retour de la procédure stockée du recordset.  

CFieldExchange::inoutParam

Paramètre d'entrée/sortie.  Une valeur dans laquelle est passé et retourné par la procédure stockée du recordset.  

En général chaque groupe d'appels de fonction RFX associés aux données membres de champ ou des membres de données de type paramètre doit être précédé par un appel à SetFieldType.  Le paramètre d' nFieldType de chaque appel d' SetFieldType identifie le type des données membres représentées par les appels de fonction RFX qui suivent l'appel d' SetFieldType .  

Pour plus d'informations sur les paramètres de sortie et d'entrée/sortie de gestion, consultez la fonction membre FlushResultSetd' CRecordset .  Pour plus d'informations sur les fonctions RFX et RFX en bloc, consultez la rubrique Enregistrez les fonctions d'échange des champs.  Pour plus d'informations sur l'extraction de lignes en bloc, consultez l'article recordset : Extraction globale d'enregistrements (ODBC).  

Exemple

Cet exemple montre plusieurs appels aux fonctions RFX pour accompagner les appels à SetFieldType.  Notez qu' SetFieldType est appelé via le pointeur d' pFX à un objet d' CFieldExchange .  

void CSections::DoFieldExchange(CFieldExchange* pFX)
{
    pFX->SetFieldType(CFieldExchange::outputColumn);
    RFX_Text(pFX, _T("[CourseID]"), m_CourseID);
    RFX_Text(pFX, _T("[InstructorID]"), m_InstructorID);
    RFX_Text(pFX, _T("[RoomNo]"), m_RoomNo);
    RFX_Text(pFX, _T("[Schedule]"), m_Schedule);

   // output parameter
   pFX->SetFieldType(CFieldExchange::outputParam);
   RFX_Long(pFX, _T("Instructor_Count"), m_nCountParam);

   // input parameter
   pFX->SetFieldType(CFieldExchange::inputParam);
   RFX_Text(pFX, _T("Department_Name"), m_strNameParam);
}

Configuration requise

Header: afxdb.h

Voir aussi

CFieldExchange Class
Graphique hiérarchique
CRecordset::DoFieldExchange
CRecordset::DoBulkFieldExchange
CRecordset::FlushResultSet
Fonctions Record Field Exchange (RFX)