Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Ole Db, Crowset -> Movenext Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.08.2002, 18:13 Uhr
Christian
C/C++ Master
(Operator)


Hallo!

Ich habe jetzt die Frage einmal hier herein geschrieben, da ja die OLE DB Consumer Templates eher zur MFC, bzw. zu Klassenbibliotheken, als zur API passen.

Mein Problem: Ich bin dabei mir ein Programm zu schreiben, das mdb DBs analysiert. Das funktioniert auch sehr gut. Nun ist es so, dass ich eine BeispielDB analysieren wollte und fogelndes Problem eintritt:
Alle Tabellen, die ich angelegt habe, werden vom Programm problemlos dargestellt außer eine. Dort gibt es folgendes Problem: Ich verwende den Datentyp:
CTable <CDynamicAccessor> table;

Rufe ich nun die Methode MoveNext() der CRowset Klasse auf, dann erhalte ich den Errorcode: 0x8000FFFF. Ich habe einmal nachgesehen, der bedeutet soviel wie: E_UNEXPECTED. Das ist komisch, ich weiß nicht woher der kommen kann. In der Datenbanktabelle sind aber noch 2 weitere Datensätze enthalten.
Ich habe einmal den Knackpunkt nachprogrammiert in einer Konsoleanwendung. Der COde ist etwa so:


C++:
CoInitialize(NULL);
    CDataSource DS;
    HRESULT hr = DS.Open("Microsoft.Jet.OLEDB.4.0", "c: \\cocktails.mdb");
    
    CSession session;
    session.Open(DS);
    
    CTable <CDynamicAccessor> t1;
    t1.Open(session, "Cocktails");
     hr = t1.MoveFirst();
    hr = t1.MoveNext();    // puts out the error code 0x8000ffff
    
    hr = HRESULT_CODE(hr);

    BSTR r = new (OLECHAR[255]);
    r = (BSTR) t1.GetValue(2);

    printf("\n\n%S", r);
    
    SysFreeString(r);
    t1.Close();
    session.Close();
    DS.Close();


    
    printf("Ende!\n");
    CoUninitialize();
    return 0;



Wenn jemand was weiß wäre ich total dankbar.
Ist es so, dass das Problem dann bei der DB liegt? Vom Zugriff dürfte das ja stimmen oder?

Danke.

Editiert: Hab nur den Smile im Quellcode entfernt. Uwe
--
Grüße, Christian

Dieser Post wurde am 04.08.2002 um 13:58 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.08.2002, 20:08 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Christian,
hast Du den Zugriff mal an einer anderen Access DB ausgeführt? Der Fehler liegt garantiert an Deiner DB. Bei einem Testlauf auf meinem System lief alles ohne Probleme.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.08.2002, 13:26 Uhr
Christian
C/C++ Master
(Operator)


hi uwe!

Ich hoffe, dass das so ist. Das ist echt ärgerlich. Vor allem verstehe ich das nicht. Das ist eine ganz normale Access DB. Ich hoffe, dass das jetzt ein Einzelfall ist, wenn nicht, dann werde ich wieder etwas posten.

Grüße
--
Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: