Aracılığıyla paylaş


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 ve SetSourceTableName üye işlevlerini çağırın RefreshLink 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 SetValidationRuleGetValidationText SetValidationText üye işlevlerini kullanarak GetValidationRule 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

  1. Her durumda, önce tablonun ait olduğu CDaoDatabase nesnesine bir işaretçi sağlayarak bir nesne oluştururCDaoTableDef.

  2. 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ıktan Create sonra çağırmayın Open.

      İ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

CObject

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 Appendgerekir.

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 Closesonra ile newayrı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 Appendsonra 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ü CreateFieldkullanabilirsiniz.

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ı dizisine CDaoIndexFieldInfo işaret etmelidir.

  • m_nFields Yapı dizisindeki CDaoFieldInfo 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 Tablo

  • AFX_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

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 SetConnectmevcut bir bağlantının özelliklerini değiştirdiyseniz, daha sonra RefreshLink'i çağırmanız gerekir. kullanarak SetConnectbağlantı özelliklerini başlatıyorsanız çağrısı RefreshLinkyapmanı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ı