次の方法で共有


CFieldExchange::SetFieldType

更新 : 2007 年 11 月

オーバーライドしたレコードセット クラスの 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 を呼び出す必要があります。バルク行フェッチを実装していない場合、ClassWizard が DoFieldExchange のフィールド マップ セクションに SetFieldType 関数呼び出しを記述します。

レコードセット クラスをパラメータ化するときは、フィールド マップ セクションの外側で、すべてのパラメータ データ メンバの RFX 呼び出しの前に、再度 SetFieldType を呼び出す必要があります。パラメータ データ メンバの型ごとに SetFieldType 関数呼び出しを追加する必要があります。自分のクラスのパラメータ データ メンバを指定するために SetFieldType 関数に渡せる値は、次の表のとおりです。

SetFieldType パラメータ値

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

CFieldExchange::inputParam

入力パラメータ。値はレコードセットのクエリまたは組み込み手続きへ渡されます。

CFieldExchange::param

CFieldExchange::inputParam と同じです。

CFieldExchange::outputParam

出力パラメータ。レコードセットの組み込み手続きの戻り値です。

CFieldExchange::inoutParam

入出力パラメータ。レコードセットの組み込み手続きへ渡された、またはそこから返された値です。

一般的には、フィールド データ メンバやパラメータ データ メンバに関連付けられた一連の RFX 関数呼び出しの前に、SetFieldType 関数を呼び出す必要があります。それぞれの SetFieldType 呼び出しのパラメータ nFieldType は、その後に続く RFX 関数呼び出しで示されるデータ メンバの型を識別します。

出力と入出力パラメータの取り扱いの詳細については、CRecordset の「CRecordset::FlushResultSet」メンバ関数を参照してください。RFX と Bulk RFX 関数の詳細については、「レコード フィールド エクスチェンジ (RFX) 関数」を参照してください。バルク行フェッチの関連情報については、「レコードセット : バルク行フェッチ (ODBC)」を参照してください。

使用例

この例では、SetFieldType 関数の呼び出しを組み合わせたいくつかの RFX 関数の呼び出しを示します。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);
}

必要条件

ヘッダー : afxdb.h

参照

参照

CFieldExchange クラス

階層図

CRecordset::DoFieldExchange

CRecordset::DoBulkFieldExchange

CRecordset::FlushResultSet

その他の技術情報

CFieldExchange のメンバ

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