Share via


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

Siehe auch

Referenz

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

Konzepte

MFC-Makros, globale Funktionen und globale Variablen