Sdílet prostřednictvím


RFX_Text_Bulk

Přenáší více řádků znaková data ze sloupce zdroj dat ODBC na odpovídající pole v CRecordset-odvozené objekt.

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

Parametry

  • pFX
    Určuje ukazatel na objekt CFieldExchange.Tento objekt obsahuje informace, které definují kontext pro každé volání funkce.Další informace naleznete v článku Výměna pole záznamu: Jak funguje RFX.

  • szName
    Název datového sloupce.

  • prgStrVals
    Ukazatel na pole LPSTR hodnoty.Toto pole bude ukládat data převést ze zdroje dat do sady záznamů.Všimněte si, že v aktuální verzi rozhraní ODBC, nelze tyto hodnoty Unicode.

  • prgLengths
    Ukazatel na pole dlouhých celých čísel.Toto pole bude ukládat délka v bajtech všechny hodnoty v poli, na kterou odkazuje prgStrVals.Tato délka vylučuje znak ukončení hodnotu null.Všimněte si, že hodnota SQL_NULL_DATA budou uloženy, pokud odpovídající položka dat obsahuje hodnotu Null.Další informace naleznete v tématu funkce rozhraní ODBC API SQLBindCol v ODBC SDK Programmer's Reference.

  • nMaxLength
    Maximální povolená délka hodnot uložených v poli, na kterou odkazuje prgStrVals, včetně znaku ukončení hodnotu null.Chcete-li zajistit, že data nebudou zkráceny, předáte hodnotu dostatečně velká k pokrytí největší datové položky, které očekáváte.

Poznámky

Zdrojový sloupec dat může mít ODBC typ SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL, nebo SQL_NUMERIC.Definovat sady záznamů pole datových členů typu LPSTR.

Pokud můžete inicializovat prgStrVals a prgLengths k NULL, pak pole odkazují bude přiděleno automaticky, jejichž velikost se rovná velikosti sady řádků.

[!POZNÁMKA]

Hromadná výměna pole záznamu pouze přenáší data ze zdroje dat do objektu sady záznamů.Chcete-li vaše sada záznamů aktualizovatelná, musíte použít funkci rozhraní ODBC API SQLSetPos.

Další informace naleznete v článcích sady záznamů: Fetching Records in Bulk (ODBC) a Výměna pole záznamu (RFX).

Příklad

Musíte ručně napsat volání vaší DoBulkFieldExchange přepsat.Tento příklad ukazuje volání RFX_Text_Bulk, a také volání RFX_Long_Bulk, pro přenos dat.Tyto hovory jsou před voláním CFieldExchange::SetFieldType.Všimněte si, že pro parametry, je třeba volat funkce RFX místo funkce hromadné výměny pole záznamů.

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);
}

Požadavky

Soubor hlaviček: afxdb.h

Viz také

Referenční dokumentace

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

Koncepty

MFC – makra a globální prvky