次の方法で共有


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 を呼び出す必要があります。 バルク行フェッチを実装していない場合、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) 関数