Veröffentlicht 3. Juli 200223 j Hallo, ich wollte nur Fragen ob jemand ein eingfaches Beispiel zu ADO und kennt. P.S: habe bereits schon ein bischen experimentiert, aber bei folgender Zeile bekomme ich immer einen Fehler: pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=VCPPTestDB","","",adOpenUnspecified); warum weiß ich aber nicht? Danke im voraus.
3. Juli 200223 j Hi Chief! Kurze Frage: Mit welcher Entwicklungsumgebung arbeitest Du (Borland oder MS)? Unter Borland kenn ich die Open-Funktion mit Übergabeparametern nämlich gar nicht. Gruß, Uncle Reaper
3. Juli 200223 j Original geschrieben von Chief habe bereits schon ein bischen experimentiert, aber bei folgender Zeile bekomme ich immer einen Fehler: Sagst Du uns, welchen? Meine Kristallkugel ist gerade in der Werkstatt
3. Juli 200223 j Sag ich dir gern, wenns weiter hilft: Unbehandelte Ausnahme in test.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
3. Juli 200223 j Ich meinte eher den Rückgabewert des Open-Aufrufs... Nachtrag: Wenn der Open-Aufruf selbst diese Exception wirft, könnte das auf ein fehlendes CoInitialize hindeuten (oder ein globales OLE-Objekt). Rufst Du CoInitialize auf? Ist pConn evtl. ein globaler Smartpointer?
3. Juli 200223 j Bin in dieser Beziehung noch Anfänger und steh zu dem auch noch auf dem Schlauch. Sobald ich die Open-Funktion aufrufe erscheint dieser Fehler. Rückgabewert? wenn ja wo. :confused:
3. Juli 200223 j Wie oben gesagt, wenn Du CoInitialize nicht oder zu spät aufruftst, kann das passieren.
3. Juli 200223 j So in dieser Reihenfolge stehst geschrieben: ::CoInitialize(NULL); _ConnectionPtr pConn; pConn.CreateInstance(__uuidof(Connection)); pConn->Open(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=VCPPTestDB",L"",L"",adOpenUnspecified);
3. Juli 200223 j Hm, sieht eigentlich gut aus. Fang die Exception mal ab: ::CoInitialize(NULL); _ConnectionPtr pConn; pConn.CreateInstance(__uuidof(Connection)); try { pConn->Open(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=VCPPTestDB",L"",L"",adOpenUnspecified); } catch(_com_error &e) { ErrorPtr pErr = NULL; if( (pConn->Errors->Count) > 0) { long nCount = pConn->Errors->Count; for(long i = 0;i < nCount;i++) { pErr = pConn->Errors->GetItem(i); printf("\t Error number: %x\t%s", pErr->Number, pErr->Description); } } _bstr_t bstrSource(e.Source()); _bstr_t bstrDescription(e.Description()); printf("Error\n"); printf("\tCode = %08lx\n", e.Error()); printf("\tCode meaning = %s\n", e.ErrorMessage()); printf("\tSource = %s\n", (LPCSTR) bstrSource); printf("\tDescription = %s\n", (LPCSTR) bstrDescription); }[/CODE]
3. Juli 200223 j Danke für deine Hilfe der Hilfe. Der Fehler war, dass ich im Pfad der datenquelle c:\datenbank\test.mdb statt c:\\datenbank\\test.mdb verwendet habe. Kann das sein?!? :marine
3. Juli 200223 j Original geschrieben von Chief Danke für deine Hilfe der Hilfe. Der Fehler war, dass ich im Pfad der datenquelle c:\datenbank\test.mdb statt c:\\datenbank\\test.mdb verwendet habe. Kann das sein?!? :marine Kommt drauf an. Wo gibst Du den Namen an? Und was ist "Hilfe der Hilfe"?
3. Juli 200223 j "Hilfe der Hilfe" => Tipfehler pConn->Open(L"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Datenbank\\Test.mdb",L"",L"",adOpenUnspecified); habe ich verändert, da er vorher keine Datenquelle finden konnte. Also nochmal danke, für deine Hilfe!
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.