Für jede Tabelle einer Datenbank eine separate Klasse ...



  • Hallo Leute,

    ich habe folgendes Problem.
    Ich habe mit dem MFC ein SDI Projekt mit Datenbankunterstützung über ODBC erstellt. Nun habe ich über die Klasse C...Set zwei Tabellen einer Datenbank per join abgefragt und die Ergebnisse in einem Flexgrid abgelegt. Als ich dann in die dritte Tabelle schreiben wollte, kommt die Meldung er kann nicht schreiben. Durch recherche habe ich herausgefunden, dass man bei mehr als einer Tabelle nicht schreiben kann und man deswegen für jede Tabelle eine eigene Klasse erstellen soll. Nun gut. Ich habe eine weitere Klasse angelegt, abgeleitet von CRecordset und auch wieder ODBC auf meine DB-Tabelle.
    Jetzt kommt das Problem:

    Ich möchte nun in der Klasse C...View in meiner Funktion die neu angelegte Tabelle mit Werten füllen, weiß aber nicht wie ich die Klasse anspreche. Bei meiner Abfrage der Standard C...Set Klasse habe ich nur in C...View folgendes geschrieben.

    for (int liCount=m_ctlFGrid.GetFixedRows(); liCount<=m_pSet->GetRecordCount(); liCount++) {
    
    // Werte für Vortragsnummer generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 0), m_pSet->m_praesentation_nr);
    // Werte für Datum generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 1), m_pSet->m_pdate);
    // Werte für Beginn generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 2), m_pSet->m_beginning_time);
    // Werte für Ende generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 3), m_pSet->m_ending_time);
    // Werte für Saal generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 4), m_pSet->m_hall_nr);
    // Werte für Name generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 5), m_pSet->m_name);
    // Werte für UNC generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 6), m_pSet->m_unc);
    // Werte für Name generieren
    m_ctlFGrid.SetTextArray(GenID(liCount, 7), "Status");
    
    m_pSet->MoveNext();
    }
    

    Bei der Art und Weiße weiß er ja auch, dass damit die Klasse C...Set angesprochen wird.

    Hoffe einer von euch kann mir mit diesem doch eigentlich sehr einfachen Problem helfen.


Anmelden zum Antworten