CRecordset und InnerJoin



  • Hi Leuts!
    Hab da ein problem! Das man eine abfrage an eine Tabelle schicken kann von der man eine Klasse erstellt hat (abgeleitet von CRecordset) ist mir klar aber was mach ich wenn ich Daten aus 2 Tabellen haben will die ich mittels innerjoin verbinde??
    Währe dankbar für jede anregung die meine anstrengungen in die richtige Richtung lenkt!
    Ach ja und wenn ich dabei bin: Kann man eine abfrage generieren bei der ich nicht alle Spalten einlese? habs mit dynaset statt snapshot versucht, aber dann stand da "dynaset wird nicht von ODBC treiber unterstützt" (oder)! Ist ne MySQL Datenbank!

    Vielen Dank schon mal!
    Gruß Andi



  • eine Ideen zu dem innerjoin:

    1. Selber programmieren mir den vorhandenen RecordSet-Klassen:
      durch die führende Tabelle durch laufen und zu jedem Datensatz einen Filter auf die zweite Tabelle erstellen und die entsprechenden Datensätze neu anfordern. Das hat dann aber möglicherweise eine ganz schlechte Performance.
    2. Eine View/Abfrage in der Datenbank auf die beiden Tabellen erstellen, die genau das macht. Dann eine neue RecordSet-Klasse auf die View erstellen. Ach, Moment mal, ich sehe gerade, das ist eine MySQL-DB... da habe ich doch mal gehört, dass Views nicht funktionieren (obwohl ich mir das gar nicht vorstellen kann).

    Und zu dem nicht-alle-Spalten-einlesen:
    entweder ein entsprechendes SELECT abschicken (SELECT DIES,JENES,DAS FROM SOUNDSO...) oder noch eine RecordSet-Klasse erstellen, die nur die Member von den Spalten enthält, die du haben willst.



  • Erst mal Danke für die Antwort!

    MySQL Unterstützt leider keine Views!! Hab auch schon gedacht quasi einen InnerJoin selbst nachuprogrammieren, das wäre aber ein Haufen Arbeit und würde die Performance extrem drücken! Hat jemand sonst noch einen Vorschlag??

    Wenn man eine SQL Select Anweisung macht, die nicht alle Spalten selektiert macht er einen Fehler! Ich schätze das liegt an dem snapshot Parameter! Aber wie gesagt dynaset funzt net! Scheint ODBC treiber von MySQL nicht zu unterschtützen!
    Muss man wohl dann immer alle Daten einlesen und die nehmen die man braucht! Heftige Ressourcen verschwändung aber für jede Select anweisung die nur bestimmte Spalten anspricht eine Klasse zu schreiben ist mir zu heftig!

    Wäre für weitere anregungen Dankbar!

    Gruß Andi


Anmelden zum Antworten