Datenbankeinbindung in VS C++ mit OleDB
-
Ich habe ein Problem beim Einbinden.
Mein Code sieht so aus:
HRESULT hr;
CDBPropSet dbinit(DBPROPSET_DBINIT);
dbinit.AddProperty(DBPROP_AUTH_USERID,"Admin");
dbinit.AddProperty(DBPROP_AUTH_PASSWORD,OLESTR("0"));
dbinit.AddProperty(DBPROP_INIT_DATASOURCE,OLESTR("http://\\\Uls430\\student\\Kaiser\...my_database.mdb"));
CDataSource a;
CSession Session;
CCommand <CNoAccessor,CNoRowset> Command;
hr = a.Open(_T("Microsoft.Jet.OLEDB.4.0"),&dbinit);if (FAILED(hr))
{
cout<<"ERROR!"<<endl;
return hr;
}
cout<<"Bin geoeffnet!"<<endl;
Session.Open(a);
}An der mit einem Pfeil markierten Stelle, steigt das Programm jedoch aus.
Warum?? Wo ist der Fehler?
Danke!Gruß
Pferdele
-
zumindestens weist du das deine datenbank nicht geöffnet wird.
beispiel von mir
ATLASSERT(m_cDS.m_spInit == NULL && sFile); HRESULT hr; CComBSTR x("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="); if (*sFile == '.' || *sFile == '\\') { if (*(sFile+1) != ':') x +=m_cPath; } else { ATLASSERT(m_pIni); char sPath[MAX_PATH+1]; ::GetPrivateProfileStringA(INI_APP_ADJUSTMENT, DB_PATH, "", sPath, MAX_PATH, m_pIni); x +=sPath; x +="\\"; } x +=sFile; hr=m_cDS.OpenFromInitializationString(x); if(FAILED(hr)) { Close(); ATLTRACE("CDataSource::OpenFromInitializationString failed: hr = %x\n", hr); throw CDatabaseException(hr); }
CDataSource m_cDS;
-
So schlau bin ich auch, die Frage ist nur warum verwehrt er mir den Zugang
zur Datenbank.
-
lesen, lernen und es gibt doch auch noch andere beispiele z.b http://www.codeproject.com/wtl/oledb.asp