Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DAO veritabanı sınıfları tarafından kullanılan DAO kayıt alanı değişimi (DFX) yordamlarını destekler.
Not
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
| Veri Akışı Adı | Açıklama |
|---|---|
| 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 SetFieldTypekadar 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
| Veri Akışı Adı | Açıklama |
|---|---|
| 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 .
Not
DAO veritabanı sınıfları, Açık Veritabanı Bağlantısı (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.
Not
DAO kayıt alanı değişimi (DFX), ODBC tabanlı MFC veritabanı sınıflarındaki (, CDatabase) kayıt alanı değişimine (CRecordsetRFX) ç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 enumkayıt kümesi sınıfı veri üyelerinde CDaoFieldExchangegerçekleştirilir. Olası FieldType değerleri şunlardır:
CDaoFieldExchange::outputColumnalan veri üyeleri için.CDaoFieldExchange::paramparametre 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
Üstbilgi:afxdao.h
CDaoFieldExchange::IsValidOperation
Kendi DFX işlevinizi yazarsanız, geçerli işlemin belirli bir alan veri üye türünde (a IsValidOperation veya aCDaoFieldExchange::outputColumn) gerçekleştirilip gerçekleştirilemeyeceğini belirlemek için işlevinizin başında çağrısında CDaoFieldExchange::param bulunun.
BOOL IsValidOperation();
Dönüş 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.
Not
PSEUDONULL Aşağıdaki ve MarkForAddNew işlemleri altında SetFieldNull açıklanan değer, Alanları Null olarak 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.
PSEUDONULLve COleDateTime alanları için COleCurrency gerekli değildir.
Olası değerleri m_nOperation şunlardır:
| Operasyon | Açıklama |
|---|---|
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 SetFieldType geçersiz kılmasını çağırCDaoRecordset.DoFieldExchange
void SetFieldType(UINT nFieldType);
Parametreler
nFieldType
içinde bildirilen ve aşağıdakilerden biri olabilecek enum FieldTypeCDaoFieldExchange:
CDaoFieldExchange::outputColumnCDaoFieldExchange::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::outputColumntanı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 SetFieldTypegerekir. değerini CDaoFieldExchange::paramgeç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 SetFieldTypeyapılan bir çağrı bulunmalıdır.
parametresi, çağrıyı izleyen SetFieldType DFX işlev çağrıları tarafından temsil edilen veri üyelerinin türünü tanımlar.