CDatabase::Open
Volání funkce tohoto člena inicializovat nově vyrobeny CDatabase objektu.
virtual BOOL Open(
LPCTSTR lpszDSN,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T("ODBC;"),
BOOL bUseCursorLib = TRUE
);
Parametry
lpszDSN
Určuje název zdroje dat – název registrovaný u ODBC pomocí programu Správce ODBC.Pokud je zadána hodnota DSN v lpszConnect (ve formě "DSN = < zdroj dat >"), nesmí být zadáno znovu v lpszDSN .V tomto případě lpszDSN by měla být NULL.Jinak můžete předat NULL Pokud chcete prezentovat dialogového okna zdroj dat, ve kterém může uživatel vybrat zdroj dat.Další informace naleznete v části poznámky.bExclusive
Není podporována v této verzi knihovny tříd.V současné době nepravdivých selže, pokud je tento parametr TRUE.Zdroj dat je vždy otevřít sdílené (nikoli výhradní).bReadOnly
TRUE Pokud máte v úmyslu připojení jen pro čtení a aktualizace zdroje dat můžete zakázat.Všechny závislé sady záznamů zdědí tento atribut.Výchozí hodnota je FALSE.lpszConnect
Určuje řetězec připojení.Řetězec připojení spojuje informace, případně včetně název zdroje dat, ID uživatele platné na zdroj dat, ověřování uživatele řetězec (Pokud zdroj dat vyžaduje heslo) a další informace.Celá připojovací řetězec musí být předchází řetězec "ODBC" (velká nebo malá písmena)."ODBC;" řetězec se používá k označení, že je připojení ke zdroji dat ODBC; To je Kompatibilita ruku při budoucích verzí knihovny třídy mohou podporovat-rozhraní ODBC zdroje dat.bUseCursorLib
TRUE Pokud chcete ODBC kurzor knihovny DLL načíst.Knihovna kurzorů masky některé funkce základní ovladač ODBC účinně brání použití dynamické sady (Pokud je ovladač podporuje).Pouze kurzory podporovány, pokud je načtena Knihovna kurzorů jsou statické snímky a pouze pro předávání ukazatelů.Výchozí hodnota je TRUE.Pokud chcete vytvořit objekt recordset přímo z CRecordset bez z ní vyplývající, neměla načtení knihovny kurzoru.
Vrácená hodnota
Nenulová hodnota, pokud je připojení vytvořeno úspěšně; 0, pokud uživatel jinak zrušit, když zobrazí dialogové okno s žádostí o další informace o připojení.Ve všech ostatních případech rámci vyvolá výjimku.
Poznámky
Databázový objekt musí být inicializován před použitím k vytvoření objektu recordset.
[!POZNÁMKA]
Volání OpenEx členské funkce je preferovaný způsob připojení ke zdroji dat a inicializovat databázový objekt.
Pokud parametry vašeho otevřených volání neobsahuje dostatek informací k připojení, ovladač ODBC otevře dialogové okno získat potřebné informace od uživatele.Při volání Otevřít, připojovací řetězec lpszConnect , je uložena v soukromě CDatabase objektu a je k dispozici voláním GetConnect členské funkce.
Pokud chcete, můžete otevřít dialogové okno Vlastní než zavoláte otevřete získat informace o uživateli, například hesla, pak přidat tyto informace do připojovacího řetězce předat do otevřete.Nebo chcete uložit řetězec připojení předáte, takže jej můžete znovu použít na další čas volání aplikace otevřených na CDatabase objektu.
Také můžete řetězec připojení více úrovní ověření přihlášení (každý pro jiné CDatabase objektu) nebo vyjádřit jiné informace specifické pro zdroj dat.Další informace o řetězcích připojení naleznete v kapitole 5 .
Je možné, časový limit pokusu o připojení, pokud například není k dispozici hostitelský systém DBMS.Pokud se pokus o připojení nezdaří, otevřených vyvolá CDBException .
Příklad
// m_dbCust is a CDatabase object embedded in a CDocument class
if (bDefault)
{
// Connect the object to a data source (no password)
// the ODBC connection dialog box will always remain hidden
m_dbCust.Open(_T("MFC_ODBCTest"), FALSE, FALSE, _T("ODBC;UID=JOES"));
}
else
{
// ...Or, query the user for all connection information
m_dbCust.Open(NULL);
}
Požadavky
Záhlaví: afxdb.h