共用方式為


資料錄欄位交換函式

本主題列出資料錄欄位交換 (RFX、 Bulk RFX和 DFX) 函式,您可以使用這些函式將資料錄集物件與其資料來源之間的資料傳輸自動化,並對資料執行其他作業。

如果您使用 ODBC 類別並已實作大量資料列擷取,您必須針對對應至資料來源資料行的每個資料成員呼叫 Bulk RFX 函式,以手動方式覆寫 DoBulkFieldExchangeCRecordset 成員函式。

如果您尚未在 ODBC 類別中實作大量資料列擷取,或者如果您使用 DAO 型類別(已過時),則 ClassWizard 會針對記錄集中的每個欄位資料成員呼叫 RFX 函式或 DFX 函數(適用于 DAO 類別),來覆寫 DoFieldExchangeCDaoRecordset 的成員 CRecordset 函式。

每次架構呼叫 DoFieldExchangeDoBulkFieldExchange時,資料錄欄位交換函式都會傳輸資料。 每個函式會傳輸特定資料類型。

如需這些函式使用方式的詳細資訊,請參閱 資料錄欄位交換:RFX 的運作方式 (ODBC)一文。 如需大量資料列擷取的詳細資訊,請參閱 資料錄集:擷取大量資料錄 (ODBC)一文。

針對您動態繫結的資料行,您也可以自行呼叫 RFX 或 DFX 函式,如 資料錄集:動態地繫結資料行 (ODBC)一文中所述。 此外,您可以撰寫自己的自訂 RFX 或 DFX 常式,如技術提示 43 (適用於 ODBC) 和技術提示 53 (適用於 DAO) 中所述。

如需 RFX 和大量 RFX 函式出現在 和 DoBulkFieldExchange 函式中的 DoFieldExchange 範例,請參閱 RFX_Text 和 [RFX_Text_Bulk]#rfx_text_bulk)。 DFX 函式與 RFX 函式很類似。

RFX 函式 (ODBC)

名稱 描述
RFX_Binary 傳輸 CByteArray類型的位元組陣列。
RFX_Bool 傳輸布林值資料。
RFX_Byte 傳輸資料的單一位元組。
RFX_Date 使用 CTime 或 TIMESTAMP_STRUCT 傳輸時間和日期資料。
RFX_Double 傳輸雙精確度浮點數資料。
RFX_Int 傳輸整數資料。
RFX_Long 傳輸長整數資料。
RFX_LongBinary 傳輸物件類別為 CLongBinary 的二進位大型物件 (BLOB) 資料。
RFX_Single 傳輸浮點數資料。
RFX_Text 傳輸字串資料。

Bulk RFX 函式 (ODBC)

名稱 描述
RFX_Binary_Bulk 傳輸位元組資料陣列。
RFX_Bool_Bulk 傳輸布林值資料陣列。
RFX_Byte_Bulk 傳輸單一位元組陣列。
RFX_Date_Bulk 傳輸 TIMESTAMP_STRUCT類型的資料陣列。
RFX_Double_Bulk 傳輸雙精確度浮點數資料陣列。
RFX_Int_Bulk 傳輸整數資料陣列。
RFX_Long_Bulk 傳輸長整數資料陣列。
RFX_Single_Bulk 傳輸浮點數資料陣列。
RFX_Text_Bulk 傳輸 LPSTR類型的資料陣列。

DFX 函式 (DAO)

名稱 描述
DFX_Binary 傳輸 CByteArray類型的位元組陣列。
DFX_Bool 傳輸布林值資料。
DFX_Byte 傳輸資料的單一位元組。
DFX_Currency 傳輸 COleCurrency類型的貨幣資料。
DFX_DateTime 傳輸 COleDateTime類型的時間和日期資料。
DFX_Double 傳輸雙精確度浮點數資料。
DFX_Long 傳輸長整數資料。
DFX_LongBinary 傳輸物件類別為 CLongBinary 的二進位大型物件 (BLOB) 資料。 若是 DAO,建議您改用 DFX_Binary
DFX_Short 傳輸短整數資料。
DFX_Single 傳輸浮點數資料。
DFX_Text 傳輸字串資料。

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

RFX_Binary

在物件欄位資料成員 CRecordset 與 ODBC 類型資料來源的資料行之間傳輸位元組陣列,SQL_BINARY、SQL_VARBINARY或SQL_LONGVARBINARY。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,CByteArray 類型的 值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

nMaxLength
要傳輸之字串或陣列的最大允許長度。 nMaxLength 預設值為 255。 法律值為 1 到 INT_MAX。 架構會為數據配置這個空間量。 為了獲得最佳效能,請傳遞足夠大的值,以容納您預期的最大資料項目。

備註

這些型別資料來源中的資料會對應至記錄集中的類型和來源類型 CByteArray

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Bool

在物件的欄位資料成員 CRecordset 與 ODBC 類型資料來源上的記錄資料行之間傳送布林值資料SQL_BIT。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,BOOL 類型的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Byte

在物件欄位資料成員與 ODBC 類型資料來源上記錄的資料行之間傳送單一 CRecordset 位元組SQL_TINYINT。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,BYTE 類型的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Date

傳輸 CTime 或TIMESTAMP_STRUCT物件欄位資料成員 CRecordset 與 ODBC 類型資料來源上記錄資料行之間的資料SQL_DATE、SQL_TIME或SQL_TIMESTAMP。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值;要傳送的值。 函式的各種版本會採用不同的資料類型作為值:

函式的第一個版本會取得 CTime 物件的參考 。 對於從記錄集到資料來源的傳輸,此值取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

函式的第二個版本會採用 結構的 TIMESTAMP_STRUCT 參考。 您必須在呼叫之前自行設定此結構。 此版本不提供對話資料交換 (DDX) 支援或程式碼精靈支援。 第三個版本的函式的運作方式與第一個 版本類似,不同之處在于它會參考 COleDateTime 物件。

備註

CTime 式的版本會強加某些中繼處理的額外負荷,而且範圍有些有限。 如果您發現其中一個因素太限制,請使用函式的第二個版本。 但請注意,它缺少程式碼精靈和 DDX 支援,以及您自行設定結構的需求。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Double

在物件的欄位資料成員 CRecordset 與 ODBC 類型資料來源上的記錄資料行之間傳輸 雙浮點 數資料SQL_DOUBLE。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 double 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Int

在物件的欄位資料成員 CRecordset 與 ODBC 類型資料來源上的記錄資料行之間傳送整數資料,SQL_SMALLINT。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 int 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Long

在物件欄位 CRecordset 資料成員與 ODBC 類型資料來源上記錄的資料行之間傳輸長整數資料SQL_INTEGER。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 long 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_LongBinary

使用類別 CLongBinary 在物件欄位資料成員 CRecordset 和 ODBC 類型之資料來源上的記錄資料行之間傳輸二進位大型物件 (BLOB) 資料SQL_LONGVARBINARY或SQL_LONGVARCHAR。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 CLongBinary 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Single

在物件欄位 CRecordset 資料成員與 ODBC 類型資料來源上記錄的資料行之間傳輸浮點數據SQL_REAL。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 float 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Text

在 ODBC 類型SQL_LONGVARCHAR、SQL_CHAR、SQL_VARCHAR、SQL_DECIMAL或SQL_NUMERIC的資料來源上,在物件和資料行的欄位資料成員 CRecordset 之間傳輸 CString 資料。

語法

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

參數

pFX
類別 物件的 CFieldExchange 指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 CString 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

nMaxLength
要傳輸之字串或陣列的最大允許長度。 nMaxLength 預設值為 255。 法律值為 1 到 INT_MAX)。 架構會為數據配置這個空間量。 為了獲得最佳效能,請傳遞足夠大的值,以容納您預期的最大資料項目。

nColumnType
主要用於參數。 整數,表示參數的資料類型。 此類型是表單 SQL_XXX 的 ODBC 資料類型。

nScale
指定 ODBC 類型值SQL_DECIMAL或SQL_NUMERIC的縮放比例。 nScale 只有在設定參數值時才有用。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 附錄 D 中的<精確度、小數位數、長度和顯示大小>主題。

備註

這些類型之資料來源中的資料會對應至記錄集中的和來源 CString

範例

此範例顯示對 的 RFX_Text 數個呼叫。 另請注意對 的兩個 CFieldExchange::SetFieldType 呼叫。 對於參數,您必須將 呼叫 SetFieldType 寫入 至 及其 RFX 呼叫。 輸出資料行呼叫及其相關聯的 RFX 呼叫通常是由程式碼精靈所撰寫。

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

需求

標頭: afxdb.h

RFX_Binary_Bulk

將多個位元組資料列從 ODBC 資料來源的資料行傳輸到衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgByteVals
BYTE 值陣列的指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。

prgLengths
長整數陣列的指標。 此陣列會將 prgByteVals 指向陣列中每個值的長度儲存為位元組。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

nMaxLength
prgByteVals 所指向 之陣列中儲存之值的最大允許長度。 為了確保不會截斷資料,請傳遞足夠大的值,以容納您預期的最大資料項目。

備註

資料來源資料行可以有 ODBC 類型的SQL_BINARY、SQL_VARBINARY或SQL_LONGVARBINARY。 記錄集必須定義 BYTE 類型指標的欄位資料成員。

如果您將 prgByteVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓您的記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

請參閱 RFX_Text_Bulk

需求

標頭: afxdb.h

RFX_Bool_Bulk

將多個布林資料列從 ODBC 資料來源的資料行傳送至衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgBoolVals
BOOL 值陣列的指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。

prgLengths
長整數陣列的指標。 此陣列會將 prgBoolVals 指向陣列中每個值的長度以位元組為單位來儲存。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

備註

資料來源資料行的 ODBC 類型必須是 SQL_BIT。 記錄集必須定義 BOOL 類型指標的欄位資料成員。

如果您將 prgBoolVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

請參閱 RFX_Text_Bulk

需求

標頭: afxdb.h

RFX_Byte_Bulk

將多個單一位元組的資料列從 ODBC 資料來源的資料行傳輸到衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgByteVals
BYTE 值陣列的指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。

prgLengths
長整數陣列的指標。 此陣列會將 prgByteVals 指向陣列中每個值的長度儲存為位元組。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

備註

資料來源資料行的 ODBC 類型必須是 SQL_TINYINT。 記錄集必須定義 BYTE 類型指標的欄位資料成員。

如果您將 prgByteVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

請參閱 RFX_Text_Bulk

需求

標頭: afxdb.h

RFX_Date_Bulk

將多個TIMESTAMP_STRUCT資料列從 ODBC 資料來源的資料行傳輸到衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgTSVals
TIMESTAMP_STRUCT值陣列的指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。 如需TIMESTAMP_STRUCT資料類型的詳細資訊,請參閱 ODBC SDK 程式設計人員參考 附錄 D 中的主題。

prgLengths
長整數陣列的指標。 此陣列會將 prgTSVals 指向陣列中每個值的長度以位元組為單位來儲存。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

備註

資料來源資料行可以有 ODBC 類型的SQL_DATE、SQL_TIME或SQL_TIMESTAMP。 記錄集必須定義類型指標的欄位資料成員,才能TIMESTAMP_STRUCT。

如果您將 prgTSVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

請參閱 RFX_Text_Bulk

需求

標頭: afxdb.h

RFX_Double_Bulk

將多個雙精確度浮點數資料列從 ODBC 資料來源的資料行傳輸到衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgDblVals
值的陣列 double 指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。

prgLengths
長整數陣列的指標。 此陣列會將 prgDblVals 所指向 陣列中每個值的長度儲存為位元組。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

備註

資料來源資料行的 ODBC 類型必須是 SQL_DOUBLE。 記錄集必須定義 類型指標 double 的欄位資料成員。

如果您將 prgDblVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

請參閱 RFX_Text_Bulk

需求

標頭: afxdb.h

RFX_Int_Bulk

在物件的欄位資料成員 CRecordset 與 ODBC 類型資料來源上的記錄資料行之間傳送整數資料,SQL_SMALLINT。

語法

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

參數

pFX
CFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。 如需物件可指定之作業 CFieldExchange 的詳細資訊,請參閱記錄欄位 Exchange:RFX 的運作 方式一文

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 int 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

範例

請參閱 RFX_Text

需求

標頭: afxdb.h

RFX_Long_Bulk

將多個長整數資料列從 ODBC 資料來源的資料行傳輸到衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgLongVals
長整數陣列的指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。

prgLengths
長整數陣列的指標。 此陣列會將 prgLongVals 指向陣列中每個值的長度以位元組為單位來儲存。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

備註

資料來源資料行的 ODBC 類型必須是 SQL_INTEGER。 記錄集必須定義 類型指標 long 的欄位資料成員。

如果您將 prgLongVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

請參閱 RFX_Text_Bulk

需求

標頭: afxdb.h

RFX_Single_Bulk

將多個浮點數據列從 ODBC 資料來源的資料行傳輸到衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgFltVals
值的陣列 float 指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。

prgLengths
長整數陣列的指標。 此陣列會將 prgFltVals 指向陣列中每個值的長度以位元組為單位來儲存。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

備註

資料來源資料行的 ODBC 類型必須是 SQL_REAL。 記錄集必須定義 類型指標 float 的欄位資料成員。

如果您將 prgFltVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

請參閱 RFX_Text_Bulk

需求

標頭: afxdb.h

RFX_Text_Bulk

將多個字元資料列從 ODBC 資料來源的資料行傳輸到衍生物件中的 CRecordset 對應陣列。

語法

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

參數

pFX
CFieldExchange 物件的指標 。 這個物件包含定義函式的每個呼叫內容的資訊。 如需詳細資訊,請參閱記錄欄位交換:RFX 的運作 方式一文

szName
資料行的名稱。

prgStrVals
LPSTR 值的陣列指標。 此陣列會儲存要從資料來源傳輸到記錄集的資料。 請注意,使用目前的 ODBC 版本,這些值不可以是 Unicode。

prgLengths
長整數陣列的指標。 此陣列會將 prgStrVals 指向陣列中每個值的長度儲存為位元組。 此長度會排除 Null 終止字元。 請注意,如果對應的資料項目包含 Null 值,則會儲存SQL_Null_DATA值。 如需詳細資訊,請參閱 ODBC SDK 程式設計人員參考 中的 ODBC API 函 SQLBindCol 式。

nMaxLength
prgStrVals 指向陣列中儲存之值的最大允許長度,包括 Null 終止字元。 為了確保不會截斷資料,請傳遞足夠大的值,以容納您預期的最大資料項目。

備註

資料來源資料行可以有 ODBC 類型的SQL_LONGVARCHAR、SQL_CHAR、SQL_VARCHAR、SQL_DECIMAL或SQL_NUMERIC。 記錄集必須定義 LPSTR 類型的欄位資料成員。

如果您將 prgStrVals 和 prgLengths 初始化 為 Null,則會自動設定它們指向的陣列,大小等於資料列集大小。

注意

大量記錄欄位交換只會將資料從資料來源傳輸到 recordset 物件。 若要讓記錄集更新,您必須使用 ODBC API 函式 SQLSetPos

如需詳細資訊,請參閱記錄集:大量擷取記錄和 記錄欄位交換(RFX) 一文 。

範例

您必須在覆寫中 DoBulkFieldExchange 手動撰寫呼叫。 此範例示範對 RFX_Text_Bulk 的呼叫,以及對 RFX_Long_Bulk 的呼叫,以進行資料傳輸。 這些呼叫前面會先呼叫 CFieldExchange::SetFieldType 。 請注意,針對參數,您必須呼叫 RFX 函式,而不是大量 RFX 函式。

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

需求

標頭: afxdb.h

DFX_Binary

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸位元組陣列。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,CByteArray 類型的 值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

nPreAllocSize
架構會預先配置此數量的記憶體。 如果您的資料較大,架構會視需要配置更多空間。 為了提升效能,請將這個大小設定為足以防止重新配置的值。 預設大小定義于 AFXDAO 中。H 檔案作為AFX_DAO_BINARY_DEFAULT_SIZE。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_DISABLE_FIELD_CACHE不會使用雙重緩衝,而且您必須自行呼叫 SetFieldDirty SetFieldNull 。 另一個可能的值AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝,而且您不需要執行額外的工作來標記欄位的骯髒或 Null。 基於效能和記憶體考慮,除非您的二進位資料相對較小,否則請避免此值。

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設會緩衝處理所有欄位。

備註

資料會在 DAO 中的類型DAO_BYTES和記錄集中的 CByteArray 類型 之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Bool

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸布林資料。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,BOOL 類型的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_BOOL和記錄集中的 BOOL 類型之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Byte

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸單一位元組。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,BYTE 類型的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_BYTES和記錄集中的 BYTE 類型之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Currency

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸貨幣資料。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,此值取自 COleCurrency 類型的 指定資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_CURRENCY和記錄集中的 COleCurrency 類型 之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_DateTime

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸時間和日期資料。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 函式會採用 COleDateTime 物件的參考 。 對於從記錄集到資料來源的傳輸,此值取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_DATE與記錄集中的 COleDateTime 類型 之間對應。

注意

COleDateTime 會在 DAO 類別中取代 CTime 和 TIMESTAMP_STRUCT。 CTime 和 TIMESTAMP_STRUCT仍用於 ODBC 型資料存取類別。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Double

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸 雙浮 點數資料。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 double 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_R8和記錄集中的類型 double float 之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Long

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸長整數資料。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 long 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_I4和記錄集中的類型 long 之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_LongBinary

重要 建議您使用 DFX_Binary ,而不是此函式。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,CLongBinary 類型的 值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwPreAllocSize
架構會預先配置此數量的記憶體。 如果您的資料較大,架構會視需要配置更多空間。 為了提升效能,請將這個大小設定為足以防止重新配置的值。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DISABLE_FIELD_CACHE不會使用雙重緩衝。 另一個可能的值是AFX_DAO_ENABLE_FIELD_CACHE。 使用雙緩衝處理,您不需要執行額外的工作來標記欄位已變更或 Null。 基於效能和記憶體考慮,除非您的二進位資料相對較小,否則請避免此值。

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

DFX_LongBinary 提供 來與 MFC ODBC 類別相容。 函式會使用類別CLongBinary,在 CDaoRecordset 物件的欄位資料成員和資料來源上的記錄資料行之間,傳送二進位大型物件(BLOB)資料。DFX_LongBinary 資料會在 DAO 中的類型DAO_BYTES與記錄集中的 CLongBinary 類型 之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Short

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸短整數資料。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 short 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_I2和記錄集中的類型 short 之間對應。

注意

DFX_Short 相當於 ODBC 型類別RFX_Int

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Single

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸浮點數據。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,類型 float 為 的值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirtySetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_R4和記錄集中的類型 float 之間對應。

範例

請參閱 DFX_Text

需求

標頭: afxdao.h

DFX_Text

在 CDaoRecordset 物件的欄位資料成員 與資料來源上記錄的資料行之間傳輸 CString 資料。

語法

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

參數

pFX
CDaoFieldExchange 類別 物件的指標。 這個物件包含定義函式的每個呼叫內容的資訊。

szName
資料行的名稱。

value
儲存在指定資料成員中的值,即要傳輸的值。 對於從記錄集到資料來源的傳輸,CString 類型的 值會取自指定的資料成員。 從資料來源傳輸至資料錄集時,值會儲存在指定的資料成員中。

nPreAllocSize
架構會預先配置此數量的記憶體。 如果您的資料較大,架構會視需要配置更多空間。 為了提升效能,請將這個大小設定為足以防止重新配置的值。

dwBindOptions
可讓您利用 MFC 的雙重緩衝機制來偵測已變更的資料錄集欄位的選項。 預設AFX_DAO_ENABLE_FIELD_CACHE會使用雙重緩衝。 另一個可能的值是AFX_DAO_DISABLE_FIELD_CACHE。 如果您指定此值,MFC 就不會檢查此欄位。 您必須自行呼叫 SetFieldDirty SetFieldNull

注意

您可以藉由設定 CDaoRecordset::m_bCheckCacheForDirtyFields ,來控制資料是否預設為雙重緩衝。

備註

資料會在 DAO 中的類型DAO_CHAR之間對應(或者,如果已定義符號_UNICODE,DAO_WCHAR)和記錄集中的類型 CString 。 n

範例

此範例顯示對 的 DFX_Text 數個呼叫。 另請注意 CDaoFieldExchange::SetFieldType 的兩個呼叫 。 您必須將第一個呼叫寫入 至 SetFieldType 及其 DFX 呼叫。 第二個呼叫及其相關聯的 DFX 呼叫通常是由產生 類別的程式碼精靈所撰寫。

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

需求

標頭: afxdao.h

另請參閱

宏和全域
CRecordset::DoFieldExchange
CRecordset::DoBulkFieldExchange
CDaoRecordset::DoFieldExchange