我在一个MFC 的程序中使用了 CDataSource类。结果怎么也打不开,各位说是
什么原因呢?

解决方案 »

  1.   

    源代码如下:望多多指教。
    CDataSource  m_DataSource;
    HRESULT  hr=S_OK;
    CDBPropSet  dbinit(DBPROPSET_DBINIT);
    dbinit.AddProperty(DBPROP_AUTH_CACHE_AUTHINFO, true);
    dbinit.AddProperty(DBPROP_AUTH_ENCRYPT_PASSWORD, false);
    dbinit.AddProperty(DBPROP_AUTH_MASK_PASSWORD, false);
    dbinit.AddProperty(DBPROP_AUTH_PASSWORD, OLESTR(""));
    dbinit.AddProperty(DBPROP_AUTH_USERID, OLESTR("Admin"));
    dbinit.AddProperty(DBPROP_INIT_DATASOURCE, OLESTR("F:\\DataSource.mdb"));
    dbinit.AddProperty(DBPROP_INIT_MODE, (long)16);
    dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4);
    dbinit.AddProperty(DBPROP_INIT_PROVIDERSTRING, OLESTR(""));
    dbinit.AddProperty(DBPROP_INIT_LCID, (long)1033);
    dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false);
    hr = m_DataSource.Open(_T("Microsoft.Jet.OLEDB.4.0"), &dbinit);
    if(FAILED(hr))
    {
    AfxMessageBox("请先建立数据库!");
     }
    苦思不得其解。
      

  2.   

    MSDN 找不到相关的例子啊。
      

  3.   

    MSDN  找不到相关的例子啊
      

  4.   

    CDataSource在MSDN中有一些介绍!
      

  5.   

    //dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false);
    就可以了。