CDaoTableDef Sınıfı
Temel tablonun veya ekli tablonun depolanmış tanımını temsil eder.
Not
DAO, Office 2013 aracılığıyla desteklenir. DAO 3.6 son sürümdür ve eski olarak kabul edilir.
Sözdizimi
class CDaoTableDef : public CObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CDaoTableDef::CDaoTableDef | Bir CDaoTableDef nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CDaoTableDef::Append | Veritabanına yeni bir tablo ekler. |
CDaoTableDef::CanUpdate | Tablo güncelleştirilebiliyorsa sıfır olmayan bir değer döndürür (alanların tanımını veya tablo özelliklerini değiştirebilirsiniz). |
CDaoTableDef::Close | Açık bir tabledef'i kapatır. |
CDaoTableDef::Create | Ekle kullanılarak veritabanına eklenebilen bir tablo oluşturur. |
CDaoTableDef::CreateField | Bir tablo için alan oluşturmak üzere çağrılır. |
CDaoTableDef::CreateIndex | Bir tablo için dizin oluşturmak üzere çağrılır. |
CDaoTableDef::D eleteField | Bir tablodan alan silmek için çağrılır. |
CDaoTableDef::D eleteIndex | Bir tablodan dizin silmek için çağrılır. |
CDaoTableDef::GetAttributes | Bir nesnenin bir veya daha fazla özelliğini gösteren bir CDaoTableDef değer döndürür. |
CDaoTableDef::GetConnect | Tablonun kaynağı hakkında bilgi sağlayan bir değer döndürür. |
CDaoTableDef::GetDateCreated | Bir CDaoTableDef nesnenin temel alındığı temel tablonun oluşturulduğu tarihi ve saati döndürür. |
CDaoTableDef::GetDateLastUpdated | Temel tablonun tasarımında yapılan en son değişikliğin tarih ve saatini döndürür. |
CDaoTableDef::GetFieldCount | Tablodaki alan sayısını temsil eden bir değer döndürür. |
CDaoTableDef::GetFieldInfo | Tablodaki alanlar hakkında belirli türde bilgiler döndürür. |
CDaoTableDef::GetIndexCount | Tablo için dizin sayısını döndürür. |
CDaoTableDef::GetIndexInfo | Tablo için dizinler hakkında belirli türde bilgiler döndürür. |
CDaoTableDef::GetName | Tablonun kullanıcı tanımlı adını döndürür. |
CDaoTableDef::GetRecordCount | Tablodaki kayıtların sayısını döndürür. |
CDaoTableDef::GetSourceTableName | Kaynak veritabanındaki ekli tablonun adını belirten bir değer döndürür. |
CDaoTableDef::GetValidationRule | Bir alandaki verileri değiştirildiğinde veya tabloya eklendikçe doğrulayan bir değer döndürür. |
CDaoTableDef::GetValidationText | Bir Field nesnesinin değeri belirtilen doğrulama kuralını karşılamıyorsa uygulamanızın görüntülediği ileti metnini belirten bir değer döndürür. |
CDaoTableDef::IsOpen | Tablo açıksa sıfır olmayan değerini döndürür. |
CDaoTableDef::Open | Veritabanının TableDef koleksiyonunda depolanan mevcut bir tabledef'i açar. |
CDaoTableDef::RefreshLink | Ekli tablonun bağlantı bilgilerini güncelleştirir. |
CDaoTableDef::SetAttributes | Bir nesnenin bir veya daha fazla özelliğini gösteren bir CDaoTableDef değer ayarlar. |
CDaoTableDef::SetConnect | Tablonun kaynağı hakkında bilgi sağlayan bir değer ayarlar. |
CDaoTableDef::SetName | Tablonun adını ayarlar. |
CDaoTableDef::SetSourceTableName | Kaynak veritabanındaki ekli tablonun adını belirten bir değer ayarlar. |
CDaoTableDef::SetValidationRule | Bir alandaki verileri değiştirildiğinde veya tabloya eklendikçe doğrulayan bir değer ayarlar. |
CDaoTableDef::SetValidationText | Bir Field nesnesinin değeri belirtilen doğrulama kuralını karşılamıyorsa uygulamanızın görüntülediği ileti metnini belirten bir değer ayarlar. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CDaoTableDef::m_pDAOTableDef | tabledef nesnesini temel alan DAO arabiriminin işaretçisi. |
CDaoTableDef::m_pDatabase | Bu tablo için kaynak veritabanı. |
Açıklamalar
Her DAO veritabanı nesnesi, kaydedilmiş tüm DAO tablo tanımı nesnelerini içeren TableDefs adlı bir koleksiyon tutar.
Tablo tanımını nesne kullanarak CDaoTableDef
işlersiniz. Örneğin, şunları yapabilirsiniz:
Veritabanındaki herhangi bir yerel, ekli veya dış tablonun alan ve dizin yapısını inceleyin.
SetConnect
Ekli tablolar için veSetSourceTableName
üye işlevlerini çağırınRefreshLink
ve ekli tablolarla bağlantıları güncelleştirmek için üye işlevini kullanın.Tablodaki
CanUpdate
alan tanımlarını düzenleyip düzenleyebildiğinizi belirlemek için üye işlevini çağırın.ve
SetValidationRule
GetValidationText
SetValidationText
üye işlevlerini kullanarakGetValidationRule
doğrulama koşullarını alın veya ayarlayın.Open
Tablo, dynaset veya anlık görüntü türüCDaoRecordset
nesnesi oluşturmak için üye işlevini kullanın.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ı ile ODBC veri kaynaklarına erişmeye devam edebilirsiniz; DAO sınıfları genellikle Microsoft Jet veritabanı altyapısına özgü olduklarından üstün özellikler sunar.
Varolan bir tabloyla çalışmak veya yeni bir tablo oluşturmak için tabledef nesnelerini kullanmak için
Her durumda, önce tablonun ait olduğu CDaoDatabase nesnesine bir işaretçi sağlayarak bir nesne oluşturur
CDaoTableDef
.Ardından, ne istediğinize bağlı olarak aşağıdakileri yapın:
Var olan bir kaydedilmiş tabloyu kullanmak için tabledef nesnesinin Open member işlevini çağırarak kaydedilen tablonun adını sağlayın.
Yeni bir tablo oluşturmak için tabledef nesnesinin Create member işlevini çağırarak tablonun adını sağlayın. Tabloya alan ve dizin eklemek için CreateField ve CreateIndex'i çağırın.
Veritabanının TableDefs koleksiyonuna ekleyerek tabloyu kaydetmek için Ekleme çağrısı yapın.
Create
tabledef'i açık duruma getirir, bu nedenle sizi çağırdıktanCreate
sonra çağırmayınOpen
.İpucu
Kaydedilen tabloları oluşturmanın en kolay yolu, bunları oluşturmak ve Microsoft Access kullanarak veritabanınızda depolamaktır. Ardından bunları MFC kodunuzda açabilir ve kullanabilirsiniz.
Açtığınız veya oluşturduğunuz tabledef nesnesini kullanmak için, nOpenType parametresinde bir değerle tabledef adını belirterek bir CDaoRecordset
dbOpenTable
nesne oluşturun ve açın.
Bir nesne oluşturmak CDaoRecordset
için tabledef nesnesi kullanmak için genellikle yukarıda açıklandığı gibi bir tabledef oluşturur veya açarsınız, ardından CDaoRecordset::Open çağrısı yaptığınızda tabledef nesnenize bir işaretçi geçirerek bir kayıt kümesi nesnesi oluşturursunuz. Geçirdiğiniz tabledef açık durumda olmalıdır. Daha fazla bilgi için bkz. CDaoRecordset sınıfı.
Bir tabledef nesnesi kullanmayı bitirdiğinizde, onun Close member işlevini çağırın; sonra tabledef nesnesini yok edin.
Devralma Hiyerarşisi
CDaoTableDef
Gereksinimler
Üstbilgi: afxdao.h
CDaoTableDef::Append
Veritabanında tabledef'i kaydetmek üzere yeni bir tabledef nesnesi oluşturmak için Create çağrısı yaptıktan sonra bu üye işlevini çağırın.
virtual void Append();
Açıklamalar
işlevi, nesnesini veritabanının TableDefs koleksiyonuna ekler. Tabledef'i eklemeyerek tanımlama sırasında geçici bir nesne olarak kullanabilirsiniz, ancak kaydetmek ve kullanmak istiyorsanız öğesini çağırmanız Append
gerekir.
Not
Adsız bir tabledef eklemeye çalışırsanız (null veya boş dize içeren), MFC bir özel durum oluşturur.
İlgili bilgiler için DAO Yardımı'ndaki "Ekleme Yöntemi" konusuna bakın.
CDaoTableDef::CanUpdate
Bir CDaoTableDef
nesnenin temel alınan tablosunun tanımının değiştirilip değiştirilemeyeceğini belirlemek için bu üye işlevini çağırın.
BOOL CanUpdate();
Dönüş Değeri
Tablo yapısı (şema) değiştirilebilirse sıfır olmayan (alanları ve dizinleri ekleme veya silme), aksi takdirde 0.
Açıklamalar
Varsayılan olarak, bir nesnenin temel aldığı yeni oluşturulan tablo CDaoTableDef
güncelleştirilebilir ve nesnenin temel aldığı ekli tablo CDaoTableDef
güncelleştirilemez. Sonuçta CDaoTableDef
elde edilen kayıt kümesi güncelleştirilebilir olmasa bile nesne güncelleştirilebilir olabilir.
İlgili bilgiler için DAO Yardımı'ndaki "Güncelleştirilebilir Özellik" konusuna bakın.
CDaoTableDef::CDaoTableDef
Bir CDaoTableDef
nesne oluşturur.
CDaoTableDef(CDaoDatabase* pDatabase);
Parametreler
pDatabase
CDaoDatabase nesnesinin işaretçisi.
Açıklamalar
Nesnesini oluşturduktan sonra Create veya Open member işlevini çağırmanız gerekir. Nesneyle bitirdiğinizde, nesnenin Close member işlevini çağırmanız ve nesneyi yok CDaoTableDef
etmeniz gerekir.
CDaoTableDef::Close
Tabledef nesnesini kapatmak ve serbest bırakmak için bu üye işlevini çağırın.
virtual void Close();
Açıklamalar
genellikle çağrıldıktan Close
sonra ile new
ayrılmışsa tabledef nesnesini silersiniz.
çağrısı yaptıktan sonra Yeniden Aç'ı çağırabilirsiniz.Close
Bu, tabledef nesnesini yeniden kullanmanıza olanak tanır.
İlgili bilgiler için DAO Yardımı'ndaki "Yöntemi Kapat" konusuna bakın.
CDaoTableDef::Create
Bu üye işlevini çağırarak yeni bir kaydedilmiş tablo oluşturun.
virtual void Create(
LPCTSTR lpszName,
long lAttributes = 0,
LPCTSTR lpszSrcTable = NULL,
LPCTSTR lpszConnect = NULL);
Parametreler
lpszName
Tablonun adını içeren bir dize işaretçisi.
lAttributes
tabledef nesnesi tarafından temsil edilen tablonun özelliklerine karşılık gelen bir değer. Aşağıdaki sabitlerden herhangi birini birleştirmek için bit düzeyinde OR kullanabilirsiniz:
Sabit | Açıklama |
---|---|
dbAttachExclusive |
Microsoft Jet veritabanı altyapısını kullanan veritabanları için, tablonun özel kullanım için açılmış ekli bir tablo olduğunu gösterir. |
dbAttachSavePWD |
Microsoft Jet veritabanı altyapısını kullanan veritabanları için, ekli tablonun kullanıcı kimliğinin ve parolasının bağlantı bilgileriyle birlikte kaydedildiğini gösterir. |
dbSystemObject |
Tablonun Microsoft Jet veritabanı altyapısı tarafından sağlanan bir sistem tablosu olduğunu gösterir. |
dbHiddenObject |
Tablonun Microsoft Jet veritabanı altyapısı tarafından sağlanan gizli bir tablo olduğunu gösterir. |
lpszSrcTable
Kaynak tablo adını içeren bir dize işaretçisi. Varsayılan olarak bu değer NULL olarak başlatılır.
lpszConnect
Varsayılan bağlantı dizesi içeren bir dize işaretçisi. Varsayılan olarak bu değer NULL olarak başlatılır.
Açıklamalar
Tabledef'i adlandırdıktan sonra , veritabanının TableDefs koleksiyonuna kaydetmek için Append çağırabilirsiniz. çağrısından Append
sonra tabledef açık durumdadır ve bunu kullanarak bir CDaoRecordset nesnesi oluşturabilirsiniz.
İlgili bilgiler için DAO Yardımı'ndaki "CreateTableDef Yöntemi" konusuna bakın.
CDaoTableDef::CreateField
Tabloya alan eklemek için bu üye işlevini çağırın.
void CreateField(
LPCTSTR lpszName,
short nType,
long lSize,
long lAttributes = 0);
void CreateField(CDaoFieldInfo& fieldinfo);
Parametreler
lpszName
Bu alanın adını belirten bir dize ifadesinin işaretçisi.
nType
Alanın veri türünü gösteren değer. Ayar şu değerlerden biri olabilir:
Tür | Boyut (bayt) | Açıklama |
---|---|---|
dbBoolean |
1 bayt | BOOL |
dbByte |
BYTE | |
dbInteger |
2 | int |
dbLong |
4 | uzun |
dbCurrency |
8 | Para Birimi ( COleCurrency) |
dbSingle |
4 | kayan noktalı sayı |
dbDouble |
8 | çift |
dbDate |
8 | Tarih/Saat ( COleDateTime) |
dbText |
1 - 255 | Metin ( CString) |
dbLongBinary |
0 | Uzun İkili (OLE Nesnesi), CLongBinary veya CByteArray |
dbMemo |
0 | Not ( CString) |
lSize
Metin içeren bir alanın bayt cinsinden en büyük boyutunu veya metin veya sayısal değerler içeren alanın sabit boyutunu gösteren değer. lSize parametresi, metin alanları dışında tüm alanlar için yoksayılır.
lAttributes
Alanın özelliklerine karşılık gelen ve bit düzeyinde OR kullanılarak birleştirilebilen bir değer.
Sabit | Açıklama |
---|---|
dbFixedField |
Alan boyutu sabittir (Sayısal alanlar için varsayılan). |
dbVariableField |
Alan boyutu değişkendir (yalnızca Metin alanları). |
dbAutoIncrField |
Yeni 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. |
dbUpdatableField |
Alan değeri değiştirilebilir. |
dbDescending |
Alan azalan düzende (Z - A veya 100 - 0) sıralanır (yalnızca Bir Index nesnesinin Fields koleksiyonundaki bir Field nesnesine uygulanır). Bu sabiti atlarsanız, alan artan düzende (A - Z veya 0 - 100) sıralanır (varsayılan). |
fieldinfo
CDaoFieldInfo yapısına başvuru.
Açıklamalar
DAOField
Bir (OLE) nesnesi oluşturulur ve (OLE) nesnesinin Fields koleksiyonuna DAOTableDef
eklenir. 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
. İlk sürümünün CreateField
kullanımı daha basittir, ancak daha ayrıntılı denetim istiyorsanız parametresini alan CDaoFieldInfo
ikinci sürümünü CreateField
kullanabilirsiniz.
Parametresini alan sürümünü CreateField
kullanırsanız, aşağıdaki yapı üyelerinin her birini CDaoFieldInfo
dikkatli bir CDaoFieldInfo
şekilde ayarlamanız gerekir:
m_strName
m_nType
m_lSize
m_lAttributes
m_bAllowZeroLength
öğesinin CDaoFieldInfo
kalan üyeleri üyeye uygun olarak 0, YANLIŞ veya boş bir dize olarak ayarlanmalıdır veya bir CDaoException
oluşabilir.
İlgili bilgiler için DAO Yardımı'ndaki "CreateField Yöntemi" konusuna bakın.
CDaoTableDef::CreateIndex
Tabloya dizin eklemek için bu işlevi çağır.
void CreateIndex(CDaoIndexInfo& indexinfo);
Parametreler
indexinfo
CDaoIndexInfo yapısına başvuru.
Açıklamalar
Dizinler, veritabanı tablolarından erişilen kayıtların sırasını ve yinelenen kayıtların kabul edilip edilmeyeceğini belirtir. Dizinler ayrıca verilere verimli erişim sağlar.
Tablolar için dizinler oluşturmanız gerekmez, ancak büyük, dizinlenmemiş tablolarda belirli bir kayda erişmek veya kayıt kümesi oluşturmak uzun sürebilir. Öte yandan, çok fazla dizin oluşturmak güncelleştirme, ekleme ve silme işlemlerini yavaşlatır ve tüm dizinler otomatik olarak güncelleştirilir. Hangi dizinlerin oluşturulacağına karar verirken bu faktörleri göz önünde bulundurun.
Yapının aşağıdaki üyeleri CDaoIndexInfo
ayarlanmalıdır:
m_strName
Bir ad sağlanmalıdır.m_pFieldInfos
Bir yapı dizisineCDaoIndexFieldInfo
işaret etmelidir.m_nFields
Yapı dizisindekiCDaoFieldInfo
alan sayısını belirtmelidir.
YANLIŞ olarak ayarlanırsa kalan üyeler yoksayılır. Ayrıca, m_lDistinctCount
dizin oluşturulurken üye yoksayılır.
CDaoTableDef::D eleteField
Bir alanı kaldırmak ve erişilemez hale getirmek için bu üye işlevini çağır.
void DeleteField(LPCTSTR lpszName);
void DeleteField(int nIndex);
Parametreler
lpszName
Varolan bir alanın adı olan bir dize ifadesinin işaretçisi.
nIndex
Dizine göre arama için tablonun sıfır tabanlı Alanlar koleksiyonundaki alanın dizini.
Açıklamalar
Bu üye işlevini veritabanına eklenmemiş yeni bir nesnede veya CanUpdate sıfır olmayan bir değer döndürdüğünde kullanabilirsiniz.
İlgili bilgiler için DAO Yardımı'ndaki "Yöntemi Sil" konusuna bakın.
CDaoTableDef::D eleteIndex
Temel alınan tablodaki bir dizini silmek için bu üye işlevini çağır.
void DeleteIndex(LPCTSTR lpszName);
void DeleteIndex(int nIndex);
Parametreler
lpszName
Var olan bir dizinin adı olan bir dize ifadesinin işaretçisi.
nIndex
Dizine göre arama için veritabanının sıfır tabanlı TableDefs koleksiyonundaki dizin nesnesinin dizi dizini.
Açıklamalar
Bu üye işlevini veritabanına eklenmemiş yeni bir nesnede veya CanUpdate sıfır olmayan bir değer döndürdüğünde kullanabilirsiniz.
İlgili bilgiler için DAO Yardımı'ndaki "Yöntemi Sil" konusuna bakın.
CDaoTableDef::GetAttributes
Bir CDaoTableDef
nesne için dönüş değeri, nesne tarafından CDaoTableDef
temsil edilen tablonun özelliklerini belirtir ve şu sabitlerin toplamı olabilir:
long GetAttributes();
Dönüş Değeri
Bir nesnenin bir veya daha fazla özelliğini gösteren bir CDaoTableDef
değer döndürür.
Açıklamalar
Sabit | Açıklama |
---|---|
dbAttachExclusive |
Microsoft Jet veritabanı altyapısını kullanan veritabanları için, tablonun özel kullanım için açılmış ekli bir tablo olduğunu gösterir. |
dbAttachSavePWD |
Microsoft Jet veritabanı altyapısını kullanan veritabanları için, ekli tablonun kullanıcı kimliğinin ve parolasının bağlantı bilgileriyle birlikte kaydedildiğini gösterir. |
dbSystemObject |
Tablonun Microsoft Jet veritabanı altyapısı tarafından sağlanan bir sistem tablosu olduğunu gösterir. |
dbHiddenObject |
Tablonun Microsoft Jet veritabanı altyapısı tarafından sağlanan gizli bir tablo olduğunu gösterir. |
dbAttachedTable |
Tablonun Paradox veritabanı gibi ODBC olmayan bir veritabanından eklenmiş bir tablo olduğunu gösterir. |
dbAttachedODBC |
Tablonun Microsoft SQL Server gibi bir ODBC veritabanından eklenmiş bir tablo olduğunu gösterir. |
Sistem tablosu, Microsoft Jet veritabanı altyapısı tarafından çeşitli iç bilgileri içerecek şekilde oluşturulmuş bir tablodur.
Gizli tablo, Microsoft Jet veritabanı altyapısı tarafından geçici kullanım için oluşturulmuş bir tablodur.
İlgili bilgiler için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.
CDaoTableDef::GetConnect
Bir veri kaynağının bağlantı dizesi almak için bu üye işlevini çağırın.
CString GetConnect();
Dönüş Değeri
CString
Tablonun yolunu ve veritabanı türünü içeren bir nesne.
Açıklamalar
Ekli tabloyu temsil eden bir CDaoTableDef
nesne için CString
, nesne bir veya iki bölümden (veritabanı türü tanımlayıcısı ve veritabanının yolu) oluşur.
Aşağıdaki tabloda gösterildiği gibi yol, veritabanı dosyalarını içeren dizinin tam yoludur ve önünde "DATABASE=" tanımlayıcısı bulunmalıdır. Bazı durumlarda (Microsoft Jet ve Microsoft Excel veritabanlarında olduğu gibi) veritabanı yolu bağımsız değişkenine belirli bir dosya adı eklenir.
CDaoTableDef::SetConnect içindeki tablo, olası veritabanı türlerini ve ilgili veritabanı tanımlayıcılarını ve yollarını gösterir:
Microsoft Jet veritabanı temel tabloları için tanımlayıcı boş bir dizedir ("").
Parola gerekliyse ancak sağlanmadıysa, ODBC sürücüsü bir tabloya ilk kez erişildiğinde ve bağlantı kapatılıp yeniden açıldığında bir oturum açma iletişim kutusu görüntüler. Ekli bir tablo özniteliğine dbAttachSavePWD
sahipse, tablo yeniden açıldığında oturum açma istemi görüntülenmez.
İlgili bilgiler için DAO Yardımı'ndaki "Özelliği Bağlama" konusuna bakın.
CDaoTableDef::GetDateCreated
Nesnenin temel alındığı tablonun tarih ve saatini belirlemek için bu işlevi çağırın CDaoTableDef
.
COleDateTime GetDateCreated();
Dönüş Değeri
Nesnenin temel aldığı CDaoTableDef
tablonun oluşturulduğu tarih ve saati içeren değer.
Açıklamalar
Tarih ve saat ayarları, temel tablonun oluşturulduğu veya son güncelleştirildiği bilgisayardan türetilir. Çok kullanıcılı bir ortamda, kullanıcıların tutarsızlıkları önlemek için bu ayarları doğrudan dosya sunucusundan alması gerekir; diğer bir deyişle, tüm istemciler bir "standart" zaman kaynağı kullanmalıdır ( belki de tek bir sunucudan).
İlgili bilgiler için DAO Yardımı'ndaki "DateCreated, LastUpdated Properties" konusuna bakın.
CDaoTableDef::GetDateLastUpdated
Nesnenin temel alındığı tablonun son güncelleştirileceği tarih ve saati belirlemek için bu işlevi çağırın CDaoTableDef
.
COleDateTime GetDateLastUpdated();
Dönüş Değeri
Nesnenin temel aldığı CDaoTableDef
tablonun son güncelleştirilmiş olduğu tarih ve saati içeren değer.
Açıklamalar
Tarih ve saat ayarları, temel tablonun oluşturulduğu veya son güncelleştirildiği bilgisayardan türetilir. Çok kullanıcılı bir ortamda, kullanıcıların tutarsızlıkları önlemek için bu ayarları doğrudan dosya sunucusundan alması gerekir; diğer bir deyişle, tüm istemciler bir "standart" zaman kaynağı kullanmalıdır ( belki de tek bir sunucudan).
İlgili bilgiler için DAO Yardımı'ndaki "DateCreated, LastUpdated Properties" konusuna bakın.
CDaoTableDef::GetFieldCount
Tabloda tanımlanan alan sayısını almak için bu üye işlevini çağırın.
short GetFieldCount();
Dönüş Değeri
Tablodaki alanların sayısı.
Açıklamalar
Değeri 0 ise, koleksiyonda nesne yoktur.
İlgili bilgiler için DAO Yardımı'ndaki "Özelliği Say" konusuna bakın.
CDaoTableDef::GetFieldInfo
tabledef içinde tanımlanan bir alan hakkında çeşitli bilgi türlerini almak için bu üye işlevini çağırın.
void GetFieldInfo(
int nIndex,
CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetFieldInfo(
LPCTSTR lpszName,
CDaoFieldInfo& fieldinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Parametreler
nIndex
Dizine göre arama için tablonun sıfır tabanlı Fields koleksiyonundaki alan nesnesinin dizini.
fieldinfo
CDaoFieldInfo yapısına başvuru.
dwInfoOptions
Alanla ilgili hangi bilgilerin alınacağını belirten seçenekler. Kullanılabilir seçenekler, işlevin döndürmesine neden olduklarıyla birlikte burada listelenir:
AFX_DAO_PRIMARY_INFO
(Varsayılan) Ad, Tür, Boyut, Öznitelikler. En hızlı performans için bu seçeneği kullanın.AFX_DAO_SECONDARY_INFO
Birincil bilgiler, artı: Sıralı Konum, Gerekli, Sıfır Uzunluğa İzin Ver, Harmanlama Sırası, Yabancı Ad, Kaynak Alan, Kaynak TabloAFX_DAO_ALL_INFO
Birincil ve ikincil bilgilerin yanı sıra: Geçerlilik Kuralı, Doğrulama Metni, Varsayılan Değer
lpszName
Ada göre arama için alan nesnesinin adına yönelik bir işaretçi. Ad, alanı benzersiz olarak adlandıran 64 karaktere kadar olan bir dizedir.
Açıklamalar
İşlevin bir sürümü, bir alanı dizine göre aramanıza olanak tanır. Diğer sürüm, bir alanı ada göre aramanıza olanak tanır.
Döndürülen bilgilerin açıklaması için bkz . CDaoFieldInfo yapısı. Bu yapı, dwInfoOptions açıklamasında yukarıda listelenen bilgi öğelerine karşılık gelen üyelere sahiptir. Bir düzeyde bilgi istediğinizde, önceki düzeyler için de bilgi alırsınız.
İlgili bilgiler için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.
CDaoTableDef::GetIndexCount
Bir tablonun dizin sayısını almak için bu üye işlevini çağırın.
short GetIndexCount();
Dönüş Değeri
Tablonun dizin sayısı.
Açıklamalar
Değeri 0 ise, koleksiyonda dizin yoktur.
İlgili bilgiler için DAO Yardımı'ndaki "Özelliği Say" konusuna bakın.
CDaoTableDef::GetIndexInfo
Tabledef içinde tanımlanan bir dizin hakkında çeşitli bilgi türlerini almak için bu üye işlevini çağırın.
void GetIndexInfo(
int nIndex,
CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
void GetIndexInfo(
LPCTSTR lpszName,
CDaoIndexInfo& indexinfo,
DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);
Parametreler
nIndex
Tablodaki sıfır tabanlı Indexes koleksiyonundaki Index nesnesinin sayısal dizini, koleksiyondaki konumuna göre arama için.
indexinfo
CDaoIndexInfo yapısına başvuru.
dwInfoOptions
Dizinle ilgili hangi bilgilerin alınacağını belirten seçenekler. Kullanılabilir seçenekler, işlevin döndürmesine neden olduklarıyla birlikte burada listelenir:
AFX_DAO_PRIMARY_INFO
Ad, Alan Bilgisi, Alanlar. En hızlı performans için bu seçeneği kullanın.AFX_DAO_SECONDARY_INFO
Birincil bilgiler ve artı: Birincil, Benzersiz, Kümelenmiş, Null Değerleri Yoksay, Gerekli, YabancıAFX_DAO_ALL_INFO
Birincil ve ikincil bilgilerin yanı sıra: Ayrı Sayı
lpszName
Ada göre arama için dizin nesnesinin adına yönelik bir işaretçi.
Açıklamalar
İşlevin bir sürümü, bir dizini koleksiyondaki konumuna göre aramanızı sağlar. Diğer sürüm, ada göre bir dizin aramanızı sağlar.
Döndürülen bilgilerin açıklaması için bkz . CDaoIndexInfo yapısı. Bu yapı, dwInfoOptions açıklamasında yukarıda listelenen bilgi öğelerine karşılık gelen üyelere sahiptir. Bir düzeyde bilgi istediğinizde, önceki düzeyler için de bilgi alırsınız.
İlgili bilgiler için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.
CDaoTableDef::GetName
Temel alınan tablonun kullanıcı tanımlı adını almak için bu üye işlevini çağırın.
CString GetName();
Dönüş Değeri
Tablo için kullanıcı tanımlı ad.
Açıklamalar
Bu ad bir harfle başlar ve en fazla 64 karakter içerebilir. Sayılar ve alt çizgi karakterleri içerebilir, ancak noktalama işaretleri veya boşluklar içeremez.
İlgili bilgiler için DAO Yardımı'ndaki "Ad Özelliği" konusuna bakın.
CDaoTableDef::GetRecordCount
Bir nesnede CDaoTableDef
kaç kayıt olduğunu öğrenmek için bu üye işlevini çağır.
long GetRecordCount();
Dönüş Değeri
Tabledef nesnesinde erişilen kayıtların sayısı.
Açıklamalar
Tablo türündeki CDaoTableDef
bir nesnenin çağrılmasıGetRecordCount
, tablodaki yaklaşık kayıt sayısını yansıtır ve tablo kayıtları eklendikçe ve silindikçe hemen etkilenir. Geri alınan işlemler, CDaoWorkSpace::CompactDatabase çağrılana kadar kayıt sayısının bir parçası olarak görünür. CDaoTableDef
Kaydı olmayan bir nesnenin kayıt sayısı özellik ayarı 0'dır. Ekli tablolarla veya ODBC veritabanlarıyla çalışırken her GetRecordCount
zaman -1 döndürür.
İlgili bilgiler için DAO Yardımı'ndaki "RecordCount Özelliği" konusuna bakın.
CDaoTableDef::GetSourceTableName
Kaynak veritabanındaki ekli bir tablonun adını almak için bu üye işlevini çağırın.
CString GetSourceTableName();
Dönüş Değeri
CString
Ekli tablonun kaynak adını belirten nesne veya yerel veri tablosuysa boş bir dize.
Açıklamalar
Ekli tablo, Microsoft Jet veritabanına bağlı başka bir veritabanındaki tablodur. Ekli tablolara ilişkin veriler, diğer uygulamalar tarafından değiştirilebildiği dış veritabanında kalır.
İlgili bilgiler için DAO Yardımı'ndaki "SourceTableName Özelliği" konusuna bakın.
CDaoTableDef::GetValidationRule
Bir tabledef için geçerlilik kuralını almak için bu üye işlevini çağırın.
CString GetValidationRule();
Dönüş Değeri
Bir CString
alandaki verileri değiştirildiğinde veya tabloya eklendiğinde doğrulayan nesne.
Açıklamalar
Doğrulama kuralları güncelleştirme işlemleriyle bağlantılı olarak kullanılır. Tablo tanımı doğrulama kuralı içeriyorsa, veriler değiştirilmeden önce bu tablo tanımına yapılan güncelleştirmelerin önceden belirlenmiş ölçütlerle eşleşmesi gerekir. Değişiklik ölçütle eşleşmiyorsa, GetValidationText değerini içeren bir özel durum oluşturulur. Bir CDaoTableDef
nesne için, bu CString
ekli bir tablo için salt okunur ve temel tablo için okuma/yazmadır.
İlgili bilgiler için DAO Yardımı'ndaki "ValidationRule Özelliği" konusuna bakın.
CDaoTableDef::GetValidationText
Kullanıcı doğrulama kuralıyla eşleşmeyen veriler girdiğinde görüntülenecek dizeyi almak için bu işlevi çağırın.
CString GetValidationText();
Dönüş Değeri
CString
Kullanıcı doğrulama kuralıyla eşleşmeyen veriler girerse görüntülenen metni belirten nesne.
Açıklamalar
Bir CDaoTableDef
nesne için, bu CString
ekli bir tablo için salt okunur ve temel tablo için okuma/yazmadır.
İlgili bilgiler için DAO Yardımı'ndaki "ValidationText Özelliği" konusuna bakın.
CDaoTableDef::IsOpen
Nesnenin CDaoTableDef
şu anda açık olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsOpen() const;
Dönüş Değeri
Nesne açıksa CDaoTableDef
sıfır olmayan; aksi takdirde 0.
Açıklamalar
CDaoTableDef::m_pDatabase
Bu tablo için CDaoDatabase nesnesine yönelik bir işaretçi içerir.
Açıklamalar
CDaoTableDef::m_pDAOTableDef
Nesnenin temel aldığı DAO tablo tanımı nesnesinin OLE arabirimine yönelik CDaoTableDef
bir işaretçi içerir.
Açıklamalar
DAO arabirimine doğrudan erişmeniz gerekiyorsa bu işaretçiyi kullanın.
CDaoTableDef::Open
Veritabanının TableDef koleksiyonuna daha önce kaydedilmiş bir tabledef açmak için bu üye işlevini çağırın.
virtual void Open(LPCTSTR lpszName);
Parametreler
lpszName
Tablo adını belirten bir dize işaretçisi.
Açıklamalar
CDaoTableDef::RefreshLink
Ekli tablonun bağlantı bilgilerini güncelleştirmek için bu üye işlevini çağırın.
void RefreshLink();
Açıklamalar
İlgili CDaoTableDef
nesnede SetConnect'i çağırarak ve sonra bilgileri güncelleştirmek için üye işlevini kullanarak RefreshLink
ekli bir tablonun bağlantı bilgilerini değiştirirsiniz. çağırdığınızda RefreshLink
, ekli tablonun özellikleri değiştirilmez.
Değiştirilen bağlantı bilgilerinin etkin olmasını zorlamak için, bu tablo tanımına dayalı tüm açık CDaoRecordset nesneleri kapatılmalıdır.
İlgili bilgiler için DAO Yardımı'ndaki "RefreshLink Yöntemi" konusuna bakın.
CDaoTableDef::SetAttributes
Bir nesnenin bir veya daha fazla özelliğini gösteren bir CDaoTableDef
değer ayarlar.
void SetAttributes(long lAttributes);
Parametreler
lAttributes
Nesne tarafından CDaoTableDef
temsil edilen tablonun özellikleri ve bu sabitlerin toplamı olabilir:
Sabit | Açıklama |
---|---|
dbAttachExclusive |
Microsoft Jet veritabanı altyapısını kullanan veritabanları için, tablonun özel kullanım için açılmış ekli bir tablo olduğunu gösterir. |
dbAttachSavePWD |
Microsoft Jet veritabanı altyapısını kullanan veritabanları için, ekli tablonun kullanıcı kimliğinin ve parolasının bağlantı bilgileriyle birlikte kaydedildiğini gösterir. |
dbSystemObject |
Tablonun Microsoft Jet veritabanı altyapısı tarafından sağlanan bir sistem tablosu olduğunu gösterir. |
dbHiddenObject |
Tablonun Microsoft Jet veritabanı altyapısı tarafından sağlanan gizli bir tablo olduğunu gösterir. |
Açıklamalar
Birden çok öznitelik ayarlarken, bit düzeyinde OR işlecini kullanarak uygun sabitleri toplayarak bunları birleştirebilirsiniz. Eklenmemiş bir tabloda ayar dbAttachExclusive
bir özel durum oluşturur. Aşağıdaki değerlerin birleştirilmesi de bir özel durum oluşturur:
dbAttachExclusive | dbAttachedODBC
dbAttachSavePWD | dbAttachedTable
İlgili bilgiler için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.
CDaoTableDef::SetConnect
Ekli tabloyu temsil eden bir CDaoTableDef
nesne için dize nesnesi bir veya iki bölümden (veritabanı türü tanımlayıcısı ve veritabanının yolu) oluşur.
void SetConnect(LPCTSTR lpszConnect);
Parametreler
lpszConnect
ODBC veya yüklenebilir ISAM sürücülerine geçirmek için ek parametreler belirten bir dize ifadesi işaretçisi.
Açıklamalar
Aşağıdaki tabloda gösterildiği gibi yol, veritabanı dosyalarını içeren dizinin tam yoludur ve önünde "DATABASE=" tanımlayıcısı bulunmalıdır. Bazı durumlarda (Microsoft Jet ve Microsoft Excel veritabanlarında olduğu gibi) veritabanı yolu bağımsız değişkenine belirli bir dosya adı eklenir.
Not
"DATABASE=drive:\\path" formunun eşittir oturum açma yolu deyimlerinin çevresine boşluk eklemeyin. Bu, bir özel durum oluşturma ve bağlantının başarısız olmasına neden olur.
Aşağıdaki tabloda olası veritabanı türleri ile ilgili veritabanı tanımlayıcıları ve yolları gösterilmektedir:
Veritabanı türü | Belirleyici | Yol |
---|---|---|
Jet veritabanı altyapısını kullanan veritabanı | "[ database ];" |
" drive :\\ yol\\ dosya adı. MDB" |
dBASE III | "dBASE III;" | " drive :\\ path" |
dBASE IV | "dBASE IV;" | " drive :\\ path" |
dBASE 5 | "dBASE 5.0;" | " drive :\\ path" |
Paradox 3.x | "Paradox 3.x;" | " drive :\\ path" |
Paradox 4.x | "Paradox 4.x;" | " drive :\\ path" |
Paradox 5.x | "Paradox 5.x;" | " drive :\\ path" |
Excel 3.0 | "Excel 3.0;" | " drive :\\ path\\ filename.XLS" |
Excel 4.0 | "Excel 4.0;" | " drive :\\ path\\ filename.XLS" |
Excel 5.0 veya Excel 95 | "Excel 5.0;" | " drive :\\ path\\ filename.XLS" |
Excel 97 | "Excel 8.0;" | " drive :\\ path\ filename.XLS" |
HTML İçeri Aktarma | "HTML İçeri Aktarma;" | " drive :\\ path\ filename" |
HTML Dışarı Aktarma | "HTML Dışarı Aktarma;" | " drive :\\ path" |
Metin | "Metin;" | "sürücü:\\path" |
ODBC | "ODBC; DATABASE= database ; UID= kullanıcı; PWD= parola; DSN= veri kaynağı adı; LOGINTIMEOUT= seconds;" (Bu, tüm sunucular için tam bir bağlantı dizesi olmayabilir; yalnızca bir örnektir. Parametreler arasında boşluk olmaması çok önemlidir.) |
Hiçbiri |
Exchange | "Değişim; MAPILEVEL= klasör yolu; [TABLETYPE={ 0 | 1 };] [PROFILE= profile;] [PWD= parola;] [DATABASE= database ;]" |
"sürücü:\\ yol\\ dosya adı. MDB" |
Not
Btrieve artık DAO 3.5 itibarıyla desteklenmiyor.
bağlantı dizesi çift ters eğik çizgi (\\) kullanmanız gerekir. kullanarak SetConnect
mevcut bir bağlantının özelliklerini değiştirdiyseniz, daha sonra RefreshLink'i çağırmanız gerekir. kullanarak SetConnect
bağlantı özelliklerini başlatıyorsanız çağrısı RefreshLink
yapmanız gerekmez, ancak bunu yapmayı seçerseniz, önce tabledef öğesini eklersiniz.
Parola gerekliyse ancak sağlanmadıysa, ODBC sürücüsü bir tabloya ilk kez erişildiğinde ve bağlantı kapatılıp yeniden açıldığında bir oturum açma iletişim kutusu görüntüler.
Üye işlevine bir kaynak bağımsız değişken Create
sağlayarak nesnenin CDaoTableDef
bağlantı dizesi ayarlayabilirsiniz. Veritabanının türünü, yolunu, kullanıcı kimliğini, parolasını veya ODBC veri kaynağını belirlemek için ayarı de kontrol edebilirsiniz. Daha fazla bilgi için belirli bir sürücüye ilişkin belgelere bakın.
İlgili bilgiler için DAO Yardımı'ndaki "Özelliği Bağlama" konusuna bakın.
CDaoTableDef::SetName
Tablo için kullanıcı tanımlı bir ad ayarlamak için bu üye işlevini çağır.
void SetName(LPCTSTR lpszName);
Parametreler
lpszName
Tablo için bir ad belirten dize ifadesinin işaretçisi.
Açıklamalar
Ad bir harfle başlamalıdır ve en fazla 64 karakter içerebilir. Sayılar ve alt çizgi karakterleri içerebilir, ancak noktalama işaretleri veya boşluklar içeremez.
İlgili bilgiler için DAO Yardımı'ndaki "Ad Özelliği" konusuna bakın.
CDaoTableDef::SetSourceTableName
Ekli bir tablonun adını veya nesnenin temel aldığı CDaoTableDef
temel tablonun adını( verilerin özgün kaynağında var olduğu gibi) belirtmek için bu üye işlevini çağırın.
void SetSourceTableName(LPCTSTR lpszSrcTableName);
Parametreler
lpszSrcTableName
Dış veritabanında tablo adını belirten bir dize ifadesinin işaretçisi. Temel tablo için ayar boş bir dizedir ("").
Açıklamalar
Ardından RefreshLink'i çağırmanız gerekir. Bu özellik ayarı temel tablo için boştur ve ekli bir tablo veya koleksiyona eklenmemiş bir nesne için okuma/yazma.
İlgili bilgiler için DAO Yardımı'ndaki "SourceTableName Özelliği" konusuna bakın.
CDaoTableDef::SetValidationRule
Bir tabledef için geçerlilik kuralı ayarlamak için bu üye işlevini çağır.
void SetValidationRule(LPCTSTR lpszValidationRule);
Parametreler
lpszValidationRule
bir işlemi doğrulayan bir dize ifadesinin işaretçisi.
Açıklamalar
Doğrulama kuralları güncelleştirme işlemleriyle bağlantılı olarak kullanılır. Tablo tanımı doğrulama kuralı içeriyorsa, veriler değiştirilmeden önce bu tablo tanımına yapılan güncelleştirmelerin önceden belirlenmiş ölçütlerle eşleşmesi gerekir. Değişiklik ölçütlere uymuyorsa, GetValidationText metnini içeren bir özel durum görüntülenir.
Doğrulama yalnızca Microsoft Jet veritabanı altyapısını kullanan veritabanları için desteklenir. İfade kullanıcı tanımlı işlevlere, etki alanı toplama işlevlerine, SQL toplama işlevlerine veya sorgulara başvuramaz. Bir nesnenin CDaoTableDef
geçerlilik kuralı, bu nesnedeki birden çok alana başvurabilir.
Örneğin, hire_date ve termination_date adlı alanlar için geçerlilik kuralı şu olabilir:
myTableDef.SetValidationRule(_T("termination_date > hire_date"));
İlgili bilgiler için DAO Yardımı'ndaki "ValidationRule Özelliği" konusuna bakın.
CDaoTableDef::SetValidationText
Microsoft Jet veritabanı altyapısı tarafından desteklenen temel bir temel tabloya sahip bir CDaoTableDef
nesne için doğrulama kuralının özel durum metnini ayarlamak için bu üye işlevini çağırın.
void SetValidationText(LPCTSTR lpszValidationText);
Parametreler
lpszValidationText
Girilen veriler geçersizse görüntülenen metni belirten bir dize ifadesi işaretçisi.
Açıklamalar
Ekli tablonun doğrulama metnini ayarlayamazsınız.
İlgili bilgiler için DAO Yardımı'ndaki "ValidationText Özelliği" konusuna bakın.
Ayrıca bkz.
CObject Sınıfı
Hiyerarşi Grafiği
CDaoDatabase Sınıfı
CDaoRecordset Sınıfı