ActiveX Data Objects (ADO) 是微軟提供的高階資料存取介面,透過 Connection 物件的 Open 方法即可建立資料庫連線。本文詳細說明 ADO 連接 Access (.mdb) 資料庫的參數設定、程式碼實作與錯誤處理,適用於 Visual C++ 6.0 開發環境。
Connection.Open ConnectionString, UserID, Password, OpenOptions
| 參數 | 型別 | 說明 |
|---|---|---|
| ConnectionString | String (可選) | 包含驅動程式、資料庫路徑等連線資訊 |
| UserID | String (可選) | 登入使用者名稱 |
| Password | String (可選) | 登入密碼 |
| OpenOptions | ConnectOptionEnum (可選) | 若設為 adConnectAsync 則非同步開啟,完成時觸發 ConnectComplete 事件 |
void CConnectDlg::OnInitADOConn() {
try {
// 建立 Connection 物件實例
m_pConnection.CreateInstance(_T("ADODB.Connection"));
// 設定連線字串:使用 Microsoft Access Driver
CString strConnect = _T("DRIVER={Microsoft Access Driver (*.mdb)};UID=;PWD=;DBQ=shujuku.mdb;");
// 開啟連線
m_pConnection->Open((_bstr_t)strConnect, _T(""), _T(""), adModeUnknown);
}
catch (_com_error e) {
AfxMessageBox(e.Description()); // 顯示 COM 錯誤描述
}
}
void CConnectDlg::ExitConnect() {
// 關閉 Recordset 與 Connection
if (m_pRecordset != NULL)
m_pRecordset->Close();
m_pConnection->Close();
}
msado15.dll (或更新版本) 並啟用 #import 指令產生智慧指標。DBQ 指定 .mdb 檔案完整路徑;若有密碼請填入 PWD。_bstr_t 進行 ANSI/Unicode 字串轉換,避免編碼問題。try-catch 中捕捉 _com_error,取得詳細錯誤資訊。