RFX_Text
更新 : 2007 年 11 月
CRecordset オブジェクトのフィールド データ メンバと、ODBC 型 SQL_LONGVARCHAR、SQL_CHAR、SQL_VARCHAR、SQL_DECIMAL、SQL_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
データ列の名前。value
指定されたデータ メンバに格納される値。この値は転送されます。レコードセットからデータ ソースへの転送では、指定されたデータ メンバから 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