Kayıt Alanı Değişim İşlevleri
Bu konu başlığı altında, kayıt kümesi nesnesi ile veri kaynağı arasında veri aktarımını otomatikleştirmek ve veriler üzerinde başka işlemler gerçekleştirmek için kullanılan Kayıt Alanı Değişimi (RFX, Toplu RFX ve DFX) işlevleri listelenmektedir.
ODBC tabanlı sınıfları kullanıyorsanız ve toplu satır getirme uyguladıysanız, bir veri kaynağı sütununa CRecordset
karşılık gelen her veri üyesi için Toplu RFX işlevlerini çağırarak öğesinin üye işlevini el ile geçersiz kılmalısınızDoBulkFieldExchange
.
ODBC tabanlı sınıflarda toplu satır getirme uygulamadıysanız veya DAO tabanlı sınıfları (eski) kullanıyorsanız ClassWizard, kayıt kümenizdeki her alan veri üyesi için RFX işlevlerini (ODBC sınıfları için) veya DFX işlevlerini (DAO sınıfları için) çağırarak veya öğesinin üye işlevini CRecordset
CDaoRecordset
geçersiz kılarDoFieldExchange
.
Kayıt alanı değişim işlevleri, çerçeve DoFieldExchange
veya DoBulkFieldExchange
çağrısı her seferinde veri aktarır. Her işlev belirli bir veri türünü aktarır.
Bu işlevlerin nasıl kullanıldığı hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır (ODBC) makalelerine bakın. Toplu satır getirme hakkında daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Olarak Getirme (ODBC) makalesine bakın.
Dinamik olarak bağladığınız veri sütunları için, Kayıt Kümesi: Veri Sütunlarını Dinamik Olarak Bağlama (ODBC) makalelerinde açıklandığı gibi RFX veya DFX işlevlerini kendiniz de çağırabilirsiniz. Ayrıca, Teknik Not 43 (ODBC için) ve Teknik Not 53 (DAO için) bölümünde açıklandığı gibi kendi özel RFX veya DFX yordamlarınızı yazabilirsiniz.
ve DoBulkFieldExchange
işlevlerinde DoFieldExchange
görünen RFX ve Toplu RFX işlevleri örneği için bkz. RFX_Text ve [RFX_Text_Bulk]#rfx_text_bulk). DFX işlevleri RFX işlevlerine çok benzer.
RFX İşlevleri (ODBC)
Veri Akışı Adı | Açıklama |
---|---|
RFX_Binary | CByteArray türünde bayt dizilerini aktarır. |
RFX_Bool | Boole verilerini aktarır. |
RFX_Byte | Tek bir bayt veri aktarır. |
RFX_Date | CTime veya TIMESTAMP_STRUCT kullanarak saat ve tarih verilerini aktarır. |
RFX_Double | Çift duyarlıklı kayan verileri aktarır. |
RFX_Int | Tamsayı verilerini aktarır. |
RFX_Long | Uzun tamsayı verilerini aktarır. |
RFX_LongBinary | CLongBinary sınıfının bir nesnesiyle ikili büyük nesne (BLOB) verilerini aktarır. |
RFX_Single | Kayan verileri aktarır. |
RFX_Text | Dize verilerini aktarır. |
Toplu RFX İşlevleri (ODBC)
Veri Akışı Adı | Açıklama |
---|---|
RFX_Binary_Bulk | Bayt veri dizilerini aktarır. |
RFX_Bool_Bulk | Boole verilerinin dizilerini aktarır. |
RFX_Byte_Bulk | Tek baytlık dizileri aktarır. |
RFX_Date_Bulk | TIMESTAMP_STRUCT türünde veri dizilerini aktarır. |
RFX_Double_Bulk | Çift duyarlıklı, kayan nokta veri dizilerini aktarır. |
RFX_Int_Bulk | Tamsayı veri dizilerini aktarır. |
RFX_Long_Bulk | Uzun tamsayı veri dizilerini aktarır. |
RFX_Single_Bulk | Kayan nokta veri dizilerini aktarır. |
RFX_Text_Bulk | LPSTR türünde veri dizilerini aktarır. |
DFX İşlevleri (DAO)
Veri Akışı Adı | Açıklama |
---|---|
DFX_Binary | CByteArray türünde bayt dizilerini aktarır. |
DFX_Bool | Boole verilerini aktarır. |
DFX_Byte | Tek bir bayt veri aktarır. |
DFX_Currency | COleCurrency türünde para birimi verilerini aktarır. |
DFX_DateTime | COleDateTime türünde saat ve tarih verilerini aktarır. |
DFX_Double | Çift duyarlıklı kayan verileri aktarır. |
DFX_Long | Uzun tamsayı verilerini aktarır. |
DFX_LongBinary | İkili büyük nesne (BLOB) verilerini sınıfının bir nesnesiyle CLongBinary aktarır. DAO için bunun yerine DFX_Binary kullanmanız önerilir. |
DFX_Short | Kısa tamsayı verilerini aktarır. |
DFX_Single | Kayan verileri aktarır. |
DFX_Text | Dize verilerini aktarır. |
=============================================
RFX_Binary
Bir nesnenin alan veri üyeleriyle ODBC türündeki bir kaydın CRecordset
sütunları arasında bayt dizilerini aktarır SQL_BINARY, SQL_VARBINARY veya SQL_LONGVARBINARY.
Sözdizimi
void RFX_Binary(
CFieldExchange* pFX,
const char* szName,
CByteArray& value,
int nMaxLength = 255);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, CByteArray türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
nMaxLength
Aktarılmakta olan dizenin veya dizinin izin verilen uzunluk üst sınırı. nMaxLength varsayılan değeri 255'tir . Yasal değerler 1-INT_MAX'dır. Çerçeve, veriler için bu miktarda alan ayırır. En iyi performans için, beklediğiniz en büyük veri öğesini barındıracak kadar büyük bir değer geçirin.
Açıklamalar
Bu türlerin veri kaynağındaki veriler kayıt kümesindeki türe CByteArray
ve türünden eşlenir.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Bool
Boole verilerini bir CRecordset
nesnenin alan veri üyeleriyle ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında SQL_BIT aktarır.
Sözdizimi
void RFX_Bool(
CFieldExchange* pFX,
const char* szName,
BOOL& value);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, BOOL türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Byte
Bir nesnenin alan veri üyeleriyle CRecordset
ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında tek bayt aktarır SQL_TINYINT.
Sözdizimi
void RFX_Byte(
CFieldExchange* pFX,
const char* szName,
BYTE& value);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, BYTE türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Date
Bir nesnenin alan veri üyeleriyle CRecordset
ODBC türündeki SQL_DATE, SQL_TIME veya SQL_TIMESTAMP veri kaynağındaki bir kaydın sütunları arasında veri aktarır CTime
veya TIMESTAMP_STRUCT.
Sözdizimi
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);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. İşlevin çeşitli sürümleri, değer için farklı veri türlerini alır:
İşlevin ilk sürümü bir CTime nesnesine başvuru alır. Kayıt kümesinden veri kaynağına aktarım için bu değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
İşlevin ikinci sürümü bir yapıya TIMESTAMP_STRUCT
başvuru alır. Aramadan önce bu yapıyı kendiniz ayarlamanız gerekir. Bu sürüm için ne iletişim kutusu veri değişimi (DDX) desteği ne de kod sihirbazı desteği kullanılabilir. İşlevin üçüncü sürümü, COleDateTime nesnesine başvuru alması dışında ilk sürüme benzer şekilde çalışır.
Açıklamalar
İşlevin CTime
sürümü, bazı ara işlemlerin yükünü getirir ve biraz sınırlı bir aralığı vardır. Bu faktörlerden birini çok sınırlayıcı bulursanız, işlevin ikinci sürümünü kullanın. Ancak, kod sihirbazı ve DDX desteğinin eksik olduğuna ve yapıyı kendiniz ayarladığınıza dikkat edin.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Double
Bir nesnenin alan veri üyeleri CRecordset
ile ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında çift kayan verileri SQL_DOUBLE aktarır.
Sözdizimi
void RFX_Double(
CFieldExchange* pFX,
const char* szName,
double& value);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki double
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Int
Tamsayı verilerini bir CRecordset
nesnenin alan veri üyeleriyle ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında SQL_SMALLINT aktarır.
Sözdizimi
void RFX_Int(
CFieldExchange* pFX,
const char* szName,
int& value);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki int
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Long
Uzun tamsayı verilerini bir CRecordset
nesnenin alan veri üyeleriyle ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında SQL_INTEGER aktarır.
Sözdizimi
void RFX_Long(
CFieldExchange* pFX,
const char* szName,
LONG&
value );
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki long
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_LongBinary
CLongBinary sınıfını kullanarak ikili büyük nesne (BLOB) verilerini bir CRecordset
nesnenin alan veri üyeleriyle ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında SQL_LONGVARBINARY veya SQL_LONGVARCHAR aktarır.
Sözdizimi
void RFX_LongBinary(
CFieldExchange* pFX,
const char* szName,
CLongBinary& value);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki CLongBinary
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Single
Kayan nokta verilerini bir CRecordset
nesnenin alan veri üyeleriyle ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında SQL_REAL aktarır.
Sözdizimi
void RFX_Single(
CFieldExchange* pFX,
const char* szName,
float& value);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki float
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Text
Odbc türü SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL veya SQL_NUMERIC veri kaynağındaki bir nesnenin alan veri üyeleriyle CRecordset
bir kaydın sütunları arasında veri aktarırCString
.
Sözdizimi
void RFX_Text(
CFieldExchange* pFX,
const char* szName,
CString& value,
int nMaxLength = 255,
int nColumnType = SQL_VARCHAR,
short nScale = 0);
Parametreler
Pfx
sınıfının CFieldExchange
nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki CString
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
nMaxLength
Aktarılmakta olan dizenin veya dizinin izin verilen uzunluk üst sınırı. nMaxLength varsayılan değeri 255'tir . Yasal değerler 1 ile INT_MAX). Çerçeve, veriler için bu miktarda alan ayırır. En iyi performans için, beklediğiniz en büyük veri öğesini barındıracak kadar büyük bir değer geçirin.
nColumnType
Çoğunlukla parametreler için kullanılır. Parametresinin veri türünü gösteren tamsayı. Tür, form SQL_XXX ODBC veri türüdür.
nScale
ODBC türü SQL_DECIMAL veya SQL_NUMERIC değerlerinin ölçeğini belirtir. nScale yalnızca parametre değerlerini ayarlarken kullanışlıdır. Daha fazla bilgi için ODBC SDK Programcı Başvurusunun Ek D bölümündeki "Duyarlık, Ölçek, Uzunluk ve Görüntü Boyutu" konusuna bakın.
Açıklamalar
Bu türlerin tümünün veri kaynağındaki veriler kayıt kümesinde ile ile CString
eşleştirilir.
Örnek
Bu örnekte, öğesine RFX_Text
yapılan birkaç çağrı gösterilmektedir. öğesine yapılan iki çağrıya CFieldExchange::SetFieldType
da dikkat edin. Parametreler için çağrısını ve RFX çağrısını SetFieldType
yazmanız gerekir. Çıkış sütunu çağrısı ve ilişkili RFX çağrıları normalde bir kod sihirbazı tarafından yazılır.
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);
}
Gereksinimler
Üst bilgi: afxdb.h
RFX_Binary_Bulk
ODBC veri kaynağının bir sütunundaki birden çok bayt veri satırını türetilmiş bir nesnedeki CRecordset
karşılık gelen diziye aktarır.
Sözdizimi
void RFX_Binary_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
BYTE** prgByteVals,
long** prgLengths,
int nMaxLength);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgByteVals
BYTE değerleri dizisinin işaretçisi. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, prgByteVals tarafından işaret edilen dizideki her değerin bayt cinsinden uzunluğunu depolar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
nMaxLength
prgByteVals tarafından işaret edilen dizide depolanan değerlerin izin verilen uzunluk üst sınırı. Verilerin kesilmemesini sağlamak için, beklediğiniz en büyük veri öğesini barındıracak kadar büyük bir değer geçirin.
Açıklamalar
Veri kaynağı sütununun ODBC türü SQL_BINARY, SQL_VARBINARY veya SQL_LONGVARBINARY olabilir. Kayıt kümesinin BYTE işaretçisi türünde bir alan veri üyesi tanımlaması gerekir.
prgByteVals ve prgLengths'i NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Bkz. RFX_Text_Bulk.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Bool_Bulk
Odbc veri kaynağının bir sütunundaki birden çok Boole veri satırını türetilmiş bir nesnedeki CRecordset
karşılık gelen diziye aktarır.
Sözdizimi
void RFX_Bool_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
BOOL** prgBoolVals,
long** prgLengths);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgBoolVals
BOOL değerleri dizisinin işaretçisi. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, prgBoolVals tarafından işaret edilen dizideki her değerin bayt cinsinden uzunluğunu depolar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
Açıklamalar
Veri kaynağı sütununda odbc türü SQL_BIT olmalıdır. Kayıt kümesinin BOOL işaretçisi türünde bir alan veri üyesi tanımlaması gerekir.
prgBoolVals ve prgLengths'i NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Bkz. RFX_Text_Bulk.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Byte_Bulk
ODBC veri kaynağı sütunundan tek baytlık birden çok satırı türetilmiş bir nesnedeki CRecordset
karşılık gelen diziye aktarır.
Sözdizimi
void RFX_Byte_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
BYTE** prgByteVals,
long** prgLengths);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgByteVals
BYTE değerleri dizisinin işaretçisi. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, prgByteVals tarafından işaret edilen dizideki her değerin bayt cinsinden uzunluğunu depolar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
Açıklamalar
Veri kaynağı sütununda odbc türü SQL_TINYINT olmalıdır. Kayıt kümesinin BYTE işaretçisi türünde bir alan veri üyesi tanımlaması gerekir.
prgByteVals ve prgLengths'i NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Bkz. RFX_Text_Bulk.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Date_Bulk
ODBC veri kaynağının bir sütunundaki birden çok TIMESTAMP_STRUCT veri satırını türetilmiş bir CRecordset
nesnedeki karşılık gelen diziye aktarır.
Sözdizimi
void RFX_Date_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
TIMESTAMP_STRUCT** prgTSVals,
long** prgLengths);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgTSVals
TIMESTAMP_STRUCT değerleri dizisinin işaretçisi. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar. TIMESTAMP_STRUCT veri türü hakkında daha fazla bilgi için ODBC SDK Programcı Başvurusunun Ek D'deki "C Veri Türleri" konusuna bakın.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, prgTSVals tarafından işaret edilen dizideki her değerin bayt cinsinden uzunluğunu depolar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
Açıklamalar
Veri kaynağı sütununda ODBC türü SQL_DATE, SQL_TIME veya SQL_TIMESTAMP olabilir. Kayıt kümesi, TIMESTAMP_STRUCT için tür işaretçisinin alan veri üyesini tanımlamalıdır.
prgTSVals ve prgLengths'yi NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Bkz. RFX_Text_Bulk.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Double_Bulk
ODBC veri kaynağının bir sütunundaki çift duyarlıklı, kayan noktalı verilerin birden çok satırını türetilmiş bir nesnedeki CRecordset
karşılık gelen diziye aktarır.
Sözdizimi
void RFX_Double_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
double** prgDblVals,
long** prgLengths);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgDblVals
Bir değer dizisi işaretçisi double
. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, prgDblVals tarafından işaret edilen dizideki her değerin bayt cinsinden uzunluğunu depolar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
Açıklamalar
Veri kaynağı sütununun ODBC türü SQL_DOUBLE olmalıdır. Kayıt kümesinin, işaretçi türündeki bir alan veri üyesi tanımlaması double
gerekir.
prgDblVals ve prgLengths'i NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Bkz. RFX_Text_Bulk.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Int_Bulk
Tamsayı verilerini bir CRecordset
nesnenin alan veri üyeleriyle ODBC türündeki veri kaynağındaki bir kaydın sütunları arasında SQL_SMALLINT aktarır.
Sözdizimi
void RFX_Int(
CFieldExchange* pFX,
const char* szName,
int& value);
Parametreler
Pfx
CFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Bir CFieldExchange
nesnenin belirtebileceği işlemler hakkında daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki int
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
Örnek
bkz. RFX_Text.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Long_Bulk
ODBC veri kaynağının bir sütunundaki birden çok uzun tamsayı veri satırını türetilmiş bir nesnedeki CRecordset
karşılık gelen diziye aktarır.
Sözdizimi
void RFX_Long_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
long** prgLongVals,
long** prgLengths);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgLongVals
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, prgLongVals tarafından işaret edilen dizideki her değerin bayt cinsinden uzunluğunu depolar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
Açıklamalar
Veri kaynağı sütununda odbc türü SQL_INTEGER olmalıdır. Kayıt kümesinin, işaretçi türündeki bir alan veri üyesi tanımlaması long
gerekir.
prgLongVals ve prgLengths'i NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Bkz. RFX_Text_Bulk.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Single_Bulk
ODBC veri kaynağının bir sütunundaki kayan noktalı verilerin birden çok satırını türetilmiş nesnedeki karşılık gelen diziye CRecordset
aktarır.
Sözdizimi
void RFX_Single_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
float** prgFltVals,
long** prgLengths);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgFltVals
Bir değer dizisi işaretçisi float
. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, prgFltVals tarafından işaret edilen dizideki her değerin bayt cinsinden uzunluğunu depolar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
Açıklamalar
Veri kaynağı sütununda odbc türü SQL_REAL olmalıdır. Kayıt kümesinin, işaretçi türündeki bir alan veri üyesi tanımlaması float
gerekir.
prgFltVals ve prgLengths'yi NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Bkz. RFX_Text_Bulk.
Gereksinimler
Üst bilgi: afxdb.h
RFX_Text_Bulk
ODBC veri kaynağının bir sütunundaki birden çok karakter veri satırını türetilmiş bir nesnedeki CRecordset
karşılık gelen diziye aktarır.
Sözdizimi
void RFX_Text_Bulk(
CFieldExchange* pFX,
LPCTSTR szName,
LPSTR* prgStrVals,
long** prgLengths,
int nMaxLength);
Parametreler
Pfx
CFieldExchange nesnesinin işaretçisi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir. Daha fazla bilgi için Kayıt Alanı Değişimi: RFX Nasıl Çalışır makalesine bakın.
szName
Veri sütununun adı.
prgStrVals
LPSTR değerleri dizisine yönelik bir işaretçi. Bu dizi, veri kaynağından kayıt kümesine aktarılacak verileri depolar. ODBC'nin geçerli sürümüyle bu değerlerin Unicode olamayacağını unutmayın.
prgLengths
Uzun tamsayılardan oluşan bir diziye yönelik bir işaretçi. Bu dizi, dizideki prgStrVals tarafından işaret edilen her değerin bayt cinsinden uzunluğunu depolar. Bu uzunluk null sonlandırma karakterini dışlar. SQL_NULL_DATA değerinin, karşılık gelen veri öğesi null değer içeriyorsa depolanacağına dikkat edin. Daha fazla ayrıntı için ODBC SDK Programcı Başvurusu'ndaki ODBC API işlevine SQLBindCol
bakın.
nMaxLength
Null sonlandırma karakteri de dahil olmak üzere prgStrVals tarafından işaret edilen dizide depolanan değerlerin izin verilen maksimum uzunluğu. Verilerin kesilmemesini sağlamak için, beklediğiniz en büyük veri öğesini barındıracak kadar büyük bir değer geçirin.
Açıklamalar
Veri kaynağı sütununda ODBC türü SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMAL veya SQL_NUMERIC olabilir. Kayıt kümesinin LPSTR türünde bir alan veri üyesi tanımlaması gerekir.
prgStrVals ve prgLengths'yi NULL olarak başlatırsanız, işaret ettikleri diziler satır kümesi boyutuna eşit boyutlarda otomatik olarak ayrılır.
Not
Toplu kayıt alanı değişimi yalnızca veri kaynağındaki verileri kayıt kümesi nesnesine aktarır. Kayıt kümenizi güncelleştirilebilir hale getirmek için ODBC API işlevini SQLSetPos
kullanmanız gerekir.
Daha fazla bilgi için Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC) ve Kayıt Alanı Değişimi (RFX) makalelerine bakın.
Örnek
Geçersiz kılmanızda çağrıları el ile yazmanız DoBulkFieldExchange
gerekir. Bu örnekte, veri aktarımı için RFX_Text_Bulk
çağrısının yanı RFX_Long_Bulk
sıra çağrısı gösterilir. Bu çağrıların önüne CFieldExchange::SetFieldType çağrısı eklenir. Parametreler için Toplu RFX işlevleri yerine RFX işlevlerini çağırmanız gerektiğini unutmayın.
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);
}
Gereksinimler
Üst bilgi: afxdb.h
DFX_Binary
Bir CDaoRecordset nesnesinin alan veri üyeleri ile veri kaynağındaki bir kaydın sütunları arasında bayt dizilerini aktarır.
Sözdizimi
void AFXAPI DFX_Binary(
CDaoFieldExchange* pFX,
LPCTSTR szName,
CByteArray& value,
int nPreAllocSize = AFX_DAO_BINARY_DEFAULT_SIZE,
DWORD dwBindOptions = 0);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, CByteArray türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
nPreAllocSize
Çerçeve, bu miktarda belleği önceden ayırır. Verileriniz daha büyükse, çerçeve gerektiğinde daha fazla alan ayırır. Daha iyi performans için, bu boyutu yeniden yüklemeleri önleyecek kadar büyük bir değere ayarlayın. Varsayılan boyut AFXDAO'da tanımlanır. AFX_DAO_BINARY_DEFAULT_SIZE olarak H dosyası.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_DISABLE_FIELD_CACHE, çift arabelleğe alma kullanmaz ve SetFieldDirty ve SetFieldNull'ı kendiniz çağırmanız gerekir. AFX_DAO_ENABLE_FIELD_CACHE diğer olası değer çift arabelleğe alma kullanır ve alanları kirli veya Null olarak işaretlemek için ek iş yapmanız gerekmez. Performans ve bellek nedenleriyle, ikili verileriniz görece küçük olmadığı sürece bu değerden kaçının.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarlayarak varsayılan olarak tüm alanlar için verilerin çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_BYTES ile kayıt kümesindeki CByteArray türü arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Bool
Boole verilerini bir CDaoRecordset nesnesinin alan veri üyeleriyle veri kaynağındaki bir kaydın sütunları arasında aktarır.
Sözdizimi
void AFXAPI DFX_Bool(
CDaoFieldExchange* pFX,
LPCTSTR szName,
BOOL& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, BOOL türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_BOOL ile kayıt kümesindeki BOOL türü arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Byte
Bir CDaoRecordset nesnesinin alan veri üyeleri ile veri kaynağındaki bir kaydın sütunları arasında tek bayt aktarır.
Sözdizimi
void AFXAPI DFX_Byte(
CDaoFieldExchange* pFX,
LPCTSTR szName,
BYTE& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, BYTE türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_BYTES ile kayıt kümesindeki BYTE türü arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Currency
Para birimi verilerini bir CDaoRecordset nesnesinin alan veri üyeleriyle veri kaynağındaki bir kaydın sütunları arasında aktarır.
Sözdizimi
void AFXAPI DFX_Currency(
CDaoFieldExchange* pFX,
LPCTSTR szName,
COleCurrency& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, bu değer COleCurrency türünde belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_CURRENCY ile kayıt kümesindeki COleCurrency türü arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_DateTime
CDaoRecordset nesnesinin alan veri üyeleriyle veri kaynağındaki bir kaydın sütunları arasında saat ve tarih verilerini aktarır.
Sözdizimi
void AFXAPI DFX_DateTime(
CDaoFieldExchange* pFX,
LPCTSTR szName,
COleDateTime& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. işlevi bir COleDateTime nesnesine başvuru alır. Kayıt kümesinden veri kaynağına aktarım için bu değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_DATE ile kayıt kümesindeki COleDateTime türü arasında eşlenir.
Not
COleDateTime
, DAO sınıflarında bu amaçla CTime ve TIMESTAMP_STRUCT değiştirir. CTime
ve TIMESTAMP_STRUCT odbc tabanlı veri erişim sınıfları için hala kullanılır.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Double
CDaoRecordset nesnesinin alan veri üyeleri ile veri kaynağındaki bir kaydın sütunları arasında çift kayan verileri aktarır.
Sözdizimi
void AFXAPI DFX_Double(
CDaoFieldExchange* pFX,
LPCTSTR szName,
double& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki double
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_R8 ile kayıt kümesindeki çift float türü arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Long
CDaoRecordset nesnesinin alan veri üyeleri ile veri kaynağındaki bir kaydın sütunları arasında uzun tamsayı verilerini aktarır.
Sözdizimi
void AFXAPI DFX_Long(
CDaoFieldExchange* pFX,
LPCTSTR szName,
long& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki long
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_I4 ile kayıt kümesindeki tür long
arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_LongBinary
Önemli Bu işlev yerine DFX_Binary kullanmanız önerilir.
Sözdizimi
void AFXAPI DFX_LongBinary(
CDaoFieldExchange* pFX,
LPCTSTR szName,
CLongBinary& value,
DWORD dwPreAllocSize = AFX_DAO_LONGBINARY_DEFAULT_SIZE,
DWORD dwBindOptions = 0);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, CLongBinary türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwPreAllocSize
Çerçeve, bu miktarda belleği önceden ayırır. Verileriniz daha büyükse, çerçeve gerektiğinde daha fazla alan ayırır. Daha iyi performans için, bu boyutu yeniden yüklemeleri önleyecek kadar büyük bir değere ayarlayın.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DISABLE_FIELD_CACHE, çift arabelleğe alma kullanmaz. Diğer olası değer AFX_DAO_ENABLE_FIELD_CACHE. Çift arabelleğe alma kullanır ve alanları kirli veya Null olarak işaretlemek için ek iş yapmanız gerekmez. Performans ve bellek nedenleriyle, ikili verileriniz görece küçük olmadığı sürece bu değerden kaçının.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
DFX_LongBinary
MFC ODBC sınıfları ile uyumluluk için sağlanır. İşlev, DFX_LongBinary
CDaoRecordset nesnesinin alan veri üyeleriyle veri kaynağındaki bir kaydın sütunları arasında sınıf CLongBinary
kullanarak ikili büyük nesne (BLOB) verilerini aktarır. Veriler DAO'daki tür DAO_BYTES ile kayıt kümesindeki CLongBinary türü arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Short
Kısa tamsayı verilerini bir CDaoRecordset nesnesinin alan veri üyeleri ile veri kaynağındaki bir kaydın sütunları arasında aktarır.
Sözdizimi
void AFXAPI DFX_Short(
CDaoFieldExchange* pFX,
LPCTSTR szName,
short& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki short
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_I2 ile kayıt kümesindeki tür short
arasında eşlenir.
Not
DFX_Short
ODBC tabanlı sınıflar için RFX_Int eşdeğerdir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Single
Kayan nokta verilerini bir CDaoRecordset nesnesinin alan veri üyeleriyle veri kaynağındaki bir kaydın sütunları arasında aktarır.
Sözdizimi
void AFXAPI DFX_Single(
CDaoFieldExchange* pFX,
LPCTSTR szName,
float& value,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, türündeki float
değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. Kendini aramalısın SetFieldDirty
SetFieldNull
.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_R4 ile kayıt kümesindeki tür float
arasında eşlenir.
Örnek
Bkz. DFX_Text.
Gereksinimler
Üst bilgi: afxdao.h
DFX_Text
CDaoRecordset nesnesinin alan veri üyeleri ile veri kaynağındaki bir kaydın sütunları arasında veri aktarırCString
.
Sözdizimi
void AFXAPI DFX_Text(
CDaoFieldExchange* pFX,
LPCTSTR szName,
CString& value,
int nPreAllocSize = AFX_DAO_TEXT_DEFAULT_SIZE,
DWORD dwBindOptions = AFX_DAO_ENABLE_FIELD_CACHE);
Parametreler
Pfx
CDaoFieldExchange sınıfının bir nesnesine yönelik bir işaretçi. Bu nesne, işlevin her çağrısının bağlamını tanımlamak için bilgiler içerir.
szName
Veri sütununun adı.
value
Belirtilen veri üyesinde depolanan değer; aktarılacak değer. Kayıt kümesinden veri kaynağına aktarım için, CString türündeki değer belirtilen veri üyesinden alınır. Veri kaynağından kayıt kümesine aktarım için değer belirtilen veri üyesinde depolanır.
nPreAllocSize
Çerçeve, bu miktarda belleği önceden ayırır. Verileriniz daha büyükse, çerçeve gerektiğinde daha fazla alan ayırır. Daha iyi performans için, bu boyutu yeniden yüklemeleri önleyecek kadar büyük bir değere ayarlayın.
dwBindOptions
MFC'nin değişen kayıt kümesi alanlarını algılamak için çift arabelleğe alma mekanizmasından yararlanmanızı sağlayan bir seçenek. Varsayılan AFX_DAO_ENABLE_FIELD_CACHE çift arabelleğe alma kullanır. Diğer olası değer AFX_DAO_DISABLE_FIELD_CACHE. Bu değeri belirtirseniz, MFC bu alanı denetlemez. SetFieldDirty ve SetFieldNull'ı kendiniz çağırmalısınız.
Not
CDaoRecordset::m_bCheckCacheForDirtyFields ayarını yaparak verilerin varsayılan olarak çift arabelleğe alınıp alınmayacağını denetleyebilirsiniz.
Açıklamalar
Veriler DAO'daki tür DAO_CHAR (veya simge _UNICODE tanımlanmışsa DAO_WCHAR) ve kayıt kümesindeki CString türü arasında eşlenir. n
Örnek
Bu örnekte, öğesine DFX_Text
yapılan birkaç çağrı gösterilmektedir. CDaoFieldExchange::SetFieldType'a yapılan iki çağrıya da dikkat edin. İlk çağrıyı SetFieldType
ve DFX çağrısını yazmanız gerekir. İkinci çağrı ve ilişkili DFX çağrıları normalde sınıfı oluşturan kod sihirbazı tarafından yazılır.
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);
}
Gereksinimler
Üst bilgi: afxdao.h
Ayrıca bkz.
Makrolar ve Genel Ayarlar
CRecordset::D oFieldExchange
CRecordset::D oBulkFieldExchange
CDaoRecordset::D oFieldExchange