void RFX_Text_Bulk (CFieldExchange ※ pFX、LPCTSTR szNameLPSTR ※ prgStrVals長い年 prgLengths、int nMaxLength );
パラメーター
pFX
CFieldExchangeオブジェクトへのポインター。このオブジェクトには、各関数の呼び出しのコンテキストを定義する情報が含まれます。詳細については、参照してください レコード フィールド エクス チェンジ: RFX の動作方法でVisual の C++ プログラマのガイド。
szName
データ列の名前。
prgStrVals
LPSTR値の配列へのポインター。この配列は、データ ソースからレコード セットを転送するデータを格納します。ODBC の現在のバージョンでは、これらの値を Unicode ことはできないことに注意してください。
prgLengths
長整数の配列へのポインター。この配列は、長さバイトのprgStrValsが指す配列内の各値で保存されます。この長さは、null 終端文字を除外します。場合は、対応するデータ項目が含まれている Null 値をSQL__DATAが格納されることに注意してください。詳細については、ODBC API 関数SQLBindCol 『 ODBC SDK programmer's Referenceを参照してください。
nMaxLength
Null 終端文字を含むprgStrValsによって、指す配列に格納されている値の長さが最大です。データが切り捨てられますしないことを確認するには、期待どおり、最大のデータ項目に対応するのに十分な値を渡す。
解説
複数行の文字データの ODBC データ ソースの列から、対応する配列、 CRecordsetでRFX_Text_Bulk関数を転送-オブジェクトを派生します。データ ソース列を ODBC 型のSQL_LONGVARCHAR、 SQL_CHAR、かつ、について SQL_DECIMAL、 SQL_NUMERICを持つことができます。レコード セット型LPSTRのフィールド データ メンバーを定義する必要があります。
PrgStrValsとprgLengthsをNULLに初期化する場合、[彼らが指す配列自動的に、行セット サイズと同じサイズに割り当てられる。
注特価;バルク レコード フィールド エクス チェンジだけデータをデータ ソースからレコード セット オブジェクトに転送します。レコード セットが更新可能にするためには、ODBC API 関数のSQLSetPosを使用する必要があります。これを行うには方法の例についてを参照してくださいサンプル dbfetch に関するトピック(&N)。
詳細についてを参照してください レコード セット: レコードのフェッチ一括 (ODBC)と Visual の C++ プログラマのガイドのレコード フィールド エクス チェンジ (RFX)。
例
呼び出し、 DoBulkFieldExchangeでオーバーライドを手動で記述する必要がありますので ClassWizard は Bulk RFX 関数をサポートしていません。RFX_Long_Bulk、データ転送のための呼び出しと同様にRFX_Text_Bulkへの呼び出しは次の例です。これらの呼び出しは、 CFieldExchange::SetFieldTypeを呼び出して付きます。パラメーターでは、RFX 関数ではなく Bulk RFX 関数を呼び出す必要がありますに注意してください。
void MultiRowSet::DoBulkFieldExchange (CFieldExchange ※ pFX){特価;pFX - > SetFieldType (CFieldExchange::outputColumn);RFX_Long_Bulk (pFX、_T (「[colRecID]」)、& m_rgID、& m_rgIDLenghts);RFX_Text_Bulk (pFX、_T (「[colName]」)、& m_rgName、& m_rgNameLengths、30);pFX - > SetFieldType (CFieldExchange::inputParam);RFX_Text (pFX、「NameParam」、m_strNameParam);}
参照特価;RFX_Binary_Bulk、 RFX_Bool_Bulk、 RFX_Byte_Bulk、 RFX_Date_Bulk、 RFX_Double_Bulk、 RFX_Int_Bulk、 RFX_Long_Bulk、 RFX_Single_Bulk、 CFieldExchange::SetFieldType(&N)