Sven: DataSet Relations zugriff in ASP.NET

Hallo,

ich habe in meinem Skript in einem DataSet die Datenbankstrutkur von zwei Tabellen und ihrer Beziehungstabelle abgebildet und Relations erzeugt.

Wie kann ich nun auf diese drei Tabellen im dem DataSet zugreifen, wenn ich z.b. folgende sql abfrage darstellen will (nicht als Tabelle, sondern nur als text)

SELECT tab1.name FROM tab1, tab2, tab12 WHERE tab1.id = tab12.id1 AND tab12.id2 = 1 (z.b.)

danke für eure Hilfe!

Sven

  1. Hi,

    vorausgesetzt, ich habe verstanden, was du willst...
    vorausgesetzt, du hast das Dataset richtig befüllt ...

    So einen Inner Join zwischen Zwei Tabellen, kannst du aktuell nicht mit
    ADO.Net Datasets machen. Es gibt möglichkeiten soetwas nachzubilden.
    Dazu gab es vor einigen Monden mal ein paar Artikel bei http://www.sqlteam.com.
    Suche nach "C#" und "Relational Operators".

    Du kannst jedoch diese Bedingung (nur den Namen von Einträgen in Tab1
    anzeigen, wenn dazu auch Einträge in Tab2 oder sonstigen anhand der Ids
    existieren) auch so umsetzen:

    foreach(DataRow rowFromTab1 in DS.Tab1.Rows)
    {
      DataRow[] tab12ChildRows = rowFromTab1.GetChildrows(dataRelationForTab12);
      foreach(DataRow rowFromTab12 in tab12ChildRows)
      {
        if(rowFromTab12.Id2 = 1)
        {
          // verarbeite jetzt rowFromTab1 (Anzeige?!?)
        {
      }
    }

    Dein SQL Statement wird letztenendes auch nicht viel anders in der DB
    selbst umgesetzt (Nested Loops).

    Gruß, Frank