con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=asmv.mdb","","",adModeUnknown);
这样写对吧他告诉我打不开asmv.mdb文件,肯定是在一个目录下的

解决方案 »

  1.   

    try it1
    con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=asmv.mdb","","",adConnectUnspecified);
      

  2.   

    看看你的mdb文件在调试模式下的目录吗?或者写上绝对路径试试?
      

  3.   

    Dubeg目录下和工程目录下都有啊
      

  4.   

    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;

      

  5.   

    数据库连接失败,确认数据库asmv.mdb是否在当前路径下
      

  6.   

    _ConnectionPtr con(__uuidof(Connection));
    _RecordsetPtr rst(__uuidof(Recordset));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;

    就报错了
      

  7.   

    Debug it!!
    watch the (_com_error) e.errorcode!!!or try it:
    adModeUnknown-->adConnectUnspecified
      

  8.   

    _com_error e;
        e.Description();
      

  9.   

    what is e.Description()?
      

  10.   

    _com_error::Description,_com_error::ErrorMessage 都是  -1
      

  11.   

    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;
    } 帮忙看看
      

  12.   

    AfxMessageBox(_bstr_t(e.Description()));
      

  13.   

    or you can set a break point in catch(_com_error e)
    and see the m_hresult value of e, and list it in here!
      

  14.   

    I have pass it, like that:
       CoInitialize(NULL);
    _ConnectionPtr con;
        con.CreateInstance(__uuidof(Connection));

    try                 
    {
    con->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=H:\\asmv.mdb","","",adConnectUnspecified);
    }
    catch(_com_error e)
    {
    AfxMessageBox(_bstr_t(e.Description()));

        CoUninitialize();
      

  15.   

    it maybe con is null, you not CoInitialize(NULL) and CoUninitialize().
      

  16.   

    如果Access版本较早的话,用OLEDB 4.0打不开,如果你的access是97版的,那么可以用 OLEDB 3.5试试
      

  17.   

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