CRecordset::DoFieldExchange

wirtualne nieważne DoFieldExchange ( CFieldExchange * pFX );
rzut ( CDBException );

Parametry

pFX

Wskaźnik do obiektu CFieldExchange . Ramach już będzie ustawiono tego obiektu do określenia kontekstu dla operacji wymiany pola.

Uwagi

Podczas pobierania wierszy zbiorczej nie jest zaimplementowana, ramy wymaga tej funkcji członek automatycznie wymiany danych pomiędzy członkami danych pola obiektu zestaw rekordów i odpowiadających im kolumn bieżącego rekordu w źródle danych. DoFieldExchange także wiąże członkom danych parametru, jeśli do parametru symbole zastępcze w ciągu instrukcji SQL selekcji w zestawie rekordów.

Jeśli pobieranie wierszy zbiorczej jest zaimplementowana, ramy wywołuje DoBulkFieldExchange. Aby zaimplementować wiersz luzem, pobieranie, należy określić opcję CRecordset::useMultiRowFetch parametru dwOptions w otwartej funkcji członek.

Uwaga DoFieldExchange jest dostępna tylko wtedy, gdy używasz klasy pochodzące z CRecordset. Po utworzeniu obiektu recordset bezpośrednio z CRecordset, należy wywołać funkcję Państwa GetFieldValue do pobierania danych.

Wymiana danych pola o nazwie pole rekordu wymiany (RFX), działa w dwóch kierunkach: od obiektu recordset pola danych członków do pola rekordu w źródle danych, a od rekordu w źródle danych do obiektu recordset.

Tylko działania, które normalnie muszą wykonać wykonanie DoFieldExchange dla klasy pochodnej rekordów jest utworzenie klasy z ClassWizard i określić nazwy i typy danych pól danych członków. Kod może również dodać do co ClassWizard zapisuje określić parametr danych członków lub zajmują się żadnych kolumn, które powiąże się dynamicznie. Aby uzyskać więcej informacji, zobacz artykuł rekordów: dynamiczne wiązanie danych kolumn (ODBC) w Visual C++ Programmer's Guide.

Przy deklarowaniu klasy pochodnej rekordów z ClassWizard, kreator zapisuje się przesłonięciem DoFieldExchange , która przypomina poniższy przykład:

void CCustSet::DoFieldExchange (CFieldExchange * pFX)
{
 nbsp; //{{AFX_FIELD_MAP(CCustSet)
   pFX - > SetFieldType(CFieldExchange::outputColumn);
   RFX_Text (pFX, "Nazwa", m_strName);
   RFX_Int (pFX, "Wiek", m_wAge);
   //}}AFX_FIELD_MAP
}

Aby uzyskać więcej informacji o funkcjach RFX zobacz temat Funkcje wymiany pola rekordu.

Dla dalszych przykładów i szczegóły dotyczące DoFieldExchange, zobacz artykuł wymiany pola rekordu: jak działa RFX. Aby uzyskać ogólne informacje o RFX, zobacz artykuł Wymiany pola rekordu. Zarówno artykuły są w Visual C++ Programmer's Guide.

Omówie&nie CRecordset |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CRecordset::m_nFields, CRecordset::m_nParams, CRecordset::DoBulkFieldExchange, CRecordset::GetFieldValue, CFieldExchange, funkcje wymiany pola rekordu

Index