Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt die gespeicherte Definition einer Basistabelle oder einer angefügten Tabelle dar.
Hinweis
DAO wird bis Office 2013 unterstützt. DAO 3.6 ist die endgültige Version und gilt als veraltet.
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::GetConnect | 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::SetConnect | 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 verwaltet eine Auflistung namens TableDefs, die alle gespeicherten DAO-Tabledef-Objekte enthält.
Sie bearbeiten eine Tabellendefinition mithilfe eines CDaoTableDef Objekts. Sie können zum Beispiel Folgendes:
Untersuchen Sie die Feld- und Indexstruktur einer lokalen, angefügten oder externen Tabelle in einer Datenbank.
Rufen Sie die
SetConnectFunktionen undSetSourceTableNameMemberfunktionen für angefügte Tabellen auf, und verwenden Sie dieRefreshLinkMemberfunktion, um Verbindungen mit angefügten Tabellen zu aktualisieren.Rufen Sie die
CanUpdateMemberfunktion auf, um festzustellen, ob Felddefinitionen in der Tabelle bearbeitet werden können.Dient zum Abrufen oder Festlegen von Überprüfungsbedingungen mithilfe der
GetValidationRuleUndSetValidationRule- und Memberfunktionen undSetValidationTextderGetValidationTextMemberfunktionen.Verwenden Sie die
OpenMemberfunktion, um ein Tabellen-, Dynaset- oder Snapshot-ObjektCDaoRecordsetzu erstellen.Hinweis
Die DAO-Datenbankklassen unterscheiden sich von den MFC-Datenbankklassen basierend auf Open Database Connectivity (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
Erstellen Sie in allen Fällen zuerst ein
CDaoTableDefObjekt, und stellen Sie einen Zeiger auf ein CDaoDatabase-Objekt bereit, zu dem die Tabelle gehört.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.
Createlegt den Tabledef in einen geöffneten Zustand, sodass Sie nach dem Aufrufen nicht aufrufenCreateOpen.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
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.
lpszConnect
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:
| type | Größe (Byte) | Beschreibung |
|---|---|---|
dbBoolean |
1 Byte | BOOL |
dbByte |
BYTE | |
dbInteger |
2 | int |
dbLong |
4 | long |
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 CreateField CDaoFieldInfo Parameters verwenden, müssen Sie die folgenden Elemente der CDaoFieldInfo Struktur sorgfältig festlegen:
m_strNamem_nTypem_lSizem_lAttributesm_bAllowZeroLength
Die verbleibenden Member 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_strNameEs muss ein Name angegeben werden.m_pFieldInfosMuss auf ein Array vonCDaoIndexFieldInfoStrukturen verweisen.m_nFieldsMuss die Anzahl der Felder im Array vonCDaoFieldInfoStrukturen angeben.
Die verbleibenden 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::GetConnect
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::SetConnect 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 "Connect-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_INFOPrimäre Informationen plus: Ordnungsposition, Erforderlich, Leere Länge zulassen, Sortierreihenfolge, Fremdname, Quellfeld, QuelltabelleAFX_DAO_ALL_INFOPrimä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_INFOName, Feldinformationen, Felder. Verwenden Sie diese Option, um die schnellste Leistung zu erzielen.AFX_DAO_SECONDARY_INFOPrimäre Informationen plus: Primär, eindeutig, gruppiert, Null ignorieren, Erforderlich, FremdAFX_DAO_ALL_INFOPrimä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 verbleiben in der externen Datenbank, 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
CDaoTableDef::RefreshLink
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 SetConnect 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 | dbAttachedODBCdbAttachSavePWD | dbAttachedTable
Verwandte Informationen finden Sie im Thema "Attributes Property" in der DAO-Hilfe.
CDaoTableDef::SetConnect
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
lpszConnect
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:\\ Pfaddateiname\\ .XLS" |
| Excel 4.0 | "Excel 4.0;" | " drive:\\ Pfaddateiname\\ .XLS" |
| Excel 5.0 oder Excel 95 | "Excel 5.0;" | " drive:\\ Pfaddateiname\\ .XLS" |
| Excel 97 | "Excel 8.0;" | " drive:\\ Pfaddateiname\ .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 "Connect-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, Domänenaggregatfunktionen, SQL-Aggregatfunktionen oder Abfragen verweisen. 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