try                 
{
// 打开本地Access库asmv.mdb
con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\Project\\Debug\\asmv.mdb","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库asmv.mdb是否在当前路径下!");
return FALSE;

就报错了

解决方案 »

  1.   

    看看_com_error::Description,_com_error::ErrorMessage是什么
      

  2.   

    你应该先调用:
    con.CreateInstance(__uuidof(Connection));如果这样还不行的话,那就得看看具体是什么错误,
    可以看看_com_error::Description,_com_error::ErrorMessage的信息。
      

  3.   

    con.CreateInstance(__uuidof(Connection));
    这句话当然调用了
    就是不行啊它就报的 -1我是这样找的错
    con.CreateInstance(__uuidof(Connection));

    try                 
    {
    // 打开本地Access库asmv.mdb
    con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\Project\\Debug\\asmv.mdb","","",adConnectUnspecified);
    }
    catch(_com_error e)
    {
    AfxMessageBox(_bstr_t(_com_error::Description));
    AfxMessageBox(_bstr_t(_com_error::ErrorMessage));
    AfxMessageBox("数据库连接失败,确认数据库asmv.mdb是否在当前路径下!");
    return FALSE;
    } 帮忙看看
      

  4.   

    错误依次是
    -1
    -1
    数据库连接失败,确认数据库asmv.mdb是否在当前路径下!
      

  5.   

    呵呵,你应该这样catch错误: catch(_com_error e)
    {
    AfxMessageBox(e.ErrorMessage());
    }
      

  6.   

    不是调COM组件我用CoInitialize()干吗啊,就是普通调用数据库啊
      

  7.   

    同意cheng_young(古道西风瘦马) ,ADO是COM,
    但程序中可以不调用CoInitialize()要么你就restart,要么你就更新一下mdac,我认为是系统的问题。
      

  8.   

    在哪调啊,他还是给我抱 RunTime 的错误
    是在定义_ConnectionPtr con 之前掉啊
    还是在 con.CreatInstance()之前掉啊
      

  9.   

    App::InitInstance()中调用 AfxOleInit()
      

  10.   

    你可以在BOOL CNameApp::InitInstance()中调用: CoInitialize(NULL);但的确是不调用也可以。
      

  11.   

    con.CreateInstance(__uuidof(Connection));
    这一句有可能就出错了, 看看con是否为NULL
      

  12.   

    我通过了,
    SQL 语句这么写对吗?rst->Open("SELECT * FROM II类标准 where 轻型车=false",                
    con.GetInterfacePtr(),  
    adOpenDynamic,
    adLockOptimistic,
    adCmdText);
    这句话哪错了啊
      

  13.   

    轻型车这个字段是什么类型?
    首先保证你的SQL是正确的啦,你可以在Access中执行一下吗。CString strSql;
    strSql = "select * from MyTable where xxx='abc'";
    _RecordsetPtr rs = con->Execute(strSql.AllocSysString(),NULL,-1);你这个问题已经回复很多条了,似乎问题还在一个一个的冒出来,
    也不知道这些回复对你有没有什么帮助,就到此为止了。
      

  14.   

    轻型车是个是/否,
    也不知道是应该true/false还是yes/no是  轻型车='yes' 还是 轻型车=yes  对呀
      

  15.   

    天啦,不知道是正确是错误,就先在Access中先测试一下咯。应该是 轻型车=false 是正确的。OK,OK, 。
      

  16.   

    在ACCESS里怎么试啊?
    I DON‘T KNOW 啊