2012-01-18 1 views
1

Мне нужно прочитать данные из mdb-файлов с помощью C++, но у меня возникли проблемы с запуском. Я нашел this учебник, но мой код всегда сбой, когда я пытаюсь подключиться к локальному файлу базы данных.Как читать данные из mdb-файлов с помощью C++?

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

ответ

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()); 
} 
1

Вы можете использовать MFC для этого. Пожалуйста, посмотрите ENROLL Sample: A Sample MFC Database Application. Среди прочего это иллюстрирует создание соединения с базой данных, повторение, добавление и удаление записей.

Data Access Programming перечисляет различные варианты подключения к базе данных.