CDaoDatabase::Open
Sie müssen diese Memberfunktion aufrufen, um ein neu erstelltes CDaoDatabase-Objekt initialisiert, das eine vorhandene Datenbank darstellt.
virtual void Open(
LPCTSTR lpszName,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T(
"" )
);
Parameter
lpszName
Ein Zeichenfolgenausdruck, der der Name einer vorhandenen Datenbankdatei Microsoft Jet-Datenbanken (.MDB) ist.Wenn der Dateiname eine Erweiterung aufweist, ist dies erforderlich.Wenn Ihr Netzwerk die einheitliche Namenskonvention (UNC) unterstützt, können Sie auch einen Netzwerkpfad wie "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB" angeben.Doppelte (umgekehrte Schrägstriche werden in Zeichenfolgenliterale benötigt, da "\" das C++-Escapezeichen ist.)Einige Überlegungen treffen zu, wenn sie lpszName verwenden.Wenn es:
Verweist auf eine Datenbank, die bereits für exklusiven Zugriff von einem anderen Benutzer geöffnet ist, MFC-Würfe eine Ausnahme des Typs CDaoException an.Fangen Sie diese Ausnahme auf, um den Benutzer zu informieren, dass die Datenbank nicht verfügbar ist.
ist eine leere Zeichenfolge ("") und lpszConnect ist "ODBC; ", wird ein Dialogfeld, das alle registrierten ODBC-Datenquellennamen auflistet, angezeigt, sodass der Benutzer eine Datenbank auswählen.Sie sollten Direktanschlüsse zu vermeiden, den ODBC-Datenquellen Verwenden Sie stattdessen eine umschlossene Tabelle.
Andernfalls bezieht sich nicht auf eine vorhandene Datenbank, oder gültiger ODBC-Datenquellenname MFC, löst eine Ausnahme des Typs CDaoException aus.
Hinweis Ausführliche Informationen über DAO-Fehlercodes, finden Sie die DAOERR.H-Datei.Weitere Informationen finden Sie im Thema "auffangbare Datenzugriffs-Fehler" in der DAO-Hilfe.
bExclusive
Ein boolescher Wert, der TRUE ist, wenn die Datenbank für exklusiven (nicht freigegebenen) Zugriff und FALSE geöffnet werden soll, wenn die Datenbank für den gemeinsamen Zugriff geöffnet werden soll.Wenn Sie dieses Argument weglassen, ist die Datenbank für den gemeinsamen Zugriff geöffnet.bReadOnly
Ein boolescher Wert, der TRUE ist, wenn die Datenbank für schreibgeschützten Zugriff und FALSE geöffnet werden soll, wenn die Datenbank für Lese-/Schreibzugriff geöffnet werden soll.Wenn Sie dieses Argument weglassen, ist die Datenbank für Lese-/Schreibzugriff geöffnet.Alle abhängigen Recordsets erben dieses Attribut.lpszConnect
Ein Zeichenfolgenausdruck verwendete zum Öffnen der Datenbank.Diese Zeichenfolge wird das ODBC herstellen Argumente fest.Sie müssen die exklusiven und schreibgeschützten Argumente angeben, um eine Quellzeichenfolge an.Wenn die Datenbank eine Microsoft Jet-Datenbank (.MDB) ist, ist diese Zeichenfolge leer ("").Die Syntax für den Standardwert - _T("") - Stellt Portabilität für Unicode sowie ANSI-Builder der Anwendung.
Hinweise
Open ordnet die Datenbank mit dem zugrunde liegenden DAO-Objekt zu.Sie können das Datenbankobjekt zum Konstruktrecordset, -Tabledef oder -Querydef-Objekten nicht verwenden, bis sie initialisiert ist.Open fügt das Datenbankobjekt zur zugeordneten Datenbankauflistung des Arbeitsbereichs an.
Verwenden Sie die Parameter, wie folgt:
Wenn Sie eine Microsoft Jet-Datenbankmoduls (.MDB) öffnen, verwenden Sie den lpszName-Parameter und führen Sie eine leere Zeichenfolge für den lpszConnect-Parameter oder führen Sie eine Kennwortzeichenfolge des Formulars "; PWD=password" wenn die Datenbank kennwortgeschützt ist (nur .MDB-Datenbanken).
Wenn Sie eine ODBC-Datenquelle öffnen, führen Sie eine gültige ODBC-Verbindungszeichenfolge in lpszConnect und eine leere Zeichenfolge in lpszName.
Weitere Informationen finden Sie im Thema "OpenDatabase-Methode" in der DAO-Hilfe.
Hinweis |
---|
Für bessere Leistung, wenn Sie auf externe Datenbanken, einschließlich ISAM-Datenbanken und ODBC-Datenquellen zugreifen, wird empfohlen, dass Sie Tabellen der externen Datenbank einer Microsoft Jet-Moduldatenbank (.MDB) anstatt anfügen, anschließend direkt an die Datenquelle. |
Es ist ein Timeout für einen Verbindungsversuch möglich, wenn beispielsweise der DBMS-Host nicht verfügbar ist.Wenn der Verbindungsversuch fehlschlägt, Open löst eine Ausnahme des Typs CDaoException aus.
Die übrigen Hinweise gelten nur für ODBC-Datenbanken zu:
Wenn die Datenbank eine ODBC-Datenbank ist und die Parameter im Open Aufruf nicht genügend Informationen enthalten, um die Beziehung zu erstellen, wird der ODBC-Treiber ein Dialogfeld, um die erforderlichen Informationen vom Benutzer zu erhalten.Wenn Sie Open aufrufen, wird die Verbindungszeichenfolge, lpszConnect, privat gespeichert und ist verfügbar, indem die GetConnect-Memberfunktion aufruft.
Wenn Sie möchten, können Sie ein eigenes Dialogfeld öffnen, bevor Sie Open aufrufen, um Informationen vom Benutzer, wie einem Kennwort abzurufen, hinzufügen, dass Informationen zur Verbindungszeichenfolge, die Sie zu Open übergeben.Oder Sie können die Verbindungszeichenfolge speichern, die Sie (möglicherweise in die Windows-Registrierung) speichern, sodass Sie sie wiederverwenden beim nächsten die Anwendung Open auf einem CDaoDatabase-Objekt.
Sie können die Verbindungszeichenfolge für mehrere Ebenen der Anmeldung Autorisierung (jede für ein anderes Objekt CDaoDatabase ) verwenden oder andere datenbankspezifische Informationen enthalten.
Anforderungen
Header: afxdao.h