CFieldExchange::SetFieldType

void SetFieldType(UINT nFieldType);

参数:
nFieldTypeenum FieldType值,在CFieldExchange中声明。可以为下列值之一:
·CFieldExchange::outputColumn
·CFieldExchange::inputParam
·CFieldExchange::param
·CFieldExchange::outputParam
·CFieldExchange::inoutParam

说明:
在记录集类的DoFieldExchange或DoBulkFieldExchange覆盖中调用此成员函数。对字段数据成员来说,必须以CFieldExchange::outputColumn参数调用该函数,然后调用RFX或BulkRFX函数。如果没有批量记录传递,ClassWizard在DoFieldExchange的字段映射部分调用此SetFieldType成员函数。
如果将记录集类当作参数,必须在对所有参数数据成员调用RFX之后,在字段映射部分再次调用此成员函数。每个参数数据成员的类型必须有自己的SetFieldType调用,下表区分了可传递给SetFieldType的不同值,代表类的参数数据成员:
SetFieldType参数值参数数据成员的类型
CFieldExchange::inputParam输入参数,传递到记录集查询或存储进程的值
CFieldExchange::param同CFieldExchange::inputParam
CFieldExchange::outputParam输出参数,记录集存储进程的返回值
CFieldExchange::inoutParam输入/输出参数,传递到记录集存储进程或返回记录集存储进程的值
通常,每个与字段数据成员或参数数据成员相关联的RFX函数调用之前必须调用SetFieldType,每个SetFieldType调用的nFieldType参数指明了由RFX函数调用提供的数据成员的类型。
要了解有关处理输出和输入/输出参数的更多信息,请参阅CRecordset成员函数FlushResultSet。要了解有关RFX和批量RFX函数的更多信息,请参阅“记录字段交换函数”。要了解相关的信息,请参阅联机文档“Visual C++程序员指南”中的“记录字段交换(RFX)”和“记录集(ODBC)”。

示例:
此例显示了和SetFieldType调用一起调用许多RFX函数的情况。注意通过pFX指针指向一个CFieldExchange 来调用SetFieldType函数。
void CSections::DoFieldExchange( CFieldExchange* pFX )
{
   //{{AFX_FIELD_MAP(CSections)
   pFX->SetFieldType( CFieldExchange::outputColumn );
   RFX_Text( pFX, "CourseID", m_strCourseID );
   RFX_Text( pFX, "InstructorID", m_strInstructorID );
   RFX_Text( pFX, "RoomNo", m_strRoomNo );
   RFX_Text( pFX, "Schedule", m_strSchedule );
   //}}AFX_FIELD_MAP

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

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

请参阅:
CRecordset::DoFieldExchange, CRecordset::DoBulkFieldExchange, CRecordset::FlushResultSet,记录字段交换函数