CFieldExchange::SetFieldType
Vous avez besoin d'un appel à SetFieldType dans la substitution de DoFieldExchange ou de DoBulkFieldExchange de votre classe de recordset.
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
Référence
CRecordset::DoBulkFieldExchange