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 或 Bulk RFX 函式。 如果您未實作大量資料列擷取,則在 DoFieldExchangeClassWizard 的欄位對應部分將這個 SetFieldType 為您呼叫。
如果您參數化資料錄集類別,則必須再次呼叫 SetFieldType ,在所有欄位對應區段以外,後面接著 RFX 呼叫所有的參數資料成員。 參數資料成員的每個型別都必須將其 SetFieldType 呼叫。 下表差異可以傳遞至 SetFieldType 表示您類別的參數資料成員會以不同的值:
SetFieldType 參數值。 |
參數資料成員的型別。 |
---|---|
CFieldExchange::inputParam |
輸入參數。 傳遞至資料錄集的查詢或預存程序的值。 |
CFieldExchange::param |
和 CFieldExchange::inputParam相同。 |
CFieldExchange::outputParam |
輸出參數。 資料錄集的預存程序的傳回值。 |
CFieldExchange::inoutParam |
輸入/輸出參數。 藉由從資料錄集的預存程序傳回的值。 |
一般而言, RFX 函式的每一個群組與欄位資料成員或參數資料成員必須在 [ SetFieldType的呼叫之後。 每個 SetFieldType 呼叫 nFieldType 參數識別遵循 SetFieldType 呼叫的 RFX 函式呼叫所表示之資料成員的型別。
如需處理輸出和輸出參數的詳細資訊,請參閱 CRecordset 成員函式 FlushResultSet。 如需 RFX 和 Bulk 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