Announcement

Collapse
No announcement yet.

DataSetSource.

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

  • DataSetSource.

    Hallo,

    Ich bin ein *newbie* mit programmierung von BDE mit C++ Builder 6.0
    Ich habe schön viele software geschrieben fur Elektronik mit C++

    Im eine Woche habe Ich schön eine database entwickelt das funkioniert mit
    Table, DBGrid und DataSource components. Das funkioniert gut.

    Aber jetzt will Ich eine Table bekommen mit Daten von mehrere quellen, z.B.
    sport.dbf und days.dbf.

    Ich habe viele code gelesen in \cbuilder6.0\examples und TDataSetClient gefunden. Aber fur ein *newbie* ist das schwer.

    Kann Jemand mir sagen wie mann startet mit das DataSetClient, so das Ich eine DBGrid bekomme mit daten von mehrere quellen.

  • #2
    Hallo,

    Du könntest z.B. TQuery (beim Grid als Quelle angeben) als Dataset verwenden und als SQL-String sowas wie:
    Code:
    select t1.col1 as name1, t1.col2 as name2, t2.col1 as name3 from table1 t1, table2 t2
    Damit hättest Du row1 und row2 aus table1 und row1 aus table2 im Grid mit den Bezeichnungen name1, name2 und name3.

    Gruß Knut

    Comment


    • #3
      Danke Knut, dass gehe Ich morgen probieren.
      Zuletzt editiert von Quadran; 12.08.2007, 09:56.

      Comment


      • #4
        Ok,

        Ich habe diese Komponenten auf meine Form gesetzt :


        Query1 : Name = Query1
        DataSource = sportcijfers
        DataSet = dssport

        TTable1 : Name = sportcijfers
        Tablename = sport.dbf
        Databasename = sportcijfers
        TDataSource1: Name : DataSet = sportcijfers

        TTable2 : Name = ploegen
        Tablename = ploegen.dbf
        Databasename = ploegen


        Und dan mein DBGrid:

        DBGrid2 : Name = DBGrid2
        DataSource = dssport
        DataSet = sportcijfers


        DBGrid2 muss wie folgt aussehn:

        Code:
        [NR]                            [PLOEGNAAM]                     [S1]   [S2]   [S3] ... [S26]
        ploegen.nr                 ploegen.ploegnaam            sportcijfers.S1 ... S26
        ....
        ....
        ....
        ....

        NR & PLOENAAM will Ich gerne von TTable1, S1 bis S26 von TTable2 bekommen.
        aber Ich könnte nur 1 DataSource + set im DBGrid2 einfugen


        Kann Jemand ein *newbie* etwass erklärung bringen?
        (Ich habe auf eine Woche TTable & DataSource gelernt, aber es ist viel wann
        mann alles muss verstehn ohne hilfe)


        Ach ja, wann Jemand sich abfragt wass für database Ich entwickelt:
        Ein programma für die Fussbal Klassementen

        Danke !
        Zuletzt editiert von Quadran; 12.08.2007, 10:02.

        Comment


        • #5
          Hallo,

          Table1 und Table2 brauchst Du nicht! Du verbindest Deine TQuery-Komponente mit der TDatasource-Komponente und diese mit dem Grid.
          Bei TQuery gibst Du kein Dataset an.

          Dann:
          Code:
          Query1->Close();
          Query1->SQL->Text = "SELECT t1.nr AS NR, t1.ploegnaam AS PLOEGNAAM, t2.S1 AS S1...
          ... FROM ploegen t1, sportcijfers t2";
          Query1->Open();
          Und noch etwas:
          NR & PLOENAAM will Ich gerne von TTable1, S1 bis S26 von TTable2 bekommen.
          aber Ich könnte nur 1 DataSource + set im DBGrid2 einfugen
          Dataset liegt TTable oder TQuery zugrunde, es ist die allgemeine Referenz auf eine (physikalische) Datenmenge.
          DataSource ist für die Verbindung eines DataSets zu einer Komponente, die Daten anzeigt oder verarbeitet (z.B. TDBGrid).
          Es ist also nicht sinvoll, z.B. beim Grid beides anzugeben, sondern für gewöhnlich nur DataSource.
          Außerdem verwendest Du dssport mal als DataSet und mal als DataSource - das kann nicht richtig sein...

          Gruß Knut
          Zuletzt editiert von Knut Lohse; 12.08.2007, 18:02.

          Comment

          Working...
          X