共用方式為


RFX_Text_Bulk

字元資料的多個資料列會將從 ODBC 資料來源的資料行中的對應陣列轉換CRecordset-衍生物件。

void RFX_Text_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   LPSTR* prgStrVals,
   long** prgLengths,
   int nMaxLength 
);

參數

  • pFX
    CFieldExchange 物件的指標。這個物件包含用於定義每個呼叫的函式的內容資訊。如需詳細資訊,請參閱下面的文件資料錄欄位交換: RFX 的運作方式

  • szName
    資料行的名稱。

  • prgStrVals
    變數的指標陣列, LPSTR 的值。這個陣列將會儲存要從資料來源傳輸到資料錄集的資料。請注意,使用最新版的 ODBC,這些值不能為 Unicode。

  • prgLengths
    長整數的陣列指標。這個陣列會儲存長度,以位元組為單位所指的陣列中每個值的prgStrVals。此長度會排除的 null 結尾字元。請注意,值 SQL_NULL_DATA 如果您對應資料的項目會包含 Null 值會儲存。如需詳細資訊,請參閱 ODBC API 函式 SQLBindColODBC SDK 程式設計人員參考

  • nMaxLength
    允許的最大的長度值儲存在陣列中所指的prgStrVals,其中包括的 null 結尾字元。若要確保資料將不會被截斷,傳遞一個大到足以容納您所預期的最大資料項目的值。

備註

資料來源資料行可以有一個的 ODBC 型別 SQL_LONGVARCHARSQL_CHARSQL_VARCHARSQL_DECIMAL,或 SQL_NUMERIC。資料錄集必須定義型別的欄位資料成員 LPSTR

如果初始化prgStrVals和prgLengths到 NULL,然後指向陣列將自動配置資料列集大小相等的大小。

注意事項注意事項

大量資料錄欄位交換只將資料從資料來源的資料錄集物件。若要讓資料錄集的可更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱文章的資料錄集: 擷取的資料錄中大量 (ODBC)資料錄欄位交換 (RFX)

範例

您必須以手動方式在中撰寫呼叫程式DoBulkFieldExchange覆寫。本範例會顯示RFX_Text_Bulk,以及呼叫RFX_Long_Bulk,進行資料傳輸。這些呼叫會加上呼叫 CFieldExchange::SetFieldType。請注意,對於參數,您必須呼叫 RFX 函式,而非 Bulk RFX 函式。

void CMultiCustomer::DoBulkFieldExchange(CFieldExchange* pFX)
{
   pFX->SetFieldType(CFieldExchange::outputColumn);
   RFX_Long_Bulk(pFX, _T("[CustomerID]"), &m_pCustomerID, &m_pcCustomerID);
   RFX_Text_Bulk(pFX, _T("[ContactFirstName]"), &m_pContactFirstName, &m_pcContactFirstName, 50);
   RFX_Text_Bulk(pFX, _T("[PostalCode]"), &m_pPostalCode, &m_pcPostalCode, 50);
   RFX_Text_Bulk(pFX, _T("[L_Name]"), &m_pL_Name, &m_pcL_Name, 50);
   RFX_Long_Bulk(pFX, _T("[BillingID]"), &m_pBillingID, &m_pcBillingID);

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

需求

標頭: afxdb.h

請參閱

參考

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

概念

MFC 巨集和全域變數