首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VC6.0 ADO 動態連接 Access:連接字串拼接錯誤修正

     編輯:程式設計綜合問答

原始碼中 _bstr_t strcnn(_T("Provider=Microsoft.JET.OLEDB.4.0;Data source=lpstrName")); 將變數 lpstrName 當作字面字串,導致連接失敗。必須用 CString::Format 正確拼接檔案路徑。

修正後的連接字串建立

CString strConn;
strConn.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s"), lpstrName);

_bstr_t bstrConn(strConn);
hr = m_pConnection->Open(bstrConn, _T(""), _T(""), adModeUnknown);

完整修正流程

  1. 使用 CFileDialog 取得完整路徑存入 lpstrName(CString 型別)。
  2. 用 Format 產生含實際路徑的連接字串。
  3. 以 _bstr_t 轉換後傳給 Open。

常見坑點提醒

  • Access 2007+ (.accdb) 需用 Provider=Microsoft.ACE.OLEDB.12.0。
  • 路徑含空格無需額外引號,OLE DB 直接支援。
  • adOpenDynamic + adLockOptimistic 需資料庫支援;若報錯改用 adOpenStatic + adLockReadOnly。

參考範例

完整 VC++ ADO 連接 Access 範例見:VC++ ADO 連接 Access 資料庫詳解。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved