主要是不知道如何设置.mdw信息文件?
各位高手指教一下CDBPropSet的属性设置之前如何设置.mdw的相关信息。

解决方案 »

  1.   

    我也在学习CDataSource的问题,帮你up
      

  2.   

    CDataSource db;
    CSession session;
    HRESULT hr;
    CDBPropSet dbinit[2];
    dbinit[0].SetGUID(DBPROPSET_DBINIT);
             //Set Jet OLE DB provider specific properties
      dbinit[1].SetGUID(DBPROPSET_JETOLEDB_DBINIT); dbinit[0].AddProperty(DBPROP_AUTH_CACHE_AUTHINFO, true);
    dbinit[0].AddProperty(DBPROP_AUTH_ENCRYPT_PASSWORD, false);
    dbinit[0].AddProperty(DBPROP_AUTH_MASK_PASSWORD, false);
    dbinit[0].AddProperty(DBPROP_AUTH_PASSWORD, "password1");
    dbinit[0].AddProperty(DBPROP_AUTH_USERID, "user1");
    dbinit[0].AddProperty(DBPROP_INIT_DATASOURCE, "C:\\test.mdb");
    dbinit[0].AddProperty(DBPROP_INIT_MODE, (long)16);
    dbinit[0].AddProperty(DBPROP_INIT_PROMPT, (short)4);
    dbinit[0].AddProperty(DBPROP_INIT_PROVIDERSTRING, ";COUNTRY=0;CP=1252;LANGID=0x0409");
    dbinit[0].AddProperty(DBPROP_INIT_LCID, (long)1033);
    dbinit[0].AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false); //Database password
    dbinit[1].AddProperty(DBPROP_JETOLEDB_DATABASEPASSWORD, "Demo");
    //System database
            dbinit[1].AddProperty(DBPROP_JETOLEDB_SYSDBPATH, "C:\\winnt\\system32\\system.mdw"); hr = db.OpenWithServiceComponents("Microsoft.Jet.OLEDB.4.0", dbinit,2);
    if (FAILED(hr))
    return hr; hr = session.Open(db);
    if (FAILED(hr))
    return hr; CDBPropSet propset(DBPROPSET_ROWSET);
    propset.AddProperty(DBPROP_CANFETCHBACKWARDS, true);
    propset.AddProperty(DBPROP_IRowsetScroll, true);
    propset.AddProperty(DBPROP_IRowsetChange, true);
    propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE );