次の方法で共有


RFX_Text

CRecordset オブジェクトのフィールド データ メンバーと、ODBC 型 SQL_LONGVARCHARSQL_CHARSQL_VARCHARSQL_DECIMALSQL_NUMERIC のデータ ソース レコード列の間で CString データを転送します。

void RFX_Text(
   CFieldExchange* pFX,
   const char* szName,
   CString& value,
   int nMaxLength = 255,
   int nColumnType = SQL_VARCHAR,
   short nScale = 0 
);

パラメーター

  • pFX
    CFieldExchange クラスのオブジェクトへのポインター。 このオブジェクトは、関数の各呼び出しのコンテキストを定義する情報を保持します。 操作の詳細については、CFieldExchangeオブジェクトを指定することができます、場合は、記事を参照してくださいレコード フィールド エクス チェンジ:。RFX の動作

  • szName
    データ列の名前。


  • 指定されたデータ メンバーに格納される値。この値は転送されます。 レコードセットからデータ ソースへの転送では、指定されたデータ メンバーから CString 型の値を取得します。 データ ソースからレコードセットへの転送では、指定されたデータ メンバーに値が格納されます。

  • nMaxLength
    転送される文字列または配列の最大長。 nMaxLength の既定値は 255 です。 有効な値は 1 から INT_MAX までです。 フレームワークはデータ用にこの領域を確保します。 最高のパフォーマンスを引き出すには、転送するデータ アイテム中で最大のアイテムが入るのに十分な大きさを渡します。

  • nColumnType
    主にパラメーターに使います。 パラメーターのデータ型を示す整数です。 型は SQL_XXX 形式の ODBC データ型です。

  • nScale
    ODBC 型 SQL_DECIMAL または SQL_NUMERIC の値としてスケールを指定します。 nScale は、パラメーターの値を設定するときだけ有効です。 詳細については、『ODBC SDK Programmer's Reference』の「Appendix D: Data Types」の「Column Size, Decimal Digits, Transfer Octet Length, and Display Size」を参照してください。

解説

この型のデータ ソース内のデータは、レコードセットの CString 型との間に割り当てられます。

使用例

例ではいくつかの RFX_Text を呼び出しています。 また、2 つの CFieldExchange::SetFieldType を呼び出していることにも注目してください。 パラメーターには、SetFieldType 呼び出しとそれに関連する RFX 呼び出しをユーザーが記述する必要があります。 通常、出力列の呼び出しとそれに関連する RFX 呼び出しは、コード ウィザードで生成されます。

void CCustomer::DoFieldExchange(CFieldExchange* pFX)
{
   pFX->SetFieldType(CFieldExchange::outputColumn);
   // Macros such as RFX_Text() and RFX_Int() are dependent on the
   // type of the member variable, not the type of the field in the database.
   // ODBC will try to automatically convert the column value to the requested type
   RFX_Long(pFX, _T("[CustomerID]"), m_CustomerID);
   RFX_Text(pFX, _T("[ContactFirstName]"), m_ContactFirstName);
   RFX_Text(pFX, _T("[PostalCode]"), m_PostalCode);
   RFX_Text(pFX, _T("[L_Name]"), m_L_Name);
   RFX_Long(pFX, _T("[BillingID]"), m_BillingID);

   pFX->SetFieldType(CFieldExchange::inputParam);
   RFX_Text(pFX, _T("Param"), m_strParam);
}

必要条件

**ヘッダー:**afxdb.h

参照

参照

RFX_Bool

RFX_Long

RFX_Int

RFX_Single

RFX_Double

RFX_Date

RFX_Byte

RFX_Binary

RFX_LongBinary

CFieldExchange::SetFieldType

概念

MFC マクロとグローバル