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.
Yapı, CDaoFieldInfo veri erişim nesneleri (DAO) için tanımlanan bir alan nesnesi hakkında bilgi içerir.
Not
DAO, Office 2013 aracılığıyla desteklenir. DAO 3.6 son sürümdür ve eski olarak kabul edilir.
Sözdizimi
struct CDaoFieldInfo
{
CString m_strName; // Primary
short m_nType; // Primary
long m_lSize; // Primary
long m_lAttributes; // Primary
short m_nOrdinalPosition; // Secondary
BOOL m_bRequired; // Secondary
BOOL m_bAllowZeroLength; // Secondary
long m_lCollatingOrder; // Secondary
CString m_strForeignName; // Secondary
CString m_strSourceField; // Secondary
CString m_strSourceTable; // Secondary
CString m_strValidationRule; // All
CString m_strValidationText; // All
CString m_strDefaultValue; // All
};
Parametreler
m_strName
Alan nesnesini benzersiz olarak adlandırın. Ayrıntılar için DAO Yardımı'ndaki "Ad Özelliği" konusuna bakın.
m_nType
Alanın veri türünü gösteren değer. Ayrıntılar için DAO Yardımı'ndaki "Tür Özelliği" konusuna bakın. Bu özelliğin değeri aşağıdakilerden biri olabilir:
dbBooleanEvet/Hayır, DOĞRU/YANLIŞ ile aynıdbByteBaytdbIntegerKısadbLongUzundbCurrencyPara birimi; bkz. MFC sınıfı COleCurrencydbSingleTekdbDoubleÇiftdbDateTarih/Saat; bkz. MFC sınıfı COleDateTimedbTextMetin; bkz. MFC sınıfı CStringdbLongBinaryUzun İkili (OLE Nesnesi); daha zengin ve kullanımı daha kolay olduğu içinCByteArraysınıf yerine CByteArray MFC sınıfınıCLongBinarykullanmak isteyebilirsiniz.dbMemoKısa not; bkz. MFC sınıfıCStringdbGUIDUzak yordam çağrılarıyla kullanılan Genel Benzersiz Tanımlayıcı/Evrensel Olarak Benzersiz Tanımlayıcı. Daha fazla bilgi için DAO Yardımı'ndaki "Tür Özelliği" konusuna bakın.
Not
İkili veriler için dize veri türlerini kullanmayın. Bu, verilerinizin Unicode/ANSI çeviri katmanından geçmesine neden olur ve ek yükün artmasına ve muhtemelen beklenmeyen çeviriye neden olur.
m_lSize
Metin içeren bir DAO alan nesnesinin bayt cinsinden en büyük boyutunu veya metin veya sayısal değerler içeren bir alan nesnesinin sabit boyutunu gösteren değer. Ayrıntılar için DAO Yardımı'ndaki "Boyut Özelliği" konusuna bakın. Boyutlar aşağıdaki değerlerden biri olabilir:
| Tür | Boyut (Bayt) | Açıklama |
|---|---|---|
dbBoolean |
1 bayt | Evet/Hayır (Doğru/Yanlış ile aynı) |
dbByte |
1 | Bayt |
dbInteger |
2 | Tamsayı |
dbLong |
4 | Uzun |
dbCurrency |
8 | Para Birimi (COleCurrency) |
dbSingle |
4 | Tekli |
dbDouble |
8 | Çift |
dbDate |
8 | Tarih/Saat (COleDateTime) |
dbText |
1 - 255 | Metin (CString) |
dbLongBinary |
0 | Uzun İkili (OLE Nesnesi; CByteArray; yerine CLongBinarykullanın ) |
dbMemo |
0 | Not (CString) |
dbGUID |
16 | Uzak yordam çağrılarıyla kullanılan Genel Benzersiz Tanımlayıcı/Evrensel Olarak Benzersiz Tanımlayıcı. |
m_lAttributes
Tablo tanımı, kayıt kümesi, sorgu tanımı veya dizin nesnesi tarafından bulunan bir alan nesnesinin özelliklerini belirtir. Döndürülen değer, C++ bit düzeyinde OR (|) işleciyle oluşturulan bu sabitlerin toplamı olabilir:
dbFixedFieldAlan boyutu sabittir (Sayısal alanlar için varsayılan).dbVariableFieldAlan boyutu değişkendir (yalnızca Metin alanları).dbAutoIncrFieldYeni kayıtların alan değeri otomatik olarak değiştirilemeyen benzersiz bir uzun tamsayıya artırılır. Yalnızca Microsoft Jet veritabanı tabloları için desteklenir.dbUpdatableFieldAlan değeri değiştirilebilir.dbDescendingAlan azalan düzende (Z - A veya 100 - 0) sıralanır (yalnızca bir dizin nesnesinin Fields koleksiyonundaki bir alan nesnesi için geçerlidir; MFC'de dizin nesneleri tabledef nesnelerinde yer alır). Bu sabiti atlarsanız, alan artan düzende (A - Z veya 0 - 100) sıralanır (varsayılan).
Bu özelliğin ayarını denetlerken, belirli bir özniteliği test etmek için C++ bit düzeyinde-AND işlecini (&) kullanabilirsiniz. Birden çok öznitelik ayarlarken, uygun sabitleri bit düzeyinde OR (|) işleciyle birleştirerek bunları birleştirebilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.
m_nOrdinalPosition
DAO alan nesnesiyle temsil edilen bir alanın diğer alanlara göre görüntülenmesini istediğiniz sayısal sırayı belirten değer. Bu özelliği CDaoTableDef::CreateField ile ayarlayabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "OrdinalPosition Özelliği" konusuna bakın.
m_bRequired
DAO alan nesnesinin Null olmayan bir değer gerekip gerektirmediğini gösterir. Bu özellik TRUE ise, alan Null değere izin vermez. Gerekli false olarak ayarlanırsa, alan Null değerlerin yanı sıra AllowZeroLength ve ValidationRule özellik ayarları tarafından belirtilen koşulları karşılayan değerler içerebilir. Ayrıntılar için DAO Yardımı'ndaki "Gerekli Özellik" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
m_bAllowZeroLength
Boş dizenin ("") Metin veya Not veri türüne sahip bir DAO alan nesnesinin geçerli bir değeri olup olmadığını gösterir. Bu özellik TRUE ise, boş bir dize geçerli bir değerdir. Bir alanın değerini ayarlamak için boş bir dize kullanamadığınızdan emin olmak için bu özelliği YANLIŞ olarak ayarlayabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "AllowZeroLength Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
m_lCollatingOrder
Dize karşılaştırma veya sıralama için metindeki sıralama düzeninin sırasını belirtir. Ayrıntılar için DAO Yardımı'ndaki "Veri Erişimi için Windows Kayıt Defteri Ayarlarını Özelleştirme" konusuna bakın. Döndürülen olası değerlerin listesi için CDaoDatabaseInfo yapısının üyesine bakınm_lCollatingOrder. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
m_strForeignName
İlişkide, birincil tablodaki bir alana karşılık gelen yabancı bir tablodaki DAO alan nesnesinin adını belirten değer. Ayrıntılar için DAO Yardımı'ndaki "ForeignName Özelliği" konusuna bakın.
m_strSourceField
Tablo tanımı, kayıt kümesi veya sorgu tanımı nesnesi tarafından kapsanan bir DAO alan nesnesi için verilerin özgün kaynağı olan alanın adını gösterir. Bu özellik, bir alan nesnesiyle ilişkili özgün alan adını gösterir. Örneğin, adı temel tablodaki alanın adıyla ilgisi olmayan bir sorgu alanındaki verilerin özgün kaynağını belirlemek için bu özelliği kullanabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "SourceField, SourceTable Özellikleri" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
m_strSourceTable
Tablo tanımı, kayıt kümesi veya sorgu tanımı nesnesi tarafından bulunan bir DAO alan nesnesi için verilerin özgün kaynağı olan tablonun adını gösterir. Bu özellik, bir alan nesnesiyle ilişkili özgün tablo adını gösterir. Örneğin, adı temel tablodaki alanın adıyla ilgisi olmayan bir sorgu alanındaki verilerin özgün kaynağını belirlemek için bu özelliği kullanabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "SourceField, SourceTable Özellikleri" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
m_strValidationRule
Bir alandaki verileri değiştirildiğinde veya tabloya eklendiğinde doğrulayan bir değer. Ayrıntılar için DAO Yardımı'ndaki "ValidationRule Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
Tablo tanımları hakkında ilgili bilgi için bkzm_strValidationRule. CDaoTableDefInfo yapısının üyesi.
m_strValidationText
Bir DAO alan nesnesinin değeri ValidationRule özellik ayarı tarafından belirtilen doğrulama kuralını karşılamıyorsa, uygulamanızın görüntülediği ileti metnini belirten değer. Ayrıntılar için DAO Yardımı'ndaki "ValidationText Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
m_strDefaultValue
DAO alan nesnesinin varsayılan değeri. Yeni bir kayıt oluşturulduğunda, DefaultValue özellik ayarı otomatik olarak alanın değeri olarak girilir. Ayrıntılar için DAO Yardımı'ndaki "DefaultValue Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.
Açıklamalar
Birincil, İkincil ve Yukarıdaki Tümü'ne yapılan başvurular, bilgilerin CDaoTableDef, CDaoQueryDef ve CDaoRecordset sınıflarındaki üye işlevi tarafından GetFieldInfo nasıl döndürüldiğini gösterir.
Alan nesneleri bir MFC sınıfı tarafından temsil edilmez. Bunun yerine, aşağıdaki sınıfların MFC nesnelerini temel alan DAO nesneleri alan nesnelerinin koleksiyonlarını içerir: CDaoTableDef, CDaoRecordset ve CDaoQueryDef. Bu sınıflar, alan bilgilerinin bazı öğelerine erişmek için üye işlevleri sağlar veya içeren nesnenin GetFieldInfo üye işlevini çağırarak bir nesneyle bunların tümüne bir CDaoFieldInfo kerede erişebilirsiniz.
Nesne özelliklerini incelemek için kullanılmasının yanı sıra, tabledef içinde yeni alanlar oluşturmak için bir giriş parametresi oluşturmak için de kullanabilirsiniz CDaoFieldInfo . Bu görev için daha basit seçenekler kullanılabilir, ancak daha ayrıntılı denetim istiyorsanız, parametre CDaoFieldInfo alan CDaoTableDef::CreateField sürümünü kullanabilirsiniz.
Üye işlevi (alanı içeren sınıfın) tarafından GetFieldInfo alınan bilgiler bir CDaoFieldInfo yapıda depolanır. GetFieldInfo Fields koleksiyonu alan nesnesinin depolandığı içeren nesnenin üye işlevini çağırın. CDaoFieldInfo ayrıca hata ayıklama derlemelerinde bir Dump üye işlevi tanımlar. Bir CDaoFieldInfo nesnenin içeriğini dökümü için kullanabilirsinizDump.
Gereksinimler
Üstbilgi: afxdao.h
Ayrıca bkz.
Yapılar, Stiller, Geri Çağrılar ve İleti Eşlemeleri
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo