CFieldExchange::SetFieldType

需要对 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的调用之后。 每 SetFieldType 的 nFieldType 参数调用标识遵循 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选件类

层次结构图

CRecordset::DoFieldExchange

CRecordset::DoBulkFieldExchange

CRecordset::FlushResultSet

其他资源

记录字段交换函数