Udostępnij za pośrednictwem


RFX_Text_Bulk

Przenosi wiele wierszy danych znakowych z kolumny źródła danych ODBC w odpowiedniej tablicy w CRecordset-pochodnych obiektu.

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

Parametry

  • pFX
    Wskaźnik do CFieldExchange obiektu.Ten obiekt zawiera informacje, aby zdefiniować kontekst dla każdego wywołania funkcji.Aby uzyskać więcej informacji, zobacz artykuł wymiany pól rekordu: jak działa RFX.

  • szName
    Nazwa kolumny danych.

  • prgStrVals
    Wskaźnik do tablicy LPSTR wartości.Ta tablica będzie przechowywać dane do przetransferowania ze źródła danych do zestawu rekordów.Należy zauważyć, że w bieżącej wersji ODBC, te wartości nie może być Unicode.

  • prgLengths
    Wskaźnik do tablicy liczby całkowite długie.Ta tablica będzie przechowywać długość w bajtach każdej wartości w tablicy wskazywanej przez prgStrVals.Ta długość wyklucza znak zakończenia wartości null.Należy zauważyć, że wartość SQL_NULL_DATA będą przechowywane, jeżeli odpowiadający mu element danych zawiera wartość Null.Aby uzyskać więcej informacji, zobacz opis funkcji interfejsu API ODBC Procedura SQLBindCol w SDK Podręcznik programisty ODBC.

  • nMaxLength
    Maksymalna dozwolona długość wartości przechowywane w tablicy wskazywanej przez prgStrVals, włączając znak zakończenia wartości null.W celu zapewnienia, że dane nie zostaną obcięte, należy przekazać wartość wystarczająco duży, aby pomieścić największą element danych, można się spodziewać.

Uwagi

Kolumny źródła danych może mieć typ ODBC SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL, lub SQL_NUMERIC.Zestaw rekordów, należy zdefiniować pole element członkowski danych typu LPSTR.

Jeśli zainicjować prgStrVals i prgLengths do wartości NULL, a następnie tablic, wskaż polecenie przydzielana automatycznie, z rozmiarami równa rozmiar zestawu wierszy.

[!UWAGA]

Wymiana pole rekordu luzem tylko przeniesienie danych ze źródła danych do obiektu recordset.Aby swój zestaw rekordów można aktualizować, należy użyć funkcji interfejsu API ODBC SQLSetPos.

Aby uzyskać więcej informacji, zobacz artykuły zestaw rekordów: pobieranie rekordów luzem (ODBC) i Rekord pola programu Exchange (RFX).

Przykład

Należy ręcznie napisać połączeń w sieci DoBulkFieldExchange zastąpić.W tym przykładzie pokazano wywołanie RFX_Text_Bulk, jak również numer telefonu, aby RFX_Long_Bulk, do transferu danych.Te wywołania są poprzedzone przez wywołanie CFieldExchange::SetFieldType.Należy zauważyć, że dla parametrów, należy wywołać funkcji RFX, a nie funkcji RFX luzem.

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

Wymagania

Nagłówek: afxdb.h

Zobacz też

Informacje

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

Koncepcje

Makra i funkcje globalne MFC