RFX_Text_Bulk
Überträgt mehrere Zeilen von Textdaten einer Spalte einer ODBC-Datenquelle zu einem entsprechenden Array in CRecordset abgeleitetes Objekt.
void RFX_Text_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
LPSTR* prgStrVals,
long** prgLengths,
int nMaxLength
);
Parameter
pFX
Einen Zeiger auf ein CFieldExchange-Objekt. Dieses Objekt enthält Informationen, um den Kontext für jeden Aufruf der Funktion. Weitere Informationen finden Sie im Artikel Datensatzfeldaustausch: Wie RFX funktioniert.szName
Der Name einer Datenspalte.prgStrVals
Ein Zeiger auf ein Array LPSTR-Werten. Dies speichert Array die von der Datenquelle zu übertragenden Daten, z Recordset. Beachten Sie das mit der aktuellen Version von ODBC, diese Werte kann keine Unicode- sein.prgLengths
Ein Zeiger auf ein Array langen ganzen Zahlen. Dies speichert Array Längen in Bytes in jedes Werts im Array, auf den durch prgStrVals gezeigt wird. Diese Dauer schließt das ungültige Exportieren aus. Beachten Sie, dass der Wert SQL_NULL_DATA gespeichert wird, wenn das entsprechende DataItem-Steuerelement einen NULL-Wert enthält. Weitere Informationen finden Sie die ODBC-API-Funktion SQLBindCol in ODBC SDKProgrammer's Reference.nMaxLength
Die maximale zulässige Länge der Werte, die im Array gespeichert wurden, wurden auf durch prgStrVals, einschließlich das ungültige abschließendes Zeichen. Um sicherzustellen dass Daten nicht abgeschnitten werden, übergeben Sie einen Wert, der so um das größte Datenelement anzupassen groß ist, das Sie erwartet haben.
Hinweise
Die Datenquellenspalte kann einen ODBC-Typ SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL oder SQL_NUMERIC verfügen. Das Recordset muss einen Felddatenmember des Typs LPSTR definieren.
Wenn Sie prgStrVals und prgLengths in NULL initialisieren, werden die Arrays, auf die diese verweisen, automatisch mit, Größen gleich der Größe zugeordnet.
Hinweis
Der Sammel-Datensatzfeldaustausch überträgt Daten nur von der Datenquelle in das Recordset-Objekt.Um das Recordset aktualisierbar auszuführen, müssen Sie die ODBC-API-Funktion SQLSetPos verwenden.
Weitere Informationen finden Sie in Artikel Recordset: Datensätze in einer Sammeloperation (ODBC) und Datensatzfeldaustausch (RFX).
Beispiel
Sie müssen Aufrufe in der Überschreibung DoBulkFieldExchange manuell schreiben. In diesem Beispiel wird RFX_Long_BulkRFX_Text_Bulk einen Aufruf und einen Aufruf, für Datenübertragung. Diese Aufrufe werden von einem Aufruf von CFieldExchange::SetFieldType ein. Beachten Sie das für Parameter, muss die RFX-Funktionen statt Sammel-RFX-Funktionen aufrufen.
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);
}
Anforderungen
Header: afxdb.h