次の方法で共有


CFieldExchange::SetFieldType

レコードセットのクラスの DoFieldExchange または DoBulkFieldExchange のオーバーライドで SetFieldType の呼び出しが必要です。

void SetFieldType( 
   UINT nFieldType  
);

パラメーター

  • nFieldType
    次のいずれかである CFieldExchangeで宣言された enum FieldTypeの値:

    • CFieldExchange::outputColumn

    • CFieldExchange::inputParam

    • CFieldExchange::param

    • CFieldExchange::outputParam

    • CFieldExchange::inoutParam

解説

フィールド データ メンバーごとに RFX、または Bulk RFX 関数の呼び出しに続く CFieldExchange::outputColumnのパラメーターの SetFieldType を呼び出す必要があります。 バルク行フェッチを実装していない場合は DoFieldExchangeClassWizard のフィールド マップのセクションに、の SetFieldType のこの呼び出しを設定します。

パラメーターを利用したレコードセット クラスので、SetFieldType を表す場合、すべてのパラメーター データ メンバーごとに RFX 関数呼び出しに続くすべてのフィールド マップのセクションの外側で再度呼び出す必要があります。 パラメーター データ メンバーの種類に SetFieldType の独自の呼び出しが必要です。 次の表は、クラスのパラメーター データ メンバーを表すために SetFieldType に渡すことができる値を区別するものです:

SetFieldType のパラメーター値

パラメーター データ メンバーの型

CFieldExchange::inputParam

入力パラメーター。 レコードセットのクエリまたはストアド プロシージャに渡す値。

CFieldExchange::param

CFieldExchange::inputParamと同じです。

CFieldExchange::outputParam

出力パラメーター。 レコードセットのストアド プロシージャの戻り値。

CFieldExchange::inoutParam

入出力パラメーター。 渡され、レコードセットのストアド プロシージャから返される値。

一般に、フィールド データ メンバー、またはパラメーター データ メンバーに関連付けられている SetFieldTypeの呼び出しに RFX 関数呼び出しの各グループは指定する必要があります。 SetFieldType の各呼び出しの nFieldType のパラメーターは SetFieldType の呼び出しの直後に RFX 関数によって表されるデータ メンバーの種類を識別します。

出力および入出力パラメーターの操作方法の詳細については、CRecordset のメンバー関数 FlushResultSetを参照してください。 RFX や Bulk RFX 関数に関する詳細については、" " フィールド エクスチェンジ関数を記録します。を参照してください。 バルク行フェッチについての関連情報については、" " レコードセット: フェッチ サイズのレコードを (ODBC)を参照してください。

使用例

この例では SetFieldTypeの呼び出しに関連することで RFX 関数に複数の呼び出しを示します。 SetFieldTypeCFieldExchange のオブジェクトへの 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

その他の技術情報

レコード フィールド エクスチェンジ (RFX) 関数