Gleichzeitig aus mehreren Datenbanktabellen Lesen?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von StolleJay.

    Gleichzeitig aus mehreren Datenbanktabellen Lesen?

    Hallo,
    kurz und Bündig :)
    Wie kann ich gleichzeitig mehrere versch. Tabellen in einer Datenbank Abfragen um die darin befindlichen Spalten anzeigen zu lassen?

    Ich habe es schon so versucht jedoch klappt es nicht.

    VB.NET-Quellcode

    1. cmd.CommandText = "SELECT * FROM Table1;" & _
    2. "SELECT * FROM Table2"
    Mach das mit DataSet... Beispiel:

    Quellcode

    1. DataSet ds = new DataSet();
    2. SqlDataAdapter sqlAdapter = new SqlDataAdapter("SELECT * FROM Table1; SELECT * FROM Table2", new SqlConnection("Data Source=...;Initial Catalog=...;user id ='...';password='...';Pooling=False;"));
    3. sqlAdapter.Fill(ds);


    wenn du das ausgeführt hast, dann hast du in ds.Table[0] das erste Ergebnis stehen, und ds.Table[1] das zweite...

    Hab mir jetzt den Beispiel aus den Kopf zusammengeschrieben, könnte sein, dass es noch ein wenig fehlerhaft ist...

    StolleJay schrieb:

    Wie kann ich gleichzeitig mehrere versch. Tabellen in einer Datenbank Abfragen um die darin befindlichen Spalten anzeigen zu lassen?
    Solch ist in Sql zwar vorgesehen, man nennt es Join, aber das ist keine gute Idee.
    Bei einem Join werden mehrere Tabellen zu einer gemeinsamen Tabelle zusammengefügt und an den Client geschickt.
    Der kann das dann anzeigen - toll.
    Etwas eingeben oder ändern kann er nicht, denn im Client ist nun eine Tabelle, die in der Datenbank gar nicht existiert. Daher kann der Client vlt. was ändern, aber er kanns nicht zurückspeichern.

    Für dieses Problem gibts eine bessere Lösung: nämlich man fragt die beiden Tabellen getrennt ab, und speichert sie auch im Client in verschiedenen Dataset-Tabellen.
    Nun kann man das Dataset anzeigen, und mit dem Dataset ist es möglich, mehrere Tabellen zusammengejoint anzuzeigen, und trotzdem Änderungen vorzunehmen - welche sich dann in den verschiedenen DataTables niederschlagen.
    Und diese DataTables lassen sich problemlos zurückschreiben.

    Ich empfehle immer, zunächst mal nur die Dataset-Seite zu planen und zu programmieren - eine Datenbank kann man auch nachträglich hinterlegen, wenn alles annere tiptop läuft.
    Gugge vier Views-Videos