Wie wenn zwei Tabellen vorhanden



  • Wie kann ich denn zu einer Datenbank zugreifen, wenn in dieser zwei Tabellen oder mehr vorhanden sind und ich nur zu einer in einem Dialog und in einem Form zu einer anderen Tabelle die Verbindung herstellen will, und das innerhalb einer Anwendung?

    Habe schon folgenden Code:

    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    /////////////////////////////////////////////////////////////////////////////
    // CMPSet
    
    IMPLEMENT_DYNAMIC(CMPSet, CRecordset)
    
    CMPSet::CMPSet(CDatabase* pdb) : CRecordset(pdb)
    {
        m_dbNummer = 0;
        m_nFields = 10;
        m_nDefaultType = dynaset;
    }
    
    CString CMPSet::GetDefaultConnect()
    {
        return _T("DBQ=database.mdb;DefaultDir=.;Driver={Driver do Microsoft Access (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=database.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;");
    }
    
    CString CMPSet::GetDefaultSQL()
    {
        return _T("[MP3Lieder]");
    }
    
    void CMPSet::DoFieldExchange(CFieldExchange* pFX)
    {
        pFX->SetFieldType(CFieldExchange::outputColumn);
    // Macros such as RFX_Text() and RFX_Int() are dependent on the
    // type of the member variable, not the type of the field in the database.
    // ODBC will try to automatically convert the column value to the requested type
        RFX_Long(pFX, _T("[Nummer]"), m_dbNummer);
    
    }
    
    /////////////////////////////////////////////////////////////////////////////
    // Diagnose CMPSet
    
    #ifdef _DEBUG
    void CMPSet::AssertValid() const
    {
        CRecordset::AssertValid();
    }
    
    void CMPSet::Dump(CDumpContext& dc) const
    {
        CRecordset::Dump(dc);
    }
    #endif //_DEBUG
    


  • Du müsstest für jede Tabelle eine eigene Klasse ableiten...

    Devil



  • Und was ist eigentlich wenn ich praktisch von einer tabelle zu einer anderen abgeleitet ahbe, z.B Tabelle Person mit Nr., Name, Adresse usw. und dann eine Tabelle Student mit Nr. von einer Person als Prim.Key und einem Eintrittsdatum als weiters Attribut. Wenn ich nun eine Klasse von CRecordset mit mir automatisch generieren lassen, bietet er mir nur die Atrribute von der Tabelle Studen an, also Nr. und Eintrittsdatum. Wie löst man es nun am elegantesten dass bei einer Neuanlage eines Studenten auch eine Perosn angelegt wird und die entsprechenden Attribute gefüllt werden können.

    gruß

    Stalin


Anmelden zum Antworten