Exchange-functies recordveld

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Dit onderwerp bevat de functies RfX (RFX, Bulk RFX en DFX) die worden gebruikt om de overdracht van gegevens tussen een recordsetobject en de bijbehorende gegevensbron te automatiseren en om andere bewerkingen uit te voeren op de gegevens.

Als u de ODBC-klassen gebruikt en u bulksgewijs rijen ophalen hebt geïmplementeerd, moet u de DoBulkFieldExchange lidfunctie CRecordset handmatig overschrijven door de Bulk RFX-functies aan te roepen voor elk gegevenslid dat overeenkomt met een gegevensbronkolom.

Als u het ophalen van bulksgewijze rijen niet hebt geïmplementeerd in de ODBC-klassen of als u de DAO-klassen (verouderd) gebruikt, overschrijft ClassWizard de DoFieldExchange lidfunctie van CRecordset of CDaoRecordset door de RFX-functies (voor ODBC-klassen) of de DFX-functies (voor DAO-klassen) aan te roepen voor elk lid van veldgegevens in uw recordset.

De functies voor het uitwisselen van recordvelden dragen gegevens over telkens wanneer het framework aanroept DoFieldExchange of DoBulkFieldExchange. Elke functie draagt een specifiek gegevenstype over.

Zie de artikelen Record Field Exchange: How RFX Works (ODBC) (RFX Works) voor meer informatie over hoe deze functies worden gebruikt. Zie het artikel Recordset: Records ophalen in bulk (ODBC) voor meer informatie over het ophalen van bulkrijen.

Voor kolommen met gegevens die u dynamisch bindt, kunt u de RFX- of DFX-functies ook zelf aanroepen, zoals wordt uitgelegd in de artikelen Recordset: Dynamically Binding Data Columns (ODBC). Daarnaast kunt u uw eigen aangepaste RFX- of DFX-routines schrijven, zoals uitgelegd in Technical Note 43 (voor ODBC) en Technical Note 53 (voor DAO).

Zie RFX_Text en [RFX_Text_Bulk]#rfx_text_bulk) voor een voorbeeld van RFX- en Bulk RFX-functies die worden weergegeven in de DoFieldExchange functies DoBulkFieldExchange en functies. DFX-functies zijn vergelijkbaar met de RFX-functies.

RFX-functies (ODBC)

Naam Description
RFX_Binary Hiermee worden matrices van bytes van het type CByteArray overgedragen.
RFX_Bool Draagt Booleaanse gegevens over.
RFX_Byte Hiermee wordt één byte aan gegevens overgedragen.
RFX_Date Hiermee worden tijd- en datumgegevens overgedragen met CTime of TIMESTAMP_STRUCT.
RFX_Double Draagt dubbele precisie float-gegevens over.
RFX_Int Hiermee worden gehele getallen overgedragen.
RFX_Long Draagt lange gehele getallen over.
RFX_LongBinary Draagt binaire grote objectgegevens (BLOB) over met een object van de klasse CLongBinary .
RFX_Single Draagt float-gegevens over.
RFX_Text Hiermee worden tekenreeksgegevens overgedragen.

Bulk RFX-functies (ODBC)

Naam Description
RFX_Binary_Bulk Hiermee worden matrices van bytegegevens overgedragen.
RFX_Bool_Bulk Hiermee worden matrices van Booleaanse gegevens overgedragen.
RFX_Byte_Bulk Hiermee worden matrices van één bytes overgedragen.
RFX_Date_Bulk Hiermee worden matrices van gegevens van het type TIMESTAMP_STRUCT overgedragen.
RFX_Double_Bulk Hiermee worden matrices van gegevens met dubbele precisie en drijvende komma overgedragen.
RFX_Int_Bulk Hiermee worden matrices van gehele getallen overgedragen.
RFX_Long_Bulk Hiermee worden matrices van lange gehele getallen overgedragen.
RFX_Single_Bulk Hiermee worden matrices van drijvendekommagegevens overgedragen.
RFX_Text_Bulk Hiermee worden matrices van gegevens van het type LPSTR overgedragen.

DFX Functions (DAO)

Naam Description
DFX_Binary Hiermee worden matrices van bytes van het type CByteArray overgedragen.
DFX_Bool Draagt Booleaanse gegevens over.
DFX_Byte Hiermee wordt één byte aan gegevens overgedragen.
DFX_Currency Hiermee worden valutagegevens overgedragen van het type COleCurrency.
DFX_DateTime Hiermee worden tijd- en datumgegevens overgedragen van het type COleDateTime.
DFX_Double Draagt dubbele precisie float-gegevens over.
DFX_Long Draagt lange gehele getallen over.
DFX_LongBinary Draagt binaire grote objectgegevens (BLOB) over met een object van de CLongBinary klasse. Voor DAO is het raadzaam om in plaats daarvan DFX_Binary te gebruiken.
DFX_Short Hiermee worden korte gehele getallen overgedragen.
DFX_Single Draagt float-gegevens over.
DFX_Text Hiermee worden tekenreeksgegevens overgedragen.

=============================================

RFX_Binary

Hiermee worden matrices van bytes overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record in de gegevensbron van het ODBC-type SQL_BINARY, SQL_VARBINARY of SQL_LONGVARBINARY.

Syntaxis

void RFX_Binary(
   CFieldExchange* pFX,
   const char* szName,
   CByteArray& value,
   int nMaxLength = 255);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type CByteArray, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

nMaxLength
De maximaal toegestane lengte van de tekenreeks of matrix die wordt overgedragen. De standaardwaarde van nMaxLength is 255. Juridische waarden zijn 1 tot INT_MAX. Het framework wijst deze hoeveelheid ruimte toe voor de gegevens. Geef voor de beste prestaties een waarde door die groot genoeg is voor het grootste gegevensitem dat u verwacht.

Opmerkingen

Gegevens in de gegevensbron van deze typen worden toegewezen aan en van het type CByteArray in de recordset.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Bool

Hiermee worden Booleaanse gegevens overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record op de gegevensbron van het ODBC-type SQL_BIT.

Syntaxis

void RFX_Bool(
   CFieldExchange* pFX,
   const char* szName,
   BOOL& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type BOOL, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Byte

Hiermee worden één bytes overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record in de gegevensbron van het ODBC-type SQL_TINYINT.

Syntaxis

void RFX_Byte(
   CFieldExchange* pFX,
   const char* szName,
   BYTE& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type BYTE, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Date

Hiermee worden gegevens overgedragen CTime of TIMESTAMP_STRUCT tussen de veldgegevens van een CRecordset object en de kolommen van een record in de gegevensbron van het ODBC-type SQL_DATE, SQL_TIME of SQL_TIMESTAMP.

Syntaxis

void RFX_Date(
   CFieldExchange* pFX,
   const char* szName,
   CTime& value);

void RFX_Date(
   CFieldExchange* pFX,
   const char* szName,
   TIMESTAMP_STRUCT& value);

void RFX_Date(
   CFieldExchange* pFX,
   const char* szName,
   COleDateTime& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid; de waarde die moet worden overgedragen. De verschillende versies van de functie hebben verschillende gegevenstypen voor waarde:

De eerste versie van de functie verwijst naar een CTime-object . Voor een overdracht van recordset naar gegevensbron wordt deze waarde opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

De tweede versie van de functie verwijst naar een TIMESTAMP_STRUCT structuur. U moet deze structuur zelf instellen vóór het gesprek. Ondersteuning voor dialoogvenstergegevensuitwisseling (DDX) of ondersteuning voor de codewizard is niet beschikbaar voor deze versie. De derde versie van de functie werkt op dezelfde manier als de eerste versie, behalve dat er een verwijzing naar een COleDateTime-object wordt gebruikt.

Opmerkingen

De CTime versie van de functie legt de overhead van een tussenliggende verwerking op en heeft een enigszins beperkt bereik. Als u een van deze factoren te beperken vindt, gebruikt u de tweede versie van de functie. Maar let op het gebrek aan codewizard en DDX-ondersteuning en de vereiste dat u de structuur zelf instelt.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Double

Hiermee worden dubbele floatgegevens overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record op de gegevensbron van het ODBC-type SQL_DOUBLE.

Syntaxis

void RFX_Double(
   CFieldExchange* pFX,
   const char* szName,
   double& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type double, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Int

Hiermee worden gehele getallen overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record in de gegevensbron van het ODBC-type SQL_SMALLINT.

Syntaxis

void RFX_Int(
   CFieldExchange* pFX,
   const char* szName,
   int& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type int, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Long

Hiermee worden lange gehele getallen overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record op de gegevensbron van het ODBC-type SQL_INTEGER.

Syntaxis

void RFX_Long(
   CFieldExchange* pFX,
   const char* szName,
   LONG&
value );

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type long, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_LongBinary

Hiermee worden binaire grote objectgegevens (BLOB) overgedragen met behulp van klasse CLongBinary tussen de veldgegevensleden van een CRecordset object en de kolommen van een record op de gegevensbron van het ODBC-type SQL_LONGVARBINARY of SQL_LONGVARCHAR.

Syntaxis

void RFX_LongBinary(
   CFieldExchange* pFX,
   const char* szName,
   CLongBinary& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type CLongBinary, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Single

Hiermee worden drijvendekommagegevens overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record in de gegevensbron van het ODBC-type SQL_REAL.

Syntaxis

void RFX_Single(
   CFieldExchange* pFX,
   const char* szName,
   float& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type float, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Text

Hiermee worden gegevens overgedragen CString tussen de veldgegevensleden van een CRecordset object en kolommen van een record in de gegevensbron van het ODBC-type SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL of SQL_NUMERIC.

Syntaxis

void RFX_Text(
   CFieldExchange* pFX,
   const char* szName,
   CString& value,
   int nMaxLength = 255,
   int nColumnType = SQL_VARCHAR,
   short nScale = 0);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type CString, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

nMaxLength
De maximaal toegestane lengte van de tekenreeks of matrix die wordt overgedragen. De standaardwaarde van nMaxLength is 255. Juridische waarden zijn 1 tot INT_MAX). Het framework wijst deze hoeveelheid ruimte toe voor de gegevens. Geef voor de beste prestaties een waarde door die groot genoeg is voor het grootste gegevensitem dat u verwacht.

nColumnType
Wordt voornamelijk gebruikt voor parameters. Een geheel getal dat het gegevenstype van de parameter aangeeft. Het type is een ODBC-gegevenstype van het formulier SQL_XXX.

nScale
Hiermee geeft u de schaal voor waarden van het ODBC-type SQL_DECIMAL of SQL_NUMERIC. nScale is alleen nuttig bij het instellen van parameterwaarden. Zie het onderwerp Precisie, Schaal, Lengte en Weergavegrootte in bijlage D van de naslaginformatie voor odbc-SDK-programmeurs voor meer informatie.

Opmerkingen

Gegevens in de gegevensbron van al deze typen worden toegewezen aan en vanuit CString de recordset.

Example

In dit voorbeeld ziet u verschillende aanroepen naar RFX_Text. Let ook op de twee aanroepen naar CFieldExchange::SetFieldType. Voor parameters moet u de aanroep naar en de RFX-aanroep schrijven SetFieldType . De aanroep van de uitvoerkolom en de bijbehorende RFX-aanroepen worden normaal gesproken geschreven door een codewizard.

void CCustomer::DoFieldExchange(CFieldExchange* pFX)
{
   pFX->SetFieldType(CFieldExchange::outputColumn);
   // Macros such as RFX_Text() and RFX_Int() are dependent on the
   // type of the member variable, not the type of the field in the database.
   // ODBC will try to automatically convert the column value to the requested type
   RFX_Long(pFX, _T("[CustomerID]"), m_CustomerID);
   RFX_Text(pFX, _T("[ContactFirstName]"), m_ContactFirstName);
   RFX_Text(pFX, _T("[PostalCode]"), m_PostalCode);
   RFX_Text(pFX, _T("[L_Name]"), m_L_Name);
   RFX_Long(pFX, _T("[BillingID]"), m_BillingID);

   pFX->SetFieldType(CFieldExchange::inputParam);
   RFX_Text(pFX, _T("Param"), m_strParam);
}

Requirements

Koptekst: afxdb.h

RFX_Binary_Bulk

Hiermee worden meerdere rijen bytegegevens uit een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

void RFX_Binary_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   BYTE** prgByteVals,
   long** prgLengths,
   int nMaxLength);

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgByteVals
Een aanwijzer naar een matrix met BYTE-waarden. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Met deze matrix wordt de lengte opgeslagen in bytes van elke waarde in de matrix die wordt verwezen door prgByteVals. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

nMaxLength
De maximaal toegestane lengte van de waarden die zijn opgeslagen in de matrix die door prgByteVals wordt verwezen. Als u ervoor wilt zorgen dat gegevens niet worden afgekapt, geeft u een waarde door die groot genoeg is voor het grootste gegevensitem dat u verwacht.

Opmerkingen

De gegevensbronkolom kan een ODBC-type SQL_BINARY, SQL_VARBINARY of SQL_LONGVARBINARY hebben. De recordset moet een veldgegevenslid van het type pointer naar BYTE definiëren.

Als u prgByteVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, waarbij de grootten gelijk zijn aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u uw recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

Zie RFX_Text_Bulk.

Requirements

Koptekst: afxdb.h

RFX_Bool_Bulk

Hiermee worden meerdere rijen met Booleaanse gegevens uit een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

void RFX_Bool_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   BOOL** prgBoolVals,
   long** prgLengths);

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgBoolVals
Een aanwijzer naar een matrix met BOOL-waarden. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Deze matrix slaat de lengte op in bytes van elke waarde in de matrix die wordt verwezen door prgBoolVals. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

Opmerkingen

De gegevensbronkolom moet een ODBC-type SQL_BIT hebben. De recordset moet een veldgegevenslid van het type aanwijzer naar BOOL definiëren.

Als u prgBoolVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, waarbij de grootten gelijk zijn aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u de recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

Zie RFX_Text_Bulk.

Requirements

Koptekst: afxdb.h

RFX_Byte_Bulk

Hiermee worden meerdere rijen met één bytes van een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

void RFX_Byte_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   BYTE** prgByteVals,
   long** prgLengths);

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgByteVals
Een aanwijzer naar een matrix met BYTE-waarden. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Met deze matrix wordt de lengte opgeslagen in bytes van elke waarde in de matrix die wordt verwezen door prgByteVals. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

Opmerkingen

De gegevensbronkolom moet een ODBC-type SQL_TINYINT hebben. De recordset moet een veldgegevenslid van het type pointer naar BYTE definiëren.

Als u prgByteVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, waarbij de grootten gelijk zijn aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u de recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

Zie RFX_Text_Bulk.

Requirements

Koptekst: afxdb.h

RFX_Date_Bulk

Hiermee worden meerdere rijen met TIMESTAMP_STRUCT gegevens van een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

void RFX_Date_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   TIMESTAMP_STRUCT** prgTSVals,
   long** prgLengths);

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgTSVals
Een aanwijzer naar een matrix met TIMESTAMP_STRUCT waarden. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht. Zie het onderwerp C-gegevenstypen in bijlage D van de naslaginformatie voor odbc-SDK-programmeurs voor meer informatie over het gegevenstype TIMESTAMP_STRUCT.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Met deze matrix wordt de lengte opgeslagen in bytes van elke waarde in de matrix die wordt verwezen door prgTSVals. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

Opmerkingen

De gegevensbronkolom kan een ODBC-type SQL_DATE, SQL_TIME of SQL_TIMESTAMP hebben. De recordset moet een veldgegevenslid van het type aanwijzer voor TIMESTAMP_STRUCT definiëren.

Als u prgTSVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, met een grootte die gelijk is aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u de recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

Zie RFX_Text_Bulk.

Requirements

Koptekst: afxdb.h

RFX_Double_Bulk

Hiermee worden meerdere rijen met dubbele precisie, drijvendekommagegegevens uit een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

void RFX_Double_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   double** prgDblVals,
   long** prgLengths);

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgDblVals
Een aanwijzer naar een matrix met double waarden. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Deze matrix slaat de lengte op in bytes van elke waarde in de matrix die wordt verwezen door prgDblVals. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

Opmerkingen

De gegevensbronkolom moet een ODBC-type SQL_DOUBLE hebben. De recordset moet een veldgegevenslid van het type aanwijzer definiëren.double

Als u prgDblVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, met een grootte die gelijk is aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u de recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

Zie RFX_Text_Bulk.

Requirements

Koptekst: afxdb.h

RFX_Int_Bulk

Hiermee worden gehele getallen overgedragen tussen de veldgegevensleden van een CRecordset object en de kolommen van een record in de gegevensbron van het ODBC-type SQL_SMALLINT.

Syntaxis

void RFX_Int(
   CFieldExchange* pFX,
   const char* szName,
   int& value);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie over de bewerkingen die een CFieldExchange object kan opgeven.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type int, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

Example

Zie RFX_Text.

Requirements

Koptekst: afxdb.h

RFX_Long_Bulk

Hiermee worden meerdere rijen met lange gehele getallen van een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

void RFX_Long_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   long** prgLongVals,
   long** prgLengths);

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgLongVals
Een aanwijzer naar een matrix met lange gehele getallen. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Deze matrix slaat de lengte op in bytes van elke waarde in de matrix die wordt verwezen door prgLongVals. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

Opmerkingen

De gegevensbronkolom moet een ODBC-type SQL_INTEGER hebben. De recordset moet een veldgegevenslid van het type aanwijzer definiëren.long

Als u prgLongVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, met een grootte die gelijk is aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u de recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

Zie RFX_Text_Bulk.

Requirements

Koptekst: afxdb.h

RFX_Single_Bulk

Hiermee worden meerdere rijen met drijvendekommagegevens van een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

void RFX_Single_Bulk(
   CFieldExchange* pFX,
   LPCTSTR szName,
   float** prgFltVals,
   long** prgLengths);

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgFltVals
Een aanwijzer naar een matrix met float waarden. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Deze matrix slaat de lengte op in bytes van elke waarde in de matrix die wordt verwezen door prgFltVals. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

Opmerkingen

De gegevensbronkolom moet een ODBC-type SQL_REAL hebben. De recordset moet een veldgegevenslid van het type aanwijzer definiëren.float

Als u prgFltVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, waarbij de grootten gelijk zijn aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u de recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

Zie RFX_Text_Bulk.

Requirements

Koptekst: afxdb.h

RFX_Text_Bulk

Hiermee worden meerdere rijen tekengegevens uit een kolom van een ODBC-gegevensbron overgedragen naar een bijbehorende matrix in een CRecordset-afgeleide object.

Syntaxis

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

Parameterwaarden

pFX
Een aanwijzer naar een CFieldExchange-object . Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie. Zie het artikel Record Field Exchange: How RFX Works voor meer informatie.

szName
De naam van een gegevenskolom.

prgStrVals
Een aanwijzer naar een matrix met LPSTR-waarden. Met deze matrix worden de gegevens opgeslagen die van de gegevensbron naar de recordset moeten worden overgebracht. Houd er rekening mee dat deze waarden met de huidige versie van ODBC niet Unicode mogen zijn.

prgLengths
Een aanwijzer naar een matrix met lange gehele getallen. Deze matrix slaat de lengte op in bytes van elke waarde in de matrix die wordt verwezen door prgStrVals. Deze lengte sluit het null-beëindigingsteken uit. Houd er rekening mee dat de waarde SQL_NULL_DATA wordt opgeslagen als het bijbehorende gegevensitem een Null-waarde bevat. Zie de odbc-API-functie SQLBindCol in de naslaginformatie voor ODBC SDK-programmeurs voor meer informatie.

nMaxLength
De maximaal toegestane lengte van de waarden die zijn opgeslagen in de matrix die door prgStrVals worden verwezen, inclusief het null-beëindigingsteken. Als u ervoor wilt zorgen dat gegevens niet worden afgekapt, geeft u een waarde door die groot genoeg is voor het grootste gegevensitem dat u verwacht.

Opmerkingen

De gegevensbronkolom kan een ODBC-type SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL of SQL_NUMERIC hebben. De recordset moet een veldgegevenslid van het type LPSTR definiëren.

Als u prgStrVals en prgLengths initialiseert naar NULL, worden de matrices waarnaar ze verwijzen automatisch toegewezen, waarbij de grootten gelijk zijn aan de grootte van de rijenset.

Opmerking

Bulkrecordvelduitwisseling draagt alleen gegevens over van de gegevensbron naar het recordset-object. Als u de recordset wilt bijwerken, moet u de ODBC-API-functie SQLSetPosgebruiken.

Zie de artikelen Recordset: Fetching Records in Bulk (ODBC) and Record Field Exchange (RFX)voor meer informatie.

Example

U moet oproepen handmatig schrijven in uw DoBulkFieldExchange onderdrukking. In dit voorbeeld ziet u een aanroep naar RFX_Text_Bulk, evenals een aanroep naar RFX_Long_Bulk, voor gegevensoverdracht. Deze aanroepen worden voorafgegaan door een aanroep naar CFieldExchange::SetFieldType. Houd er rekening mee dat u voor parameters de RFX-functies moet aanroepen in plaats van de Bulk RFX-functies.

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

Requirements

Koptekst: afxdb.h

DFX_Binary

Hiermee worden matrices van bytes overgedragen tussen de veldgegevens van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Binary(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   CByteArray& value,
   int nPreAllocSize = AFX_DAO_BINARY_DEFAULT_SIZE,
   DWORD dwBindOptions = 0);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type CByteArray, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

nPreAllocSize
In het framework wordt deze hoeveelheid geheugen vooraf toegewezen. Als uw gegevens groter zijn, krijgt het framework zo nodig meer ruimte toegewezen. Voor betere prestaties stelt u deze grootte in op een waarde die groot genoeg is om herlocatie te voorkomen. De standaardgrootte wordt gedefinieerd in de AFXDAO. H-bestand als AFX_DAO_BINARY_DEFAULT_SIZE.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_DISABLE_FIELD_CACHE, maakt geen gebruik van dubbele buffering en u moet SetFieldDirty en SetFieldNull zelf aanroepen. De andere mogelijke waarde, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering en u hoeft geen extra werk te doen om velden vuil of Null te markeren. Vermijd deze waarde om prestatie- en geheugenredenen, tenzij uw binaire gegevens relatief klein zijn.

Opmerking

U kunt bepalen of gegevens standaard voor alle velden worden dubbel gebufferd door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_BYTES in DAO en het type CByteArray in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Bool

Hiermee worden Booleaanse gegevens overgedragen tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record op de gegevensbron.

Syntaxis

void AFXAPI DFX_Bool(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   BOOL& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type BOOL, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_BOOL in DAO en het type BOOL in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Byte

Hiermee worden enkele bytes overgedragen tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Byte(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   BYTE& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type BYTE, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_BYTES in DAO en het type BYTE in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Currency

Hiermee worden valutagegevens overgedragen tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Currency(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   COleCurrency& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt deze waarde opgehaald uit het opgegeven gegevenslid, van het type COleCurrency. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_CURRENCY in DAO en het type COleCurrency in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_DateTime

Hiermee worden tijd- en datumgegevens overgedragen tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_DateTime(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   COleDateTime& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. De functie gebruikt een verwijzing naar een COleDateTime-object . Voor een overdracht van recordset naar gegevensbron wordt deze waarde opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_DATE in DAO en het type COleDateTime in de recordset.

Opmerking

COleDateTime vervangt CTime en TIMESTAMP_STRUCT voor dit doel in de DAO-klassen. CTime en TIMESTAMP_STRUCT worden nog steeds gebruikt voor de ODBC-klassen voor gegevenstoegang.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Double

Draagt dubbele floatgegevens over tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Double(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   double& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type double, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_R8 in DAO en het type dubbele float in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Long

Hiermee worden lange gehele getallen overgedragen tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Long(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   long& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type long, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_I4 in DAO en typen long in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_LongBinary

Belangrijk Het wordt aanbevolen om DFX_Binary te gebruiken in plaats van deze functie.

Syntaxis

void AFXAPI DFX_LongBinary(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   CLongBinary& value,
   DWORD dwPreAllocSize = AFX_DAO_LONGBINARY_DEFAULT_SIZE,
   DWORD dwBindOptions = 0);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type CLongBinary, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwPreAllocSize
In het framework wordt deze hoeveelheid geheugen vooraf toegewezen. Als uw gegevens groter zijn, krijgt het framework zo nodig meer ruimte toegewezen. Voor betere prestaties stelt u deze grootte in op een waarde die groot genoeg is om herlocatie te voorkomen.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DISABLE_FIELD_CACHE, maakt geen gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_ENABLE_FIELD_CACHE. Maakt gebruik van dubbele buffering en u hoeft geen extra werk te doen om velden vuil of Null te markeren. Vermijd deze waarde om prestatie- en geheugenredenen, tenzij uw binaire gegevens relatief klein zijn.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

DFX_LongBinary is beschikbaar voor compatibiliteit met de MFC ODBC-klassen. Met DFX_LongBinary de functie worden binaire BLOB-gegevens (large-object) overgedragen met behulp van klasse CLongBinary tussen de veldgegevens van een CDaoRecordset-object en de kolommen van een record in de gegevensbron. Gegevens worden toegewezen tussen het type DAO_BYTES in DAO en het type CLongBinary in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Short

Hiermee worden korte gehele getallen overgedragen tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Short(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   short& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type short, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_I2 in DAO en het type short in de recordset.

Opmerking

DFX_Short is gelijk aan RFX_Int voor de ODBC-klassen.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Single

Hiermee worden drijvendekommagegevens overgedragen tussen de veldgegevensleden van een CDaoRecordset-object en de kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Single(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   float& value,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type float, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. Je moet bellen SetFieldDirty en SetFieldNull jezelf.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_R4 in DAO en het type float in de recordset.

Example

Zie DFX_Text.

Requirements

Koptekst: afxdao.h

DFX_Text

Hiermee worden gegevens overgedragen CString tussen de veldgegevensleden van een CDaoRecordset-object en kolommen van een record in de gegevensbron.

Syntaxis

void AFXAPI DFX_Text(
   CDaoFieldExchange* pFX,
   LPCTSTR szName,
   CString& value,
   int nPreAllocSize = AFX_DAO_TEXT_DEFAULT_SIZE,
   DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);

Parameterwaarden

pFX
Een aanwijzer naar een object van klasse CDaoFieldExchange. Dit object bevat informatie voor het definiëren van de context voor elke aanroep van de functie.

szName
De naam van een gegevenskolom.

value
De waarde die is opgeslagen in het aangegeven gegevenslid, de waarde die moet worden overgedragen. Voor een overdracht van recordset naar gegevensbron wordt de waarde, van het type CString, opgehaald uit het opgegeven gegevenslid. Voor een overdracht van gegevensbron naar recordset wordt de waarde opgeslagen in het opgegeven gegevenslid.

nPreAllocSize
In het framework wordt deze hoeveelheid geheugen vooraf toegewezen. Als uw gegevens groter zijn, krijgt het framework zo nodig meer ruimte toegewezen. Voor betere prestaties stelt u deze grootte in op een waarde die groot genoeg is om herlocatie te voorkomen.

dwBindOptions
Een optie waarmee u kunt profiteren van het mechanisme voor dubbele buffering van MFC voor het detecteren van recordsetvelden die zijn gewijzigd. De standaardinstelling, AFX_DAO_ENABLE_FIELD_CACHE, maakt gebruik van dubbele buffering. De andere mogelijke waarde is AFX_DAO_DISABLE_FIELD_CACHE. Als u deze waarde opgeeft, controleert MFC dit veld niet. U moet SetFieldDirty en SetFieldNull zelf aanroepen.

Opmerking

U kunt bepalen of gegevens standaard dubbel gebufferd zijn door CDaoRecordset::m_bCheckCacheForDirtyFields in te stellen.

Opmerkingen

Gegevens worden toegewezen tussen het type DAO_CHAR in DAO (of, als het symbool _UNICODE is gedefinieerd, DAO_WCHAR) en type CString in de recordset. n

Example

In dit voorbeeld ziet u verschillende aanroepen naar DFX_Text. U ziet ook de twee aanroepen naar CDaoFieldExchange::SetFieldType. U moet de eerste aanroep naar SetFieldType en de bijbehorende DFX-aanroep schrijven. De tweede aanroep en de bijbehorende DFX-aanroepen worden normaal gesproken geschreven door de codewizard die de klasse heeft gegenereerd.

void CCustSet::DoFieldExchange(CDaoFieldExchange* pFX)
{
   pFX->SetFieldType(CDaoFieldExchange::param);
   DFX_Text(pFX, _T("Param"), m_strParam);
   pFX->SetFieldType(CDaoFieldExchange::outputColumn);
   DFX_Short(pFX, _T("EmployeeID"), m_EmployeeID);
   DFX_Text(pFX, _T("LastName"), m_LastName);
   DFX_Short(pFX, _T("Age"), m_Age);
   DFX_DateTime(pFX, _T("hire_date"), m_hire_date);
   DFX_DateTime(pFX, _T("termination_date"), m_termination_date);

   CDaoRecordset::DoFieldExchange(pFX);
}

Requirements

Koptekst: afxdao.h

Zie ook

macro's en globalen
CRecordset::D oFieldExchange
CRecordset::D oBulkFieldExchange
CDaoRecordset::D oFieldExchange