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