CFieldExchange::SetFieldType
需要对 SetFieldType 在您的记录集选件类的 DoFieldExchange 或 DoBulkFieldExchange 重写。
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
请参见
参考
CRecordset::DoBulkFieldExchange