CDaoTableDef-Klasse
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
SetConnect
Funktionen undSetSourceTableName
Memberfunktionen für angefügte Tabellen auf, und verwenden Sie dieRefreshLink
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 undSetValidationText
derGetValidationText
Memberfunktionen.Verwenden Sie die
Open
Memberfunktion, um ein Tabellen-, Dynaset- oder Snapshot-ObjektCDaoRecordset
zu 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
CDaoTableDef
Objekt, 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.
Create
legt den Tabledef in einen geöffneten Zustand, sodass Sie nach dem Aufrufen nicht aufrufenCreate
Open
.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 Close
löschen Sie das tabledef-Objekt, wenn es zugeordnet new
wurde.
Sie können "Öffnen" nach dem Aufrufen Close
erneut 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 Append
befindet 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 CreateField
der 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_strName
m_nType
m_lSize
m_lAttributes
m_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_strName
Es muss ein Name angegeben werden.m_pFieldInfos
Muss auf ein Array vonCDaoIndexFieldInfo
Strukturen verweisen.m_nFields
Muss die Anzahl der Felder im Array vonCDaoFieldInfo
Strukturen 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_INFO
Primäre Informationen plus: Ordnungsposition, Erforderlich, Leere Länge zulassen, Sortierreihenfolge, Fremdname, Quellfeld, QuelltabelleAFX_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, FremdAFX_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 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 RefreshLink
werden 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::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 SetConnect
von "RefreshLink" geändert haben, müssen Sie anschließend RefreshLink aufrufen. Wenn Sie die Verbindungseigenschaften mithilfe SetConnect
von "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