CFieldExchange::SetFieldType

 

发布时间: 2016年4月

需要对 SetFieldType 在您的记录集选件类的 DoFieldExchangeDoBulkFieldExchange 重写。

语法

      void SetFieldType(
   UINT nFieldType 
);

参数

  • nFieldType
    enum FieldType的值,声明在 CFieldExchange,可为下列值之一:

    • CFieldExchange::outputColumn

    • CFieldExchange::inputParam

    • CFieldExchange::param

    • CFieldExchange::outputParam

    • CFieldExchange::inoutParam

备注

为字段数据成员,必须调用与 CFieldExchange::outputColumn参数的 SetFieldType,后跟调用RFX或批量RFX函数。  如果尚未实现批量取行,则类向导将此 SetFieldType 要求您 DoFieldExchange的字段映射部分。  

如果参数化记录集选件类,则必须再次调用 SetFieldType,在所有字段映射部分外,后跟RFX调用任何参数数据成员。  参数数据成员的每种类型必须具有其自己的 SetFieldType 调用。  下表来区分可以向 SetFieldType 表示您的选件类的参数数据成员的不同值:  

SetFieldType参数值

参数数据成员的类型

CFieldExchange::inputParam

输入参数。  传递到记录集的查询或存储过程的值。  

CFieldExchange::param

CFieldExchange::inputParam相同。

CFieldExchange::outputParam

输出参数。  记录集的存储过程的返回值。  

CFieldExchange::inoutParam

输入/输出参数。  通过然后从记录集的存储过程返回的值。  

通常,参数的每组函数调用与字段数据成员或参数数据成员必须在对 SetFieldType的调用之后。  每 SetFieldTypenFieldType 参数调用标识遵循 SetFieldType 调用RFX表示的数据成员的类型函数调用。  

有关处理输出和输入/输出参数的更多信息,请参见 CRecordset 成员函数 FlushResultSet。  有关RFX和批量RFX函数的更多信息,请参见主题 记录字段交换函数。  有关批量取行的相关信息,请参见文章 记录集:获取记录(odbc)。  

示例

此示例演示多次调用。与附带的RFX函数调用 SetFieldType。  请注意 SetFieldType 传递给 CFieldExchange 对象的 pFX 指针调用。  

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);
}

要求

Header: afxdb.h

请参阅

CFieldExchange Class
层次结构图
CRecordset::DoFieldExchange
CRecordset::DoBulkFieldExchange
CRecordset::FlushResultSet
记录字段交换函数