Condividi tramite


RFX_Text_Bulk

Trasferisce le righe di dati di tipo carattere da una colonna di un'origine dati ODBC a una matrice corrispondente in CRecordsetoggetto derivato da.

void RFX_Text_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   LPSTR* prgStrVals,
   long** prgLengths,
   int nMaxLength 
);

Parametri

  • pFX
    Un puntatore a un oggetto CFieldExchange.Questo oggetto contiene le informazioni per definire il contesto per ogni chiamata di funzione.Per ulteriori informazioni, vedere l'articolo Trasferimento di campi di Record: Funzionamento di RFX.

  • szName
    Il nome di una colonna di dati.

  • prgStrVals
    Un puntatore a una matrice di valori di LPSTR .Questa matrice verranno archiviati i dati da trasferire dall'origine dati al recordset.Si noti che con la versione corrente ODBC, questi valori non può essere Unicode.

  • prgLengths
    Un puntatore a una matrice di interi lunghi.Questa matrice che memorizzerà la lunghezza in byte di ogni valore nella matrice indicata da prgStrVals.Tale lunghezza escluso il carattere di terminazione null.Si noti che il valore SQL_NULL_DATA verrà archiviato se l'elemento dati corrispondente contiene un valore null.Per ulteriori informazioni, vedere la funzione API ODBC SQLBindColin ODBC SDK.

  • nMaxLength
    La lunghezza massima concedere i valori memorizzati nella matrice indicato da prgStrVals, incluso il carattere di terminazione null.Per assicurarsi che i dati non vengono troncati, passare un valore abbastanza grande da contenere il massimo elemento di dati che previsti.

Note

La colonna dell'origine dati può avere un tipo di ODBC di SQL_LONGVARCHAR, di SQL_CHAR, di SQL_VARCHAR, di SQL_DECIMAL, o di SQL_NUMERIC.Il recordset necessario definire un membro dati di campo di tipo LPSTR.

Se si inizializza prgStrVals e prgLengths a NULL, le matrici che indicano vengono allocate automaticamente, con le dimensioni uguali alla dimensione del rowset.

[!NOTA]

Il trasferimento di massa di campi di Record trasferita solo i dati dall'origine dati all'oggetto recordset.Per rendere il recordset aggiornabile, è necessario utilizzare la funzione API ODBC SQLSetPos.

Per ulteriori informazioni, vedere gli articoli recordset: Recupero di massa di record (ODBC) e Trasferimento di campi di Record.

Esempio

È necessario scrivere manualmente le chiamate nell'override di DoBulkFieldExchange .In questo esempio viene illustrata una chiamata a RFX_Text_Bulknonché una chiamata a RFX_Long_Bulk, per il trasferimento dei dati.Queste chiamate sono precedute da una chiamata a CFieldExchange::SetFieldType.Si noti che per i parametri, è necessario chiamare le funzioni RFX anziché le funzioni RFX di massa.

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);
}

Requisiti

Header: afxdb.h

Vedere anche

Riferimenti

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

Concetti

Macro MFC e Globals