2013-05-22 24 views
0

我嘗試使用CDaoDatabase打開.mdb文件,但在Open()處發生錯誤:Unrecognised database format。我首先在MSAcces2007中創建了數據庫,並將文件保存爲.mdb,然後我安裝了MSAcces2003並重新創建了該文件,但也存在相同的錯誤。有沒有人有線索發生了什麼?使用visual studio 6程序打開.mdb數據庫

CString pathDB = "SMACDB\\Transports.mdb"; 
CDaoDatabase dbTransp; 

try 
{ 
    dbTransp.Open(pathDB); 

    CDaoRecordset rs(&dbTransp); 
    COleVariant var1; 
    rs.Open(dbOpenSnapshot, "SELECT * FROM Transporturi"); 
    while (!rs.IsEOF()) 
    { 
     var1 = rs.GetFieldValue(1); 
     CString val = (LPCTSTR)var1.bstrVal; 
     g_carRestrict.pCarNmb.AddTail(val); 
     var1 = rs.GetFieldValue(2); 
     g_carRestrict.pAllowed.AddTail(var1.lVal); 

     rs.MoveNext(); 
    } 

    rs.Close(); 
    dbTransp.Close(); 
} 
catch (CDaoException *pEx) 
{ 
    pEx->Delete(); 
} 

回答

2

Visual C++ 6默認使用DAO 3.5,它不支持Access 2000或更高版本的格式。爲了讓MFC使用DAO 3.6,請將運行時版本號更改爲6.01。

推薦閱讀:

You receive an "Unrecognized database format" error message when you open a database created with Access 2000

+0

哦......從MFC SRC文件夾中的鏈接和評論.MAK文件中讀取後,我意識到我可以讓喜歡那些描述的變化讓在我頭上。如果我使用MSAcces'97創建一個數據庫,打開它應該可行,對吧? – MRM

+0

感謝您的回覆!畢竟我使用'Create()'和'Execute()'方法創建數據庫,因爲我沒有多少時間完成與此數據庫相關的任務,但是當我將走出困境時,我會嘗試你的方法。 – MRM

相關問題