CDaoFieldExchange Sınıfı
DAO veritabanı sınıfları tarafından kullanılan DAO kayıt alanı değişimi (DFX) yordamlarını destekler.
DAO, Office 2013 aracılığıyla desteklenir. DAO 3.6 son sürümdür ve eski olarak kabul edilir.
Sözdizimi
class CDaoFieldExchange
Üyeler
Genel Yöntemler
Ad | Tanım |
---|---|
CDaoFieldExchange::IsValidOperation | Geçerli işlem güncelleştirilmekte olan alan türüne uygunsa sıfır olmayan döndürür. |
CDaoFieldExchange::SetFieldType | sonraki çağrısına SetFieldType kadar DFX işlevlerine yapılan sonraki tüm çağrılarla temsil edilen kayıt kümesi veri üyesinin türünü (sütun veya parametre) belirtir. |
Ortak Veri Üyeleri
Ad | Tanım |
---|---|
CDaoFieldExchange::m_nOperation | Kayıt kümesinin DoFieldExchange üye işlevine yapılan geçerli çağrı tarafından gerçekleştirilen DFX işlemi. |
CDaoFieldExchange::m_prs | DFX işlemlerinin gerçekleştirildiği kayıt kümesinin işaretçisi. |
Açıklamalar
CDaoFieldExchange
temel sınıfına sahip değildir.
Özel veri türleri için veri değişimi yordamları yazıyorsanız bu sınıfı kullanın; aksi takdirde, bu sınıfı doğrudan kullanmayacaksınız. DFX, CDaoRecordset nesnenizin alan veri üyeleriyle veri kaynağındaki geçerli kaydın karşılık gelen alanları arasında veri alışverişinde bulunur. DFX, veri kaynağından ve veri kaynağına her iki yönde de değişimi yönetir. Özel DFX yordamları yazma hakkında bilgi için bkz . Teknik Not 53 .
Dekont
DAO veritabanı sınıfları, Açık Veritabanı Bağlan ivity (ODBC) temelinde MFC veritabanı sınıflarından farklıdır. Tüm DAO veritabanı sınıf adları "CDao" ön ekini alır. DAO sınıflarıyla ODBC veri kaynaklarına erişmeye devam edebilirsiniz. Genel olarak, DAO'yu temel alan MFC sınıfları ODBC tabanlı MFC sınıflarından daha yeteneklidir. DAO tabanlı sınıflar, ODBC sürücüleri de dahil olmak üzere verilere kendi veritabanı altyapısı aracılığıyla erişebilir. Ayrıca, DAO'yu kendiniz çağırmak yerine sınıflar aracılığıyla tablo ekleme gibi Veri Tanımlama Dili (DDL) işlemlerini de destekler.
Dekont
DAO kayıt alanı değişimi (DFX), ODBC tabanlı MFC veritabanı sınıflarındaki ( , CRecordset
) kayıt alanı değişimine (CDatabase
RFX) çok benzer. RFX'i anlarsanız, DFX'i kullanmayı kolaylaştırırsınız.
Nesnesi CDaoFieldExchange
, DAO kayıt alanı değişiminin gerçekleşmesi için gereken bağlam bilgilerini sağlar. CDaoFieldExchange
nesneleri, parametreleri ve alan veri üyelerini bağlama ve geçerli kaydın alanlarında çeşitli bayraklar ayarlama dahil olmak üzere bir dizi işlemi destekler. DFX işlemleri, içinde FieldType tarafından tanımlanan türlerin enum
kayıt kümesi sınıfı veri üyelerinde CDaoFieldExchange
gerçekleştirilir. Olası FieldType değerleri şunlardır:
CDaoFieldExchange::outputColumn
alan veri üyeleri için.CDaoFieldExchange::param
parametre veri üyeleri için.
IsValidOperation üye işlevi, kendi özel DFX yordamlarınızı yazmak için sağlanır. CDaoRecordset::D oFieldExchange işlevlerinizde SetFieldType'i sık sık kullanacaksınız. DFX genel işlevleri hakkında ayrıntılı bilgi için bkz . Kayıt Alanı Değişim İşlevleri. Kendi veri türleriniz için özel DFX yordamları yazma hakkında bilgi için bkz . Teknik Not 53.
Devralma Hiyerarşisi
CDaoFieldExchange
Gereksinimler
Üst bilgi: afxdao.h
CDaoFieldExchange::IsValidOperation
Kendi DFX işlevinizi yazarsanız, geçerli işlemin belirli bir alan veri üye türünde (a CDaoFieldExchange::outputColumn
veya aCDaoFieldExchange::param
) gerçekleştirilip gerçekleştirilemeyeceğini belirlemek için işlevinizin başında çağrısında IsValidOperation
bulunun.
BOOL IsValidOperation();
İade Değeri
Geçerli işlem güncelleştirilmekte olan alan türüne uygunsa sıfır olmayan.
Açıklamalar
DFX mekanizması tarafından gerçekleştirilen işlemlerin bazıları, olası alan türlerinden yalnızca birine uygulanır. Mevcut DFX işlevlerinin modelini izleyin.
Özel DFX yordamları yazma hakkında ek bilgi için bkz . Teknik Not 53.
CDaoFieldExchange::m_nOperation
Alan değişim nesnesiyle ilişkili CDaoRecordset nesnesinde gerçekleştirilecek işlemi tanımlar.
Açıklamalar
nesnesi, CDaoFieldExchange
kayıt kümesindeki bir dizi farklı DFX işleminin bağlamını sağlar.
Dekont
Aşağıdaki MarkForAddNew ve SetFieldNull işlemleri altında açıklanan PSEUDONULL değeri, Null alanlarını işaretlemek için kullanılan bir değerdir. DAO kayıt alanı değişim mekanizması (DFX), hangi alanların açıkça Null olarak işaretlendiğini belirlemek için bu değeri kullanır. COleDateTime ve COleCurrency alanları için PSEUDONULL gerekli değildir.
Olası değerleri m_nOperation
şunlardır:
Operation | Tanım |
---|---|
AddToParameterList |
SQL deyiminin PARAMETERS yan tümcesini oluşturur. |
AddToSelectList |
SQL deyiminin SELECT yan tümcesini oluşturur. |
BindField |
Veritabanındaki bir alanı uygulamanızdaki bir bellek konumuna bağlar. |
BindParam |
Kayıt kümesinin sorgusu için parametre değerlerini ayarlar. |
Fixup |
Bir alan için Null durumunu ayarlar. |
AllocCache |
Kayıt kümesindeki "kirli" alanları denetlemek için kullanılan önbelleği ayırır. |
StoreField |
Geçerli kaydı önbelleğe kaydeder. |
LoadField |
Kayıt kümesindeki önbelleğe alınmış veri üyesi değişkenlerini geri yükler. |
FreeCache |
Kayıt kümesindeki "kirli" alanları denetlemek için kullanılan önbelleği boşaltır. |
SetFieldNull |
Bir alanın durumunu Null ve değerini PSEUDONULL olarak ayarlar. |
MarkForAddNew |
PSEUDONULL değilse alanları "kirli" olarak işaretler. |
MarkForEdit |
Önbellekle eşleşmeyen alanları "kirli" olarak işaretler. |
SetDirtyField |
"Kirli" olarak işaretlenmiş alan değerlerini ayarlar. |
DumpField |
Alanın içeriğinin dökümünü oluşturur (yalnızca hata ayıklama). |
MaxDFXOperation |
Giriş denetimi için kullanılır. |
CDaoFieldExchange::m_prs
Nesneyle ilişkilendirilmiş CDaoRecordset nesnesinin işaretçisini CDaoFieldExchange
içerir.
Açıklamalar
CDaoFieldExchange::SetFieldType
Sınıfınızın CDaoRecordset
geçersiz kılmasını çağırSetFieldType
.DoFieldExchange
void SetFieldType(UINT nFieldType);
Parametreler
nFieldType
içinde bildirilen CDaoFieldExchange
ve aşağıdakilerden biri olabilecek enum FieldType değeri:
CDaoFieldExchange::outputColumn
CDaoFieldExchange::param
Açıklamalar
Normalde ClassWizard bu çağrıyı sizin için yazar. Kendi işlevinizi yazıyorsanız ve işlevinizi DoFieldExchange
yazmak için sihirbazı kullanıyorsanız, alan haritasının dışında kendi işlevinize çağrılar ekleyin. Sihirbazı kullanmazsanız, alan eşlemesi olmaz. Çağrı, sınıfınızın her alan veri üyesi için bir tane olmak üzere DFX işlevlerine yapılan çağrıların önüne geçmekte ve alan türünü olarak CDaoFieldExchange::outputColumn
tanımlamaktadır.
Kayıt kümesi sınıfınızı parametreleştirirseniz, tüm parametre veri üyeleri (alan eşlemesi dışında) için DFX çağrıları eklemeniz ve bu çağrıların önüne çağrısı eklemeniz SetFieldType
gerekir. değerini CDaoFieldExchange::param
geçirin. (Bunun yerine, CDaoQueryDef ve parametre değerlerini ayarlayın.)
Genel olarak, alan veri üyeleri veya parametre veri üyeleriyle ilişkili her DFX işlev çağrısı grubunun önünde öğesine SetFieldType
yapılan bir çağrı bulunmalıdır. Her SetFieldType
çağrının nFieldType parametresi, çağrıyı izleyen SetFieldType
DFX işlev çağrıları tarafından temsil edilen veri üyelerinin türünü tanımlar.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin