Udostępnij za pośrednictwem


RFX_Text_Bulk

Przenosi wielu wierszy danych znakowych z kolumny źródła danych ODBC do odpowiedniej tablicy w CRecordset-uzyskane 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 definiujące kontekst dla każdego wywołania funkcji.Aby uzyskać więcej informacji, zobacz artykuł wymiany pola rekordu: jak działa RFX.

  • szName
    Nazwa kolumny danych.

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

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

  • nMaxLength
    Maksymalna dozwolona długość wartości przechowywanych w tablicy wskazywanej przez prgStrVals, włączając znak null zakończenie.W celu zapewnienia, że dane nie zostaną obcięte, należy przekazać wartość wystarczającą do największego elementu danych, oczekiwanych.

Uwagi

Kolumny źródła danych mogą mieć typu danych ODBC z SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL, lub SQL_NUMERIC.Zestaw rekordów, należy zdefiniować członka danych pole typu LPSTR.

Jeśli należy zainicjować prgStrVals i prgLengths do NULL, a następnie tablice, aby zostaną przydzielone automatycznie, o rozmiarach równa rozmiar zestawu wierszy.

[!UWAGA]

Luzem w polu rekordu exchange tylko przesyła dane 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 Exchange pole rekordu (RFX).

Przykład

Należy ręcznie napisać połączeń w sieci DoBulkFieldExchange zastąpić.W tym przykładzie przedstawiono wywołanie RFX_Text_Bulk, jak również wywołanie RFX_Long_Bulk, do transferu danych.Te wywołania są poprzedzone przez wywołanie CFieldExchange::SetFieldType.Należy zauważyć, że dla parametrów, musisz wywołać funkcji RFX w 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 MFC i Globals