RFX_Text_Bulk

Überträgt mehrere Zeilen von Textdaten aus einer Spalte einer ODBC-Datenquelle in ein entsprechendes 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 zu definieren.Weitere Informationen finden Sie im Artikel Datensatzfeldaustausch: Wie Funktionsweise von RFX.

  • szName
    Der Name einer Datenspalte.

  • prgStrVals
    Ein Zeiger auf ein Array von Werten LPSTR.Dieses Array speichert die von der Datenquelle übertragen werden Daten auf das Recordset.Wenn Sie mit der aktuellen Version von ODBC, diese Werte kann nicht Unicode sein.

  • prgLengths
    Ein Zeiger auf ein Array von langen ganzen Zahlen.Dieses Array speichert die Länge in Bytes jedes Werts im Array, auf die von prgStrVals dargestellt wird.Diese Länge schließt das Endzeichen Null aus.Beachten Sie, dass der Wert SQL_NULL_DATA gespeichert wird, wenn das entsprechende Datenelement einen NULL-Wert enthält.Weitere Informationen finden Sie unter der ODBC-API-Funktion SQLBindCol in der ODBC SDK Programmer's Reference.

  • nMaxLength
    Die maximal zulässige Länge von Werten, die im Array gespeichert wurden, der sich von prgStrVals, einschließlich des abschließenden NULL-Zeichens Endzeichen.Um sicherzustellen, dass die Daten nicht abgeschnitten werden, übergeben Sie einen Wert, der das größte ausreichend groß ist, um das Datenelement aufzunehmen.

Hinweise

Die Spalte darf keinen SQL_LONGVARCHAR ODBC-Typ Datenquellen, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL oder SQL_NUMERIC haben.Das Recordset muss einen Felddatenmember vom Typ LPSTR definieren.

Wenn Sie prgStrVals und prgLengthsNULL zu initialisieren, werden die Arrays, die sie zu verweisen, automatisch mit Größen gleich der Größe des Rowsets zugeordnet.

HinweisHinweis

den Sammel-Datensatzfeldaustausch überträgt lediglich Daten aus der Datenquelle in das Recordset-Objekt.Um das Recordset aktualisierbar zu machen, müssen Sie die ODBC-API-Funktion SQLSetPos verwenden.

Weitere Informationen finden Sie in der Recordset: Abrufen von Datensätzen in einer Sammeloperation (ODBC) Artikel und Datensatzfeldaustausch (RFX).

Beispiel

Sie müssen Aufrufe in der DoBulkFieldExchange Überschreibung manuell schreiben.In diesem Beispiel wird RFX_Long_Bulk sowie einen Aufruf RFX_Text_Bulk einen Aufruf für die Datenübertragung an.Diese Aufrufe werden bei einem Aufruf von CFieldExchange::SetFieldType vorangestellt.Beachten Sie, dass für Parameter müssen Sie die RFX-Funktionen anstelle der Großteil 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 und -globale Werte