Announcement

Collapse
No announcement yet.

BCB6 INNER JOIN SQL mit DBGrid

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BCB6 INNER JOIN SQL mit DBGrid

    Hallo

    Ich habe folgendes SQL String (INNER JOIN)

    SELECT MyS.*, MyS1.*, MyS2.* FROM MySQL_Ploegen MyS, MySQL_probleemploegen MyS1, MySQL_Afdelingen MyS2 WHERE MyS.NUMMER=MyS1.ploegid AND MyS.Afdeling_ID=MyS1.afdelingid AND MyS2.Afdeling_id=MyS1.afdelingid;

    Dieses SQL String wird mit Query6 ausgefuhrt. Keine problemen damit.

    Aber wann Ich die Datei will anzeigen in DBGrid wirden nur die Kolumns angezeigt
    welcher definiert sind in MySQL_probleemploegen.

    Wie kann ich bekommen das ALLE Kolumns von die drei Tables angezeigt wirden?

    Mit danke,

  • #2
    Siehe Hilfe DBGrid:

    Mit Columns können Sie die Feldzuordnungen und Anzeigeattribute der im datensensitiven Gitter enthaltenen Spalten lesen und einstellen. Die Eigenschaft Columns enthält eine indizierte Gruppe von TColumn-Objekten. Mit den Eigenschaften der TColumn-Objekte können Sie die Anzeigeattribute und die Feldzuordnung der einzelnen Spalten im Gitter festlegen. Die Feldzuordnung einer Spalte bezeichnet ein Feld der Datenmenge, die in der Eigenschaft DataSource angegeben wird. Columns kann während des Entwurfs mit dem Spalteneditor und zur Laufzeit im Programm eingestellt werden.
    Christian

    Comment


    • #3
      Danke,

      aber mein Deutsch is nicht zo 100%

      Ich verstehe das Ich wahrend Laufzeit Kolums kann definieren.

      Aber wie muss Ich das machen?

      Unten is mein Kode:

      Code:
      char SQLText[300];
      
      sprintf(SQLText, "SELECT MyS.*, MyS1.*, MyS2.* FROM MySQL_Ploegen MyS, MySQL_probleemploegen MyS1, MySQL_Afdelingen MyS2 WHERE MyS.NUMMER=MyS1.ploegid AND MyS.Afdeling_ID=MyS1.afdelingid AND MyS2.Afdeling_id=MyS1.afdelingid;");
      
            MyQuery6->SQL->SetText(SQLText);
      
            MyQuery6->Close();
            MyQuery6->Open();
      
      
            MyQuery6->FindFirst();
      Die Kolumns von MyS,1,2 muss Ich wahrend laufzeit definieren aber wie?

      Mit danke,

      Comment


      • #4
        Nr. 1

        Wieso char, wenn es String gibt?

        Wozu sprintf, wenn es String gibt???


        Ich verstehe das Ich wahrend Laufzeit Kolums kann definieren.
        Du kannst sie auch über den Objektinspektor einrichten
        Christian

        Comment


        • #5
          Dass kann Ich ändern.

          Comment


          • #6
            DBGrid1->Columns->Add(.....)
            Christian

            Comment


            • #7
              Code:
               DBGrid2->Columns->Add();
                    DBGrid2->Columns->Items[4]->FieldName = "MyS.ploegnaam";
                    DBGrid2->Columns->Items[4]->Title->Caption = "test";
              Ich habe dieses Kode aber funktioniert nicht genau.

              Comment


              • #8
                Ich muss nur die Felden von MyS.*, MyS1.*, MyS2.* anzeigen in DBGrid2

                Aber wie?

                Danke,

                Dass Query6 zeigt ALLE Felden an, auch von die JOIN resultat

                Nur in das DBGrid kann Ich nicht dieses zusammengestelte Query anzeigen

                Comment

                Working...
                X