CDaoDatabase::Open
您必須呼叫這個成員函式會初始化表示現有資料庫的新建構的 CDaoDatabase 物件。
virtual void Open(
LPCTSTR lpszName,
BOOL bExclusive = FALSE,
BOOL bReadOnly = FALSE,
LPCTSTR lpszConnect = _T(
"" )
);
參數
lpszName
是現有 Microsoft Jet 的字串運算式 (.MDB) 資料庫檔案的名稱。 如果檔名副檔名,則需要。 如果您的網路支援一致的命名慣例 (UNC),您也可以指定一個網路路徑,例如「\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB.MDB」。 (雙重反斜線在字串常值 (String Literal) 是必要的,因為「\" is the C ++ 逸出字元 (Escape Character)。某些考量時, lpszName。 如果它:
參考為獨佔存取已經開啟由另一位使用者的資料庫, MFC 會擲回型別 CDaoException的例外狀況。 截獲例外狀況告知使用者資料庫無法使用。
為空字串 (""),而且 lpszConnect 是「ODBC; 」,列出所有註冊的 ODBC 資料來源名稱] 對話方塊隨即出現,讓使用者能夠選取資料庫。 您應該避免使用 ODBC 資料來源的直接連接;使用已附加的資料表。
否則不會參考現有的資料庫或有效的 ODBC 資料來源名稱, MFC 會擲回型別 CDaoException的例外狀況。
注意事項 如需 DAO 錯誤碼的詳細資訊,請參閱 DAOERR.H 檔案。如需相關資訊,請參閱本主題稍後的「可截獲的資料存取錯誤《DAO 說明。
bExclusive
是 是 的布林值,如果資料庫中要獨佔 (共用) 存取和 否 開啟,如果資料庫針對共用存取權開啟。 如果省略這個引數,資料庫的共用存取權開啟。bReadOnly
是 是 的布林值,如果資料庫供唯讀存取和 否 開啟,如果資料庫供讀取/寫入存取權開啟。 如果省略這個引數,資料庫的讀取/寫入存取權開啟。 所有相依的資料錄集繼承這個屬性。lpszConnect
字串運算式提供開啟資料庫使用。 這個字串組成 ODBC 連接引數。 您必須提供專有和唯讀引數提供來源字串。 如果資料庫是 Microsoft Jet 資料庫 (.MDB),這個字串是空的 ("")。 預設值為— _T("") 語法—針對 Unicode 與您的應用程式 ANSI 組建的可攜性。
備註
開啟 相關聯的資料庫與基礎 ADO 物件。 您不能用來建構資料錄集、tabledef 或 querydef 物件的資料庫物件,初始化完成。 開啟 附加至相關聯的工作區的資料庫中的資料庫物件。
使用參數如下所示:
如果您開啟 Microsoft Jet (.MDB) 資料庫,請使用 lpszName 參數並將 lpszConnect 參數的空字串或透過表單的密碼字串「; PWD=password」,如果資料庫密碼保護 (僅限 .MDB 資料庫)。
如果您開啟 ODBC 資料來源,則會將 lpszConnect 的有效 ODBC 連接字串 (Connection String) 和在 lpszName的空字串。
如需相關資訊,請參閱本主題 OpenDatabase 「方法」DAO 說明。
注意事項 |
---|
為了要取得更佳的效能,在外部資料庫,包括 ISAM 資料庫和 ODBC 資料來源,建議在存取您附加外部資料庫資料表對應至 Microsoft Jet 資料庫引擎 (.MDB) 而不是直接連接至資料來源。 |
如果,例如, DBMS 主應用程式無法使用,就可以進行連接嘗試能逾時。 如果連接嘗試失敗, 開啟CDaoException會擲回型別的例外狀況。
其餘的備註只適用於 ODBC 資料庫:
如果資料庫是 ODBC 資料庫,並在您的 開啟 呼叫的參數不包含足夠的資訊來產生連接, ODBC 驅動程式會開啟 對話方塊取得使用者的必要資訊。 當您呼叫時, 開啟,私用儲存連接字串, lpszConnect並呼叫 GetConnect 成員函式可用。
如果需要,您可以在 中開啟 對話方塊中,在您呼叫 開啟 從使用者取得資訊,例如密碼,則加入之前,對您傳遞給 開啟之連接字串的資訊。 您也可能想要儲存 (可能) 在 Windows 登錄中傳遞的連接字串,因此您可以重複使用它,則下一次在 CDaoDatabase 物件的應用程式呼叫 開啟 。
您可以為授權登入時也可以使用連接字串 (每個的多個層級不同的 CDaoDatabase 物件) 或 Express 其他特定資料庫的資訊。
需求
Header: afxdao.h