由于項目要發布一個單機版,原來用的數據庫是大型數據庫。需要在單機版中用Access比較方便,另外也不能讓用戶自己創建數據源,最終的方案就是在程序中直接訪問(*.mdb)Access數據庫文件,下面簡要給出在VC6.0中的訪問Access數據庫文件的方法:
注:data.mdb數據庫文件中有一個表(tperson),有一個字段(name)
?CString strSql;
?CString strName;
?CString strDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
?CString strDsn;
?CString strFile = "E:\\CurrentWork\\AccessTest\\data.mdb";
?strDsn.Format("ODBC;DRIVER={%s};UID=sa;PWD=;DBQ=%s",strDriver,strFile);
?TRY
?{
???CDatabase m_db;//加上這個定義,本來這個是一個類中的成員,暫時就放在這。
???m_db.Open(NULL,false,false,strDsn);
??CString strConnect = m_db.GetConnect();
??CRecordset rs(&m_db);
??strSql = "select * from tperson";
??rs.Open(CRecordset::forwardOnly,strSql,CRecordset::readOnly);
??while(!rs.IsEOF())
??{
???rs.GetFieldValue("name",strName);//讀取數據庫內容的代碼
???rs.MoveNext();
??}
??m_db.Close();
?}
?CATCH(CDBException,e)
?{
??AfxMessageBox("Database Error:" + e->m_strError);
?}
?END_CATCH;
其中最關鍵的地方也就是strDSN這個字符串的內容要正確。