CDaoDatabase::Open
Trzeba wywołać tę funkcję Członkowskie zainicjować nowo zbudowanych CDaoDatabase obiekt reprezentujący istniejącej bazy danych.
virtual void Open(
LPCTSTR lpszName,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T(
"" )
);
Parametry
lpszName
Wyrażeniem jest nazwą istniejącego aparatu Microsoft Jet (.Plik bazy danych MDB).Jeśli rozszerzenie nazwy pliku, jest wymagana.Jeśli sieć obsługuje uniform naming convention (UNC), można również określić ścieżkę sieciową, na przykład "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB".(Odwrócone są wymagane w literały ciągów znaków, ponieważ znak escape C++ jest "\".)Niektóre kwestie przy użyciu lpszName.Jeśli to:
Odnosi się do bazy danych, który jest już otwarty wyłączności przez innego użytkownika, rzuca MFC wyjątek typu CDaoException.Zalewki ten wyjątek, aby umożliwić użytkownikowi wiedzieć, że baza danych jest niedostępne.
Jest pusty ciąg ("") i lpszConnect jest "ODBC;", jest wyświetlane okno dialogowe Lista wszystkich zarejestrowanych nazw źródeł danych ODBC, więc użytkownik może wybrać bazy danych.Należy unikać bezpośredniego połączenia do źródeł danych ODBC; Zamiast tego użyj załączona tabela.
W przeciwnym razie nie odnosi się do istniejącej bazy danych lub nazwy źródła danych ODBC ważne, rzuca MFC wyjątek typu CDaoException.
[!UWAGA]
Szczegółowe informacje na temat kodów błędów DAO Zobacz DAOERR.H plik.Powiązanych informacji zobacz temat "Przechwytywalny danych Access błędy" w pomocy DAO.
bExclusive
Wartość logiczna, która jest TRUE Jeśli baza danych ma być otwarty dla wyłącznego dostępu (udostępniana) i FALSE , jeśli baza danych ma być otwarty dla dostępu współdzielonego.Jeśli argument ten zostanie pominięty, baza danych jest otwarta dla dostępu współdzielonego.bReadOnly
Wartość logiczna, która jest TRUE Jeśli baza danych jest tylko do odczytu do otwarcia i FALSE , jeśli baza danych ma być otwarty do odczytu i zapisu.Jeśli argument ten zostanie pominięty, baza danych jest otwarta dla dostępu do odczytu i zapisu.Wszystkie zależne zestawy rekordów dziedziczy ten atrybut.lpszConnect
Wyrażenie tekstowe, służące do otwierania bazy danych.Ciąg ten stanowi ODBC połączenie argumentów.Należy podać ciąg źródła dostaw argumenty wyłączne i tylko do odczytu.Jeśli baza danych jest bazą danych Microsoft Jet (.MDB), ten ciąg jest pusty ("").Składnia wartość domyślna — _T("") — zapewnia przenośność Unicode, jak również ANSI buduje aplikacji.
Uwagi
Otwórz kojarzy bazy danych z podstawowego obiektu DAO.Nie można użyć obiektu bazy danych do konstruowania zestawu rekordów, tabledef lub obiekty querydef dopóki nie jest zainicjowany.Otwórz dołącza do obszaru roboczego skojarzone baz danych kolekcji obiektu bazy danych.
Użyć parametrów w następujący sposób:
Podczas otwierania programu Microsoft Jet (.Bazy danych MDB), użyj lpszName parametr i przebiegu pusty ciąg znaków dla lpszConnect przebieg ciąg hasła formularza lub parametr ";PWD = hasło ", jeśli baza danych jest chroniona hasłem (.MDB tylko baz danych).
Jeśli otwierasz źródła danych ODBC, należy przekazać prawidłowy ciąg połączenia ODBC w lpszConnect i pusty ciąg w lpszName.
Dla pokrewnych informacji zobacz temat "Metoda OpenDatabase" w pomocy DAO.
[!UWAGA]
Lepszą wydajność podczas uzyskiwania dostępu do zewnętrznych baz danych, łącznie z bazy danych ISAM i źródeł danych ODBC, zalecane jest Dołączanie tabel zewnętrznych baz danych do bazy danych aparatu Microsoft Jet (.MDB) zamiast łączenia bezpośrednio ze źródłem danych.
Istnieje możliwość próby połączenia się limit czasu, jeśli na przykład DBMS host jest niedostępny.Jeśli próba połączenia nie powiedzie się, Otwórz zgłasza wyjątek typu CDaoException.
Pozostałe uwagi stosuje się tylko do baz danych ODBC:
Jeśli baza danych jest bazą danych ODBC i parametry w sieci Otwórz wywołania nie zawiera informacji wystarczających do nawiązania połączenia, sterownik ODBC otwiera okno dialogowe w celu uzyskania niezbędnych informacji od użytkownika.Po wywołaniu Otwórz, ciąg połączenia, lpszConnect, jest przechowywany i jest dostępny przez wywołanie GetConnect funkcji składowej.
Jeśli chcesz, własne okno dialogowe można otworzyć przed wywołaniem Otwórz uzyskanie informacji od użytkownika, na przykład hasła, następnie dodać informacje do ciągu połączenia, przekazać do Otwórz.Lub chcesz zapisać ciąg połączenia przekazać (prawdopodobnie w rejestrze systemu Windows), może używać go następnego czasu wywołania aplikacji Otwórz na CDaoDatabase obiektu.
Można również użyć ciągu połączenia, dla wielu poziomów autoryzacji logowania (dla różnych CDaoDatabase obiektu) lub przekazywać innych informacji specyficznych dla bazy danych.
Wymagania
Nagłówek: afxdao.h