共用方式為


RFX_Text_Bulk

字元資料傳輸多行從 ODBC 資料來源的資料行至對應的陣列在 CRecordset衍生物件的。

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

參數

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

  • szName
    資料行的名稱。

  • prgStrVals
    out 的指標 LPSTR 值。 這個陣列會儲存資料來源中要傳送的資料至資料錄集。 請注意與 ODBC 版本中,這些值不可為 Unicode。

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

  • nMaxLength
    允許在陣列中儲存值的長度所指向的 prgStrVals,其中包含 NULL 結束字元。 若要確保資料不會被截斷,請將這個值以配合您所需的最大的資料項目。

備註

資料來源資料行可有 SQL_LONGVARCHARSQL_CHARSQL_VARCHARSQL_DECIMALSQL_NUMERIC的 ODBC 型別。 資料錄集必須定義型別 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);
}

需求

Header: 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 巨集和全域