Problem bei CRecordset auslesen



  • Also ich habe eine Access-DB mit mehreren Tabellen, hab mit dem Assistenten eine Klasse von CRecordset abgeleitet und beim Anlegen alle Tabellen mit angegeben.

    Nun möchte ich unter anderem nur ein Teil der Daten auslesen, aus nur einer der Tabellen. Oder ich möchte nicht alle Spalten.

    Wenn ich nun den entsprechenden SQL-Befehl absetze bekomme ich folgende Exception: "Ungültige Deskriptor-Tabelle".

    Woran liegt das, wie krieg ich das weg???



  • Wie machst du das genau (code) ?

    Ich mache das für gewöhnlich so:

    CDatabase db;
    db.Open(...);
    CRecordSet rs(&db);
    rs.Open(CRecordset::forwardOnly, "Select * from Tabelle", CRecordset::readOnly);
    CString spalte1, spalte2;
    while(!rs.IsEOF)
    {
      rs.GetFieldValue("SPALTE1", spalte1);
      rs.GetFieldValue("SPALTE2", spalte2);
      TRACE("Hier das Ergebnis:" + spalte1 + spalte2 + "\n");
      rs.MoveNext();
    }
    rs.Close();
    

    Oder willst du unbedingt die AddNew, Edit, und Update-Methoden benutzen können? Um zu sehen wie das mit ner abgeleiteten Klasse von CRecordSet funktioniert müsste ich zu Hause mal ausprobieren.
    Ne where-Klausel müsstest du glaub ich irgendwie übern Filter angeben können.



  • AddNew, Edit und Update kann man mit mehreren Tabellen gleichzeitig sowieso vergessen. Das geht nicht. ⚠



  • @tow-b: wie kann man mit deiner Methode Datensätze bearbeiten und neu hinzufügen?

    Thx für die Antwort


Anmelden zum Antworten