2012-01-18 319 views
1

我必須使用C++從mdb文件中讀取數據,但是我無法入門。我發現this教程,但是當我嘗試連接到本地數據庫文件時,我的代碼總是崩潰。如何使用C++從mdb文件讀取數據?

ADO::_ConnectionPtr conn; 
conn.CreateInstance(__uuidof(ADO::Connection)); 
conn->Open(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.mdb;", 
         L"", 
         L"password", 
         ADO::adConnectUnspecified); 

上面的代碼有什麼問題嗎?

+0

您是否至少嘗試過搜索Stackoverflow?人們不理解被要求提供代碼。 – Fionnuala 2012-01-18 15:23:45

回答

1

如果添加一些錯誤處理,它不會崩潰。並且您將有機會診斷髮生了什麼問題:

try { 
    ADO::_ConnectionPtr conn; 
    conn.CreateInstance(__uuidof(ADO::Connection)); 
    conn->Open(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database.mdb;", 
     L"", 
     L"password", 
     ADO::adConnectUnspecified); 
} 

catch (_com_error& e) { 
    printf("Error:\n"); 
    printf("Code = %08lx\n", e.Error()); 
    printf("Message = %s\n", e.ErrorMessage()); 
    printf("Source = %s\n", (LPCSTR) e.Source()); 
    printf("Description = %s\n", (LPCSTR) e.Description()); 
}