如何使用c ++从mdb文件中读取数据?

时间:2012-01-18 15:00:05

标签: c++ ms-access ado

我必须使用c ++从mdb文件中读取数据,但我无法入门。我找到了this教程,但是当我尝试连接到本地数据库文件时,我的代码总是崩溃。

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);

上面的代码有什么问题吗?

2 个答案:

答案 0 :(得分:1)

您可以使用MFC。请查看 ENROLL Sample: A Sample MFC Database Application 。除此之外,它还说明了建立数据库连接,迭代,添加和删除记录

Data Access Programming 枚举各种数据库连接选项。

答案 1 :(得分: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());
}