Share via


CDaoTableDef-Klasse

Stellt die gespeicherte Definition einer Basistabelle oder einer angefügten Tabelle dar.

Syntax

class CDaoTableDef : public CObject

Member

Öffentliche Konstruktoren

Name Beschreibung
CDaoTableDef::CDaoTableDef Erstellt ein CDaoTableDef-Objekt.

Öffentliche Methoden

Name Beschreibung
CDaoTableDef::Append Fügt der Datenbank eine neue Tabelle hinzu.
CDaoTableDef::CanUpdate Gibt "nonzero" zurück, wenn die Tabelle aktualisiert werden kann (Sie können die Definition von Feldern oder die Tabelleneigenschaften ändern).
CDaoTableDef::Close Schließt eine geöffnete Tabelle.
CDaoTableDef::Create Erstellt eine Tabelle, die der Datenbank mithilfe von Append hinzugefügt werden kann.
CDaoTableDef::CreateField Wird aufgerufen, um ein Feld für eine Tabelle zu erstellen.
CDaoTableDef::CreateIndex Wird aufgerufen, um einen Index für eine Tabelle zu erstellen.
CDaoTableDef::D eleteField Wird aufgerufen, um ein Feld aus einer Tabelle zu löschen.
CDaoTableDef::D eleteIndex Wird aufgerufen, um einen Index aus einer Tabelle zu löschen.
CDaoTableDef::GetAttributes Gibt einen Wert zurück, der ein oder mehrere Merkmale eines CDaoTableDef Objekts angibt.
CDaoTableDef::Get Verbinden Gibt einen Wert zurück, der Informationen zur Quelle einer Tabelle bereitstellt.
CDaoTableDef::GetDateCreated Gibt das Datum und die Uhrzeit der Basistabelle zurück, die einem CDaoTableDef Objekt zugrunde liegt.
CDaoTableDef::GetDateLastUpdated Gibt das Datum und die Uhrzeit der letzten Änderung zurück, die am Entwurf der Basistabelle vorgenommen wurde.
CDaoTableDef::GetFieldCount Gibt einen Wert zurück, der die Anzahl der Felder in der Tabelle darstellt.
CDaoTableDef::GetFieldInfo Gibt bestimmte Arten von Informationen zu den Feldern in der Tabelle zurück.
CDaoTableDef::GetIndexCount Gibt die Anzahl der Indizes für die Tabelle zurück.
CDaoTableDef::GetIndexInfo Gibt bestimmte Arten von Informationen zu den Indizes für die Tabelle zurück.
CDaoTableDef::GetName Gibt den benutzerdefinierten Namen der Tabelle zurück.
CDaoTableDef::GetRecordCount Gibt die Anzahl der Datensätze in der Tabelle zurück.
CDaoTableDef::GetSourceTableName Gibt einen Wert zurück, der den Namen der angefügten Tabelle in der Quelldatenbank angibt.
CDaoTableDef::GetValidationRule Gibt einen Wert zurück, der die Daten in einem Feld überprüft, während es geändert oder einer Tabelle hinzugefügt wird.
CDaoTableDef::GetValidationText Gibt einen Wert zurück, der den Text der Meldung angibt, die von der Anwendung angezeigt wird, wenn der Wert eines Field -Objekts nicht der angegebenen Gültigkeitsprüfungsregel entspricht.
CDaoTableDef::IsOpen Gibt einen Wert ungleich Null zurück, wenn die Tabelle geöffnet ist.
CDaoTableDef::Open Öffnet eine vorhandene Tabelle, die in der TableDef-Auflistung der Datenbank gespeichert ist.
CDaoTableDef::RefreshLink Aktualisiert die Verbindungsinformationen für eine angefügte Tabelle.
CDaoTableDef::SetAttributes Legt einen Wert fest, der ein oder mehrere Merkmale eines CDaoTableDef Objekts angibt.
CDaoTableDef::Set Verbinden Legt einen Wert fest, der Informationen zur Quelle einer Tabelle bereitstellt.
CDaoTableDef::SetName Legt den Namen der Tabelle fest.
CDaoTableDef::SetSourceTableName Legt einen Wert fest, der den Namen einer angefügten Tabelle in der Quelldatenbank angibt.
CDaoTableDef::SetValidationRule Legt einen Wert fest, der die Daten in einem Feld überprüft, während es geändert oder einer Tabelle hinzugefügt wird.
CDaoTableDef::SetValidationText Legt einen Wert fest, der den Text der Meldung angibt, die von der Anwendung angezeigt wird, wenn der Wert eines Field -Objekts die angegebene Gültigkeitsprüfungsregel nicht erfüllt.

Öffentliche Datenmember

Name Beschreibung
CDaoTableDef::m_pDAOTableDef Ein Zeiger auf die DAO-Schnittstelle, die dem Tabledef-Objekt zugrunde liegt.
CDaoTableDef::m_pDatabase Quelldatenbank für diese Tabelle.

Hinweise

Jedes DAO-Datenbankobjekt Standard enthält eine Auflistung namens TableDefs, die alle gespeicherten DAO-Tabledef-Objekte enthält.

Sie bearbeiten eine Tabellendefinition mithilfe eines CDaoTableDef Objekts. So können Sie beispielsweise Folgendes ausführen:

  • Untersuchen Sie die Feld- und Indexstruktur einer lokalen, angefügten oder externen Tabelle in einer Datenbank.

  • Rufen Sie die SetConnect Funktionen und SetSourceTableName Memberfunktionen für angefügte Tabellen auf, und verwenden Sie die RefreshLink Memberfunktion, um Verbindungen mit angefügten Tabellen zu aktualisieren.

  • Rufen Sie die CanUpdate Memberfunktion auf, um festzustellen, ob Felddefinitionen in der Tabelle bearbeitet werden können.

  • Dient zum Abrufen oder Festlegen von Überprüfungsbedingungen mithilfe der GetValidationRule UndSetValidationRule- und Memberfunktionen und SetValidationText der GetValidationText Memberfunktionen.

  • Verwenden Sie die Open Memberfunktion, um ein Tabellen-, Dynaset- oder Momentaufnahme-Typobjekt CDaoRecordset zu erstellen.

    Hinweis

    Die DAO-Datenbankklassen unterscheiden sich von den MFC-Datenbankklassen basierend auf Open Database Verbinden ivity (ODBC). Alle DAO-Datenbankklassennamen weisen das Präfix "CDao" auf. Sie können weiterhin auf ODBC-Datenquellen mit den DAO-Klassen zugreifen. Die DAO-Klassen bieten im Allgemeinen überlegene Funktionen, da sie spezifisch für das Microsoft Jet-Datenbankmodul sind.

So verwenden Sie Tabledef-Objekte entweder zum Arbeiten mit einer vorhandenen Tabelle oder zum Erstellen einer neuen Tabelle

  1. Erstellen Sie in allen Fällen zuerst ein CDaoTableDef Objekt, und stellen Sie einen Zeiger auf ein CDaoDatabase-Objekt bereit, zu dem die Tabelle gehört.

  2. Gehen Sie dann wie folgt vor, je nachdem, was Sie möchten:

    • Um eine vorhandene gespeicherte Tabelle zu verwenden, rufen Sie die Open-Memberfunktion des Tabledef-Objekts auf, und geben Sie den Namen der gespeicherten Tabelle an.

    • Rufen Sie zum Erstellen einer neuen Tabelle die Create-Memberfunktion des Tabledef-Objekts auf, und geben Sie den Namen der Tabelle an. Rufen Sie CreateField und CreateIndex auf, um der Tabelle Felder und Indizes hinzuzufügen.

    • Rufen Sie "Anfügen" auf, um die Tabelle zu speichern, indem Sie sie an die TableDefs-Auflistung der Datenbank anfügen. Create legt den Tabledef in einen geöffneten Zustand, sodass Sie nach dem Aufrufen nicht aufrufen CreateOpen.

      Tipp

      Die einfachste Möglichkeit zum Erstellen gespeicherter Tabellen besteht darin, sie zu erstellen und sie mithilfe von Microsoft Access in Ihrer Datenbank zu speichern. Anschließend können Sie sie in Ihrem MFC-Code öffnen und verwenden.

Um das tabledef-Objekt zu verwenden, das Sie geöffnet oder erstellt haben, erstellen und öffnen Sie ein CDaoRecordset Objekt, und geben Sie den Namen der Tabledef mit einem dbOpenTable Wert im nOpenType-Parameter an.

Um ein Tabledef-Objekt zum Erstellen eines CDaoRecordset Objekts zu verwenden, erstellen oder öffnen Sie in der Regel eine Tabledef wie oben beschrieben, und erstellen Sie dann ein Recordset-Objekt, indem Sie einen Zeiger auf das Tabledef-Objekt übergeben, wenn Sie CDaoRecordset::Open aufrufen. Der übergebene Tabledef muss sich in einem geöffneten Zustand befinden. Weitere Informationen finden Sie unter " CDaoRecordset".

Wenn Sie mit der Verwendung eines Tabledef-Objekts fertig sind, rufen Sie die Close-Member-Funktion auf, und zerstören Sie dann das Tabledef-Objekt.

Vererbungshierarchie

CObject

CDaoTableDef

Anforderungen

Header: afxdao.h

CDaoTableDef::Append

Rufen Sie diese Memberfunktion auf, nachdem Sie Create aufgerufen haben, um ein neues tabledef-Objekt zu erstellen, um die Tabelle in der Datenbank zu speichern.

virtual void Append();

Hinweise

Die Funktion fügt das Objekt an die TableDefs-Auflistung der Datenbank an. Sie können das Tabledef-Objekt beim Definieren als temporäres Objekt verwenden, indem Sie es nicht anfügen, aber wenn Sie es speichern und verwenden möchten, müssen Sie aufrufen Append.

Hinweis

Wenn Sie versuchen, eine unbenannte Tabledef anzufügen (die eine NULL- oder leere Zeichenfolge enthält), löst MFC eine Ausnahme aus.

Verwandte Informationen finden Sie im Thema "Append-Methode" in der DAO-Hilfe.

CDaoTableDef::CanUpdate

Rufen Sie diese Memberfunktion auf, um zu bestimmen, ob die Definition der Tabelle, die einem CDaoTableDef Objekt zugrunde liegt, geändert werden kann.

BOOL CanUpdate();

Rückgabewert

Nonzero, wenn die Tabellenstruktur (Schema) geändert werden kann (Felder und Indizes hinzufügen oder löschen), andernfalls 0.

Hinweise

Standardmäßig kann eine neu erstellte Tabelle, die einem CDaoTableDef Objekt zugrunde liegt, aktualisiert werden, und eine angefügte Tabelle, die einem CDaoTableDef Objekt zugrunde liegt, kann nicht aktualisiert werden. Ein CDaoTableDef Objekt kann aktualisierbar sein, auch wenn das resultierende Recordset nicht aktualisierbar ist.

Verwandte Informationen finden Sie im Thema "Aktualisierbare Eigenschaft" in der DAO-Hilfe.

CDaoTableDef::CDaoTableDef

Erstellt ein CDaoTableDef-Objekt.

CDaoTableDef(CDaoDatabase* pDatabase);

Parameter

pDatabase
Ein Zeiger auf ein CDaoDatabase-Objekt .

Hinweise

Nach dem Erstellen des Objekts müssen Sie die Create - oder Open-Memberfunktion aufrufen. Wenn Sie mit dem Objekt fertig sind, müssen Sie dessen Close-Memberfunktion aufrufen und das CDaoTableDef Objekt zerstören.

CDaoTableDef::Close

Rufen Sie diese Memberfunktion auf, um das tabledef-Objekt zu schließen und freizugeben.

virtual void Close();

Hinweise

In der Regel nach dem Aufrufen Closelöschen Sie das tabledef-Objekt, wenn es zugeordnet newwurde.

Sie können "Öffnen" nach dem Aufrufen Closeerneut aufrufen. Auf diese Weise können Sie das tabledef-Objekt wiederverwenden.

Verwandte Informationen finden Sie im Thema "Close Method" in der DAO-Hilfe.

CDaoTableDef::Create

Rufen Sie diese Memberfunktion auf, um eine neue gespeicherte Tabelle zu erstellen.

virtual void Create(
    LPCTSTR lpszName,
    long lAttributes = 0,
    LPCTSTR lpszSrcTable = NULL,
    LPCTSTR lpszConnect = NULL);

Parameter

lpszName
Ein Zeiger auf eine Zeichenfolge, die den Namen der Tabelle enthält.

lAttributes
Ein Wert, der den Merkmalen der Tabelle entspricht, die durch das Tabledef-Objekt dargestellt wird. Sie können die bitweise ODER verwenden, um eine der folgenden Konstanten zu kombinieren:

Konstante Beschreibung
dbAttachExclusive Für Datenbanken, die das Microsoft Jet-Datenbankmodul verwenden, gibt an, dass die Tabelle eine angefügte Tabelle ist, die zur exklusiven Verwendung geöffnet wird.
dbAttachSavePWD Gibt für Datenbanken, die das Microsoft Jet-Datenbankmodul verwenden, an, dass die Benutzer-ID und das Kennwort für die angefügte Tabelle mit den Verbindungsinformationen gespeichert werden.
dbSystemObject Gibt an, dass die Tabelle eine Systemtabelle ist, die vom Microsoft Jet-Datenbankmodul bereitgestellt wird.
dbHiddenObject Gibt an, dass die Tabelle eine ausgeblendete Tabelle ist, die vom Microsoft Jet-Datenbankmodul bereitgestellt wird.

lpszSrcTable
Ein Zeiger auf eine Zeichenfolge, die den Quelltabellennamen enthält. Standardmäßig wird dieser Wert als NULL initialisiert.

lpsz Verbinden
Ein Zeiger auf eine Zeichenfolge, die den Standard-Verbindungszeichenfolge enthält. Standardmäßig wird dieser Wert als NULL initialisiert.

Hinweise

Nachdem Sie den Tabledef benannt haben, können Sie "Append" aufrufen, um den Tabledef in der TableDefs-Auflistung der Datenbank zu speichern. Nach dem Aufrufen Appendbefindet sich der tabledef in einem geöffneten Zustand, und Sie können es verwenden, um ein CDaoRecordset-Objekt zu erstellen.

Verwandte Informationen finden Sie im Thema "CreateTableDef-Methode" in der DAO-Hilfe.

CDaoTableDef::CreateField

Rufen Sie diese Memberfunktion auf, um der Tabelle ein Feld hinzuzufügen.

void CreateField(
    LPCTSTR lpszName,
    short nType,
    long lSize,
    long lAttributes = 0);

void CreateField(CDaoFieldInfo& fieldinfo);

Parameter

lpszName
Ein Zeiger auf einen Zeichenfolgenausdruck, der den Namen dieses Felds angibt.

nType
Ein Wert, der den Datentyp des Felds angibt. Bei der Einstellung kann es sich um einen der folgenden Werte handeln:

Typ Größe (Byte) Beschreibung
dbBoolean 1 Byte BOOL
dbByte BYTE
dbInteger 2 INT
dbLong 4 lang
dbCurrency 8 Currency ( COleCurrency)
dbSingle 4 float
dbDouble 8 double
dbDate 8 Date/Time ( COleDateTime)
dbText 1 - 255 Text ( CString)
dbLongBinary 0 Long Binary (OLE-Objekt), CLongBinary oder CByteArray
dbMemo 0 Memo ( CString)

lSize
Ein Wert, der die maximale Größe eines Felds in Bytes angibt, das Text enthält, oder die feste Größe eines Felds, das Text oder numerische Werte enthält. Der lSize-Parameter wird für alle Textfelder außer Text ignoriert.

lAttributes
Ein Wert, der den Merkmalen des Felds entspricht und die mit einem bitweisen OR kombiniert werden kann.

Konstante Beschreibung
dbFixedField Die Feldgröße ist fest (Standardeinstellung für numerische Felder).
dbVariableField Die Feldgröße ist variabel (nur Textfelder).
dbAutoIncrField Der Feldwert für neue Datensätze wird automatisch auf eine eindeutige lange ganze Zahl erhöht, die nicht geändert werden kann. Wird nur für Microsoft Jet-Datenbanktabellen unterstützt.
dbUpdatableField Der Feldwert kann geändert werden.
dbDescending Das Feld wird in absteigender Reihenfolge (Z - A oder 100 - 0) sortiert (gilt nur für ein Field-Objekt in einer Fields-Auflistung eines Index-Objekts). Wenn Sie diese Konstante weglassen, wird das Feld in aufsteigender Reihenfolge (A - Z oder 0 - 100) (Standard) sortiert.

Fieldinfo
Ein Verweis auf eine CDaoFieldInfo-Struktur .

Hinweise

Ein DAOField (OLE)-Objekt wird erstellt und an die Fields-Auflistung des DAOTableDef (OLE)-Objekts angefügt. Neben der Verwendung zum Untersuchen von Objekteigenschaften können Sie auch CDaoFieldInfo einen Eingabeparameter zum Erstellen neuer Felder in einer Tabledef erstellen. Die erste Version von CreateField ist einfacher zu verwenden, aber wenn Sie eine genauere Steuerung wünschen, können Sie die zweite Version verwenden, von CreateFieldder ein CDaoFieldInfo Parameter verwendet wird.

Wenn Sie die Version dieses CreateFieldCDaoFieldInfo Parameters verwenden, müssen Sie die folgenden Elemente der CDaoFieldInfo Struktur sorgfältig festlegen:

  • m_strName

  • m_nType

  • m_lSize

  • m_lAttributes

  • m_bAllowZeroLength

Die neu Standard Elemente von CDaoFieldInfo sollten auf 0, FALSE oder eine leere Zeichenfolge festgelegt werden, je nach Bedarf für das Element, oder eine CDaoException kann auftreten.

Verwandte Informationen finden Sie im Thema "CreateField-Methode" in der DAO-Hilfe.

CDaoTableDef::CreateIndex

Rufen Sie diese Funktion auf, um einer Tabelle einen Index hinzuzufügen.

void CreateIndex(CDaoIndexInfo& indexinfo);

Parameter

indexinfo
Ein Verweis auf eine CDaoIndexInfo-Struktur .

Hinweise

Indizes geben die Reihenfolge der Datensätze an, auf die aus Datenbanktabellen zugegriffen wird und ob doppelte Datensätze akzeptiert werden. Indizes bieten auch einen effizienten Zugriff auf Daten.

Sie müssen keine Indizes für Tabellen erstellen, aber in großen, nicht indizierten Tabellen kann der Zugriff auf einen bestimmten Datensatz oder das Erstellen eines Recordsets sehr lange dauern. Andererseits verlangsamt das Erstellen zu vieler Indizes Aktualisierungs-, Anfüge- und Löschvorgänge, da alle Indizes automatisch aktualisiert werden. Berücksichtigen Sie diese Faktoren, wenn Sie entscheiden, welche Indizes erstellt werden sollen.

Die folgenden Elemente der CDaoIndexInfo Struktur müssen festgelegt werden:

  • m_strName Es muss ein Name angegeben werden.

  • m_pFieldInfos Muss auf ein Array von CDaoIndexFieldInfo Strukturen verweisen.

  • m_nFields Muss die Anzahl der Felder im Array von CDaoFieldInfo Strukturen angeben.

Die neu Standard elemente werden ignoriert, wenn sie auf FALSE festgelegt sind. Darüber hinaus wird das m_lDistinctCount Element beim Erstellen des Indexes ignoriert.

CDaoTableDef::D eleteField

Rufen Sie diese Memberfunktion auf, um ein Feld zu entfernen und darauf nicht zugreifen zu können.

void DeleteField(LPCTSTR lpszName);
void DeleteField(int nIndex);

Parameter

lpszName
Ein Zeiger auf einen Zeichenfolgenausdruck, der den Namen eines vorhandenen Felds darstellt.

nIndex
Der Index des Felds in der nullbasierten Fields-Auflistung der Tabelle für die Suche nach Index.

Hinweise

Sie können diese Memberfunktion für ein neues Objekt verwenden, das nicht an die Datenbank angefügt wurde oder wenn CanUpdate nonzero zurückgibt.

Verwandte Informationen finden Sie im Thema "Delete Method" in der DAO-Hilfe.

CDaoTableDef::D eleteIndex

Rufen Sie diese Memberfunktion auf, um einen Index in einer zugrunde liegenden Tabelle zu löschen.

void DeleteIndex(LPCTSTR lpszName);
void DeleteIndex(int nIndex);

Parameter

lpszName
Ein Zeiger auf einen Zeichenfolgenausdruck, der den Namen eines vorhandenen Indexes darstellt.

nIndex
Der Arrayindex des Indexobjekts in der nullbasierten TableDefs-Auflistung der Datenbank für die Suche nach Index.

Hinweise

Sie können diese Memberfunktion für ein neues Objekt verwenden, das nicht an die Datenbank angefügt wurde oder wenn CanUpdate nonzero zurückgibt.

Verwandte Informationen finden Sie im Thema "Delete Method" in der DAO-Hilfe.

CDaoTableDef::GetAttributes

Für ein CDaoTableDef Objekt gibt der Rückgabewert Merkmale der Durch das CDaoTableDef Objekt dargestellten Tabelle an und kann eine Summe dieser Konstanten sein:

long GetAttributes();

Rückgabewert

Gibt einen Wert zurück, der ein oder mehrere Merkmale eines CDaoTableDef Objekts angibt.

Hinweise

Konstante Beschreibung
dbAttachExclusive Für Datenbanken, die das Microsoft Jet-Datenbankmodul verwenden, gibt an, dass die Tabelle eine angefügte Tabelle ist, die zur exklusiven Verwendung geöffnet wird.
dbAttachSavePWD Gibt für Datenbanken, die das Microsoft Jet-Datenbankmodul verwenden, an, dass die Benutzer-ID und das Kennwort für die angefügte Tabelle mit den Verbindungsinformationen gespeichert werden.
dbSystemObject Gibt an, dass die Tabelle eine Systemtabelle ist, die vom Microsoft Jet-Datenbankmodul bereitgestellt wird.
dbHiddenObject Gibt an, dass die Tabelle eine ausgeblendete Tabelle ist, die vom Microsoft Jet-Datenbankmodul bereitgestellt wird.
dbAttachedTable Gibt an, dass die Tabelle eine angefügte Tabelle aus einer Nicht-ODBC-Datenbank ist, z. B. eine Paradox-Datenbank.
dbAttachedODBC Gibt an, dass die Tabelle eine angefügte Tabelle aus einer ODBC-Datenbank ist, z. B. Microsoft SQL Server.

Eine Systemtabelle ist eine Vom Microsoft Jet-Datenbankmodul erstellte Tabelle, die verschiedene interne Informationen enthält.

Eine ausgeblendete Tabelle ist eine Tabelle, die für die temporäre Verwendung durch das Microsoft Jet-Datenbankmodul erstellt wird.

Verwandte Informationen finden Sie im Thema "Attributes Property" in der DAO-Hilfe.

CDaoTableDef::Get Verbinden

Rufen Sie diese Memberfunktion auf, um die Verbindungszeichenfolge für eine Datenquelle abzurufen.

CString GetConnect();

Rückgabewert

Ein CString Objekt, das den Pfad und den Datenbanktyp für die Tabelle enthält.

Hinweise

Für ein CDaoTableDef Objekt, das eine angefügte Tabelle darstellt, besteht das CString Objekt aus einem oder zwei Teilen (einem Datenbanktypbezeichner und einem Pfad zur Datenbank).

Der Pfad, wie in der folgenden Tabelle dargestellt, ist der vollständige Pfad für das Verzeichnis, das die Datenbankdateien enthält, und muss dem Bezeichner "DATABASE=" vorangestellt sein. In einigen Fällen (wie bei Microsoft Jet- und Microsoft Excel-Datenbanken) ist ein bestimmter Dateiname im Argument "Datenbankpfad" enthalten.

Die Tabelle in CDaoTableDef::Set Verbinden zeigt mögliche Datenbanktypen und die entsprechenden Datenbankbezeichner und Pfade an:

Bei Microsoft Jet-Datenbankbasistabellen ist der Bezeichner eine leere Zeichenfolge ("").

Wenn ein Kennwort erforderlich, aber nicht angegeben ist, zeigt der ODBC-Treiber ein Anmeldedialogfeld an, wenn zum ersten Mal auf eine Tabelle zugegriffen wird, und erneut, wenn die Verbindung geschlossen und erneut geöffnet wird. Wenn eine angefügte Tabelle über das dbAttachSavePWD Attribut verfügt, wird die Anmeldeaufforderung nicht angezeigt, wenn die Tabelle erneut geöffnet wird.

Verwandte Informationen finden Sie im Thema "Verbinden-Eigenschaft" in der DAO-Hilfe.

CDaoTableDef::GetDateCreated

Rufen Sie diese Funktion auf, um das Datum und die Uhrzeit der Tabelle zu bestimmen, die dem CDaoTableDef Objekt zugrunde liegt.

COleDateTime GetDateCreated();

Rückgabewert

Ein Wert, der das Datum und die Uhrzeit der Erstellung der Tabelle enthält, die dem CDaoTableDef Objekt zugrunde liegt.

Hinweise

Die Datums- und Uhrzeiteinstellungen werden vom Computer abgeleitet, auf dem die Basistabelle erstellt oder zuletzt aktualisiert wurde. In einer Mehrbenutzerumgebung sollten Benutzer diese Einstellungen direkt vom Dateiserver abrufen, um Diskrepanzen zu vermeiden. Das heißt, alle Clients sollten eine "Standardzeitquelle" verwenden – vielleicht von einem Server.

Verwandte Informationen finden Sie im Thema "DateCreated, LastUpdated Properties" in der DAO-Hilfe.

CDaoTableDef::GetDateLastUpdated

Rufen Sie diese Funktion auf, um das Datum und die Uhrzeit der letzten Aktualisierung der Tabelle zu bestimmen, die dem CDaoTableDef Objekt zugrunde liegt.

COleDateTime GetDateLastUpdated();

Rückgabewert

Ein Wert, der das Datum und die Uhrzeit enthält, zu der die Tabelle, die dem Objekt zugrunde liegt, CDaoTableDef zuletzt aktualisiert wurde.

Hinweise

Die Datums- und Uhrzeiteinstellungen werden vom Computer abgeleitet, auf dem die Basistabelle erstellt oder zuletzt aktualisiert wurde. In einer Mehrbenutzerumgebung sollten Benutzer diese Einstellungen direkt vom Dateiserver abrufen, um Diskrepanzen zu vermeiden. Das heißt, alle Clients sollten eine "Standardzeitquelle" verwenden – vielleicht von einem Server.

Verwandte Informationen finden Sie im Thema "DateCreated, LastUpdated Properties" in der DAO-Hilfe.

CDaoTableDef::GetFieldCount

Rufen Sie diese Memberfunktion auf, um die Anzahl der in der Tabelle definierten Felder abzurufen.

short GetFieldCount();

Rückgabewert

Die Anzahl der Felder in der Tabelle.

Hinweise

Wenn der Wert 0 ist, gibt es keine Objekte in der Auflistung.

Verwandte Informationen finden Sie im Thema "Count Property" in der DAO-Hilfe.

CDaoTableDef::GetFieldInfo

Rufen Sie diese Memberfunktion auf, um verschiedene Arten von Informationen zu einem feld abzurufen, das in der Tabelledef definiert ist.

void GetFieldInfo(
    int nIndex,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetFieldInfo(
    LPCTSTR lpszName,
    CDaoFieldInfo& fieldinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parameter

nIndex
Der Index des Feldobjekts in der nullbasierten Fields-Auflistung der Tabelle für die Suche nach Index.

Fieldinfo
Ein Verweis auf eine CDaoFieldInfo-Struktur .

dwInfoOptions
Optionen, die angeben, welche Informationen zu dem abzurufenden Feld enthalten sind. Die verfügbaren Optionen werden hier zusammen mit dem aufgeführt, was dazu führt, dass die Funktion zurückgegeben wird:

  • AFX_DAO_PRIMARY_INFO (Standard) Name, Typ, Größe, Attribute. Verwenden Sie diese Option, um die schnellste Leistung zu erzielen.

  • AFX_DAO_SECONDARY_INFO Primäre Informationen plus: Ordnungsposition, Erforderlich, Leere Länge zulassen, Sortierreihenfolge, Fremdname, Quellfeld, Quelltabelle

  • AFX_DAO_ALL_INFO Primäre und sekundäre Informationen sowie: Gültigkeitsprüfungsregel, Gültigkeitstext, Standardwert

lpszName
Ein Zeiger auf den Namen des Feldobjekts, um nach Namen nachzuschlagen. Der Name ist eine Zeichenfolge mit bis zu 64 Zeichen, die das Feld eindeutig benennt.

Hinweise

Mit einer Version der Funktion können Sie ein Feld nach Index nachschlagen. Mit der anderen Version können Sie ein Feld anhand des Namens nachschlagen.

Eine Beschreibung der zurückgegebenen Informationen finden Sie in der CDaoFieldInfo-Struktur . Diese Struktur enthält Elemente, die den oben aufgeführten Informationselementen in der Beschreibung von dwInfoOptions entsprechen. Wenn Sie Informationen auf einer Ebene anfordern, erhalten Sie auch Informationen für alle vorherigen Ebenen.

Verwandte Informationen finden Sie im Thema "Attributes Property" in der DAO-Hilfe.

CDaoTableDef::GetIndexCount

Rufen Sie diese Memberfunktion auf, um die Anzahl der Indizes für eine Tabelle abzurufen.

short GetIndexCount();

Rückgabewert

Die Anzahl der Indizes für die Tabelle.

Hinweise

Wenn der Wert 0 ist, gibt es keine Indizes in der Auflistung.

Verwandte Informationen finden Sie im Thema "Count Property" in der DAO-Hilfe.

CDaoTableDef::GetIndexInfo

Rufen Sie diese Memberfunktion auf, um verschiedene Arten von Informationen zu einem in der Tabelle definierten Index abzurufen.

void GetIndexInfo(
    int nIndex,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

void GetIndexInfo(
    LPCTSTR lpszName,
    CDaoIndexInfo& indexinfo,
    DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO);

Parameter

nIndex
Der numerische Index des Index-Objekts in der nullbasierten Indexes-Auflistung der Tabelle, um nach ihrer Position in der Auflistung nachschlagen zu können.

indexinfo
Ein Verweis auf eine CDaoIndexInfo-Struktur .

dwInfoOptions
Optionen, die angeben, welche Informationen zum abzurufenden Index enthalten sind. Die verfügbaren Optionen werden hier zusammen mit dem aufgeführt, was dazu führt, dass die Funktion zurückgegeben wird:

  • AFX_DAO_PRIMARY_INFO Name, Feldinformationen, Felder. Verwenden Sie diese Option, um die schnellste Leistung zu erzielen.

  • AFX_DAO_SECONDARY_INFO Primäre Informationen plus: Primär, eindeutig, gruppiert, Null ignorieren, Erforderlich, Fremd

  • AFX_DAO_ALL_INFO Primäre und sekundäre Informationen plus: Distinct Count

lpszName
Ein Zeiger auf den Namen des Indexobjekts, um nach Namen nachzuschlagen.

Hinweise

Mit einer Version der Funktion können Sie einen Index anhand seiner Position in der Auflistung nachschlagen. Mit der anderen Version können Sie einen Index anhand des Namens nachschlagen.

Eine Beschreibung der zurückgegebenen Informationen finden Sie in der CDaoIndexInfo-Struktur . Diese Struktur enthält Elemente, die den oben aufgeführten Informationselementen in der Beschreibung von dwInfoOptions entsprechen. Wenn Sie Informationen auf einer Ebene anfordern, erhalten Sie auch Informationen für alle vorherigen Ebenen.

Verwandte Informationen finden Sie im Thema "Attributes Property" in der DAO-Hilfe.

CDaoTableDef::GetName

Rufen Sie diese Memberfunktion auf, um den benutzerdefinierten Namen der zugrunde liegenden Tabelle abzurufen.

CString GetName();

Rückgabewert

Ein benutzerdefinierter Name für eine Tabelle.

Hinweise

Dieser Name beginnt mit einem Buchstaben und kann maximal 64 Zeichen enthalten. Sie kann Zahlen und Unterstriche enthalten, aber keine Interpunktion oder Leerzeichen enthalten.

Verwandte Informationen finden Sie im Thema "Name Property" in der DAO-Hilfe.

CDaoTableDef::GetRecordCount

Rufen Sie diese Memberfunktion auf, um herauszufinden, wie viele Datensätze in einem CDaoTableDef Objekt vorhanden sind.

long GetRecordCount();

Rückgabewert

Die Anzahl der Datensätze, auf die in einem tabledef-Objekt zugegriffen wird.

Hinweise

Das Aufrufen GetRecordCount eines Tabellentypobjekts CDaoTableDef gibt die ungefähre Anzahl von Datensätzen in der Tabelle wieder und ist sofort betroffen, wenn Tabellendatensätze hinzugefügt und gelöscht werden. Zurückgesetzte Transaktionen werden als Teil der Datensatzanzahl angezeigt, bis Sie CDaoWorkSpace::CompactDatabase aufrufen. Ein CDaoTableDef Objekt ohne Datensätze verfügt über eine Datensatzanzahl-Eigenschaftseinstellung von 0. Wenn Sie mit angefügten Tabellen oder ODBC-Datenbanken arbeiten, GetRecordCount wird immer -1 zurückgegeben.

Verwandte Informationen finden Sie im Thema "RecordCount Property" in der DAO-Hilfe.

CDaoTableDef::GetSourceTableName

Rufen Sie diese Memberfunktion auf, um den Namen einer angefügten Tabelle in einer Quelldatenbank abzurufen.

CString GetSourceTableName();

Rückgabewert

Ein CString Objekt, das den Quellnamen einer angefügten Tabelle oder eine leere Zeichenfolge angibt, wenn eine systemeigene Datentabelle.

Hinweise

Eine angefügte Tabelle ist eine Tabelle in einer anderen Datenbank, die mit einer Microsoft Jet-Datenbank verknüpft ist. Daten für angefügte Tabellen werden in der externen Datenbank neu Standard, wo sie von anderen Anwendungen bearbeitet werden können.

Verwandte Informationen finden Sie im Thema "SourceTableName-Eigenschaft" in der DAO-Hilfe.

CDaoTableDef::GetValidationRule

Rufen Sie diese Memberfunktion auf, um die Gültigkeitsprüfungsregel für eine Tabledef abzurufen.

CString GetValidationRule();

Rückgabewert

Ein CString Objekt, das die Daten in einem Feld überprüft, während es geändert oder einer Tabelle hinzugefügt wird.

Hinweise

Gültigkeitsprüfungsregeln werden in Verbindung mit Aktualisierungsvorgängen verwendet. Wenn eine Tabledef eine Gültigkeitsprüfungsregel enthält, müssen Aktualisierungen dieser Tabelle festgelegte Kriterien erfüllen, bevor die Daten geändert werden. Wenn die Änderung nicht den Kriterien entspricht, wird eine Ausnahme ausgelöst, die den Wert von "GetValidationText " enthält. Für ein CDaoTableDef Objekt ist dies CString schreibgeschützt für eine angefügte Tabelle und Lese-/Schreibzugriff für eine Basistabelle.

Verwandte Informationen finden Sie im Thema "ValidationRule Property" in der DAO-Hilfe.

CDaoTableDef::GetValidationText

Rufen Sie diese Funktion auf, um die anzuzeigende Zeichenfolge abzurufen, wenn ein Benutzer Daten eingibt, die nicht der Gültigkeitsprüfungsregel entsprechen.

CString GetValidationText();

Rückgabewert

Ein CString Objekt, das den angezeigten Text angibt, wenn der Benutzer Daten eingibt, die nicht der Gültigkeitsprüfungsregel entsprechen.

Hinweise

Für ein CDaoTableDef Objekt ist dies CString schreibgeschützt für eine angefügte Tabelle und Lese-/Schreibzugriff für eine Basistabelle.

Verwandte Informationen finden Sie im Thema "ValidationText Property" in der DAO-Hilfe.

CDaoTableDef::IsOpen

Rufen Sie diese Memberfunktion auf, um zu bestimmen, ob das CDaoTableDef Objekt derzeit geöffnet ist.

BOOL IsOpen() const;

Rückgabewert

Nonzero, wenn das CDaoTableDef Objekt geöffnet ist; andernfalls 0.

Hinweise

CDaoTableDef::m_pDatabase

Enthält einen Zeiger auf das CDaoDatabase -Objekt für diese Tabelle.

Hinweise

CDaoTableDef::m_pDAOTableDef

Enthält einen Zeiger auf die OLE-Schnittstelle für das DAO tabledef -Objekt, das dem CDaoTableDef Objekt zugrunde liegt.

Hinweise

Verwenden Sie diesen Zeiger, wenn Sie direkt auf die DAO-Schnittstelle zugreifen müssen.

CDaoTableDef::Open

Rufen Sie diese Memberfunktion auf, um eine tabelledef zu öffnen, die zuvor in der TableDef-Auflistung der Datenbank gespeichert wurde.

virtual void Open(LPCTSTR lpszName);

Parameter

lpszName
Ein Zeiger auf eine Zeichenfolge, die einen Tabellennamen angibt.

Hinweise

Rufen Sie diese Memberfunktion auf, um die Verbindungsinformationen für eine angefügte Tabelle zu aktualisieren.

void RefreshLink();

Hinweise

Sie ändern die Verbindungsinformationen für eine angefügte Tabelle, indem Sie Set Verbinden für das entsprechende CDaoTableDef Objekt aufrufen und dann die RefreshLink Memberfunktion verwenden, um die Informationen zu aktualisieren. Beim Aufrufen RefreshLinkwerden die Eigenschaften der angefügten Tabelle nicht geändert.

Damit die geänderten Verbindungsinformationen wirksam werden, müssen alle geöffneten CDaoRecordset-Objekte , die auf dieser Tabelle basieren, geschlossen werden.

Verwandte Informationen finden Sie im Thema "RefreshLink-Methode" in der DAO-Hilfe.

CDaoTableDef::SetAttributes

Legt einen Wert fest, der ein oder mehrere Merkmale eines CDaoTableDef Objekts angibt.

void SetAttributes(long lAttributes);

Parameter

lAttributes
Merkmale der durch das CDaoTableDef Objekt dargestellten Tabelle und können eine Summe dieser Konstanten sein:

Konstante Beschreibung
dbAttachExclusive Für Datenbanken, die das Microsoft Jet-Datenbankmodul verwenden, gibt an, dass die Tabelle eine angefügte Tabelle ist, die zur exklusiven Verwendung geöffnet wird.
dbAttachSavePWD Gibt für Datenbanken, die das Microsoft Jet-Datenbankmodul verwenden, an, dass die Benutzer-ID und das Kennwort für die angefügte Tabelle mit den Verbindungsinformationen gespeichert werden.
dbSystemObject Gibt an, dass die Tabelle eine Systemtabelle ist, die vom Microsoft Jet-Datenbankmodul bereitgestellt wird.
dbHiddenObject Gibt an, dass die Tabelle eine ausgeblendete Tabelle ist, die vom Microsoft Jet-Datenbankmodul bereitgestellt wird.

Hinweise

Wenn Sie mehrere Attribute festlegen, können Sie sie kombinieren, indem Sie die entsprechenden Konstanten mithilfe des Bitweise-OR-Operators addieren. Die Einstellung dbAttachExclusive für eine nicht angefügte Tabelle erzeugt eine Ausnahme. Die Kombination der folgenden Werte erzeugt auch eine Ausnahme:

  • dbAttachExclusive | dbAttachedODBC

  • dbAttachSavePWD | dbAttachedTable

Verwandte Informationen finden Sie im Thema "Attributes Property" in der DAO-Hilfe.

CDaoTableDef::Set Verbinden

Für ein CDaoTableDef Objekt, das eine angefügte Tabelle darstellt, besteht das Zeichenfolgenobjekt aus einem oder zwei Teilen (einem Datenbanktypbezeichner und einem Pfad zur Datenbank).

void SetConnect(LPCTSTR lpszConnect);

Parameter

lpsz Verbinden
Ein Zeiger auf einen Zeichenfolgenausdruck, der zusätzliche Parameter an ODBC- oder installierbare ISAM-Treiber angibt.

Hinweise

Der Pfad, wie in der folgenden Tabelle dargestellt, ist der vollständige Pfad für das Verzeichnis, das die Datenbankdateien enthält, und muss dem Bezeichner "DATABASE=" vorangestellt sein. In einigen Fällen (wie bei Microsoft Jet- und Microsoft Excel-Datenbanken) ist ein bestimmter Dateiname im Argument "Datenbankpfad" enthalten.

Hinweis

Schließen Sie keine Leerzeichen um die Gleichheitszeichenpfadanweisungen des Formulars "DATABASE=drive:\\path" ein. Dies führt dazu, dass eine Ausnahme ausgelöst wird und die Verbindung fehlschlägt.

In der folgenden Tabelle sind mögliche Datenbanktypen und deren entsprechende Datenbankbezeichner und Pfade aufgeführt:

Datenbanktyp Bezeichner Pfad
Datenbank mit dem Jet-Datenbankmodul "[ database];" " drive:\\ Pfaddateiname\\ . 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:\\ pfad\\ filename.XLS"
Excel 4.0 "Excel 4.0;" " drive:\\ pfad\\ filename.XLS"
Excel 5.0 oder Excel 95 "Excel 5.0;" " drive:\\ pfad\\ filename.XLS"
Excel 97 "Excel 8.0;" " drive:\\ pfad\ filename.XLS"
HTML-Import "HTML-Import;" " drive:\\ Pfaddateiname\ "
HTML-Export "HTML-Export;" " drive:\\ path"
Text "Text;" "drive:\\path"
ODBC "ODBC; DATABASE= database; UID= Benutzer; PWD= Kennwort; DSN= Datenquellenname; LOGINTIMEOUT= Sekunden;" (Dies ist möglicherweise kein vollständiges Verbindungszeichenfolge für alle Server; es ist nur ein Beispiel. Es ist sehr wichtig, keine Leerzeichen zwischen den Parametern zu haben.) Keine
Exchange "Exchange;

MAPILEVEL= folderpath;

[TABLETYPE={ 0 | 1 };]

[PROFIL= Profil;]

[PWD= Kennwort;]

[DATABASE= database;]"
"drive:\\ path\\ filename. MDB"

Hinweis

Btrieve wird ab DAO 3.5 nicht mehr unterstützt.

Sie müssen einen doppelten umgekehrten Schrägstrich (\\) in den Verbindungszeichenfolge s verwenden. Wenn Sie die Eigenschaften einer vorhandenen Verbindung mithilfe SetConnectvon "RefreshLink" geändert haben, müssen Sie anschließend RefreshLink aufrufen. Wenn Sie die Verbindungseigenschaften mithilfe SetConnectvon "Initialisieren" initialisieren, müssen Sie nicht aufrufen RefreshLink, aber wenn Sie dies tun möchten, fügen Sie zuerst die Tabelle an.

Wenn ein Kennwort erforderlich, aber nicht angegeben ist, zeigt der ODBC-Treiber ein Anmeldedialogfeld an, wenn zum ersten Mal auf eine Tabelle zugegriffen wird, und erneut, wenn die Verbindung geschlossen und erneut geöffnet wird.

Sie können die Verbindungszeichenfolge für ein CDaoTableDef Objekt festlegen, indem Sie der Memberfunktion ein Quellargument Create bereitstellen. Sie können die Einstellung überprüfen, um den Typ, den Pfad, die Benutzer-ID, das Kennwort oder die ODBC-Datenquelle der Datenbank zu ermitteln. Weitere Informationen finden Sie in der Dokumentation für den jeweiligen Treiber.

Verwandte Informationen finden Sie im Thema "Verbinden-Eigenschaft" in der DAO-Hilfe.

CDaoTableDef::SetName

Rufen Sie diese Memberfunktion auf, um einen benutzerdefinierten Namen für eine Tabelle festzulegen.

void SetName(LPCTSTR lpszName);

Parameter

lpszName
Ein Zeiger auf einen Zeichenfolgenausdruck, der einen Namen für eine Tabelle angibt.

Hinweise

Der Name muss mit einem Buchstaben beginnen und darf maximal 64 Zeichen enthalten. Sie kann Zahlen und Unterstriche enthalten, aber keine Interpunktion oder Leerzeichen enthalten.

Verwandte Informationen finden Sie im Thema "Name Property" in der DAO-Hilfe.

CDaoTableDef::SetSourceTableName

Rufen Sie diese Memberfunktion auf, um den Namen einer angefügten Tabelle oder den Namen der Basistabelle anzugeben, auf der das CDaoTableDef Objekt basiert, wie es in der ursprünglichen Quelle der Daten vorhanden ist.

void SetSourceTableName(LPCTSTR lpszSrcTableName);

Parameter

lpszSrcTableName
Ein Zeiger auf einen Zeichenfolgenausdruck, der einen Tabellennamen in der externen Datenbank angibt. Bei einer Basistabelle ist die Einstellung eine leere Zeichenfolge ("").

Hinweise

Anschließend müssen Sie RefreshLink aufrufen. Diese Eigenschaftseinstellung ist für eine Basistabelle leer und Lese-/Schreibzugriff für eine angefügte Tabelle oder ein Objekt, das nicht an eine Auflistung angefügt ist.

Verwandte Informationen finden Sie im Thema "SourceTableName-Eigenschaft" in der DAO-Hilfe.

CDaoTableDef::SetValidationRule

Rufen Sie diese Memberfunktion auf, um eine Gültigkeitsprüfungsregel für eine Tabledef festzulegen.

void SetValidationRule(LPCTSTR lpszValidationRule);

Parameter

lpszValidationRule
Ein Zeiger auf einen Zeichenfolgenausdruck, der einen Vorgang überprüft.

Hinweise

Gültigkeitsprüfungsregeln werden in Verbindung mit Aktualisierungsvorgängen verwendet. Wenn eine Tabledef eine Gültigkeitsprüfungsregel enthält, müssen Aktualisierungen dieser Tabelle festgelegte Kriterien erfüllen, bevor die Daten geändert werden. Wenn die Änderung nicht den Kriterien entspricht, wird eine Ausnahme mit dem Text von GetValidationText angezeigt.

Die Überprüfung wird nur für Datenbanken unterstützt, die das Microsoft Jet-Datenbankmodul verwenden. Der Ausdruck kann nicht auf benutzerdefinierte Funktionen verweisen, do Standard Aggregatfunktionen, SQL-Aggregatfunktionen oder Abfragen. Eine Gültigkeitsprüfungsregel für ein CDaoTableDef Objekt kann auf mehrere Felder in diesem Objekt verweisen.

For example, for fields named hire_date and termination_date, a validation rule might be:

myTableDef.SetValidationRule(_T("termination_date > hire_date"));

Verwandte Informationen finden Sie im Thema "ValidationRule Property" in der DAO-Hilfe.

CDaoTableDef::SetValidationText

Rufen Sie diese Memberfunktion auf, um den Ausnahmetext einer Gültigkeitsprüfungsregel für ein CDaoTableDef Objekt mit einer zugrunde liegenden Basistabelle festzulegen, die vom Microsoft Jet-Datenbankmodul unterstützt wird.

void SetValidationText(LPCTSTR lpszValidationText);

Parameter

lpszValidationText
Ein Zeiger auf einen Zeichenfolgenausdruck, der den angezeigten Text angibt, wenn eingegebene Daten ungültig sind.

Hinweise

Sie können den Überprüfungstext einer angefügten Tabelle nicht festlegen.

Verwandte Informationen finden Sie im Thema "ValidationText Property" in der DAO-Hilfe.

Siehe auch

CObject-Klasse
Hierarchiediagramm
CDaoDatabase-Klasse
CDaoRecordset-Klasse