Daten aus zwei Tabellen auslesen

Hallo,
ich möchte gerne aus zwei Tabellen auslesen und in eine Tabelle laden. Zum Beispiel mache ich das mit (hoffe das ist jetzt schnell aus dem Kopf richtig :smile:): SELECT person.vorname, person.nachname, rechnung.betrag FROM person, rechnung WHERE rechnung.personID = person.personID

Also so ungefähr. Im normalen SQL-Statementfenster (Access oder MySQL) bekomme ich die richtige Tabelle. Führe ich in C# das über den CommandAdapter aus, erhalte ich eine Fehlermeldung. Muß ich wirklich beide Tabellen einzelen auslesen und dann mit der Realationfunktion zusammenführen?

Ok, wenn das nur so möglich ist und ich habe nun zwei Tabellen im Dataset, habe ich noch nicht heruasgefunden, wie ich mir dann die Daten nach dem o.g. Filterungsbefehl aus dem Dataset fischen kann.

Ich hoffe ihr versteht was mein Problem ist und bedank mich für jede Hilfe schon mal im voraus.

Gruß Olli

Hallo Olli,

zum ersten Teil kann ich Dir leider nichts sagen, da ich nicht mit Adaptern arbeite.
Zum DataSet:
Wenn Du die Relationen zwischen den Tabellen eines DataSets richtig definiert hast, gibt es bei einer DataRow einer Tabelle eine Funktion GetUNTERGEORDNETEELEMENTERows, wobei UNTERGEORDNETEELEMENTE die DataRows der abhängigen Tabelle sind.

Schöne Grüße
Thomas

hallo unikum,

ich dimensioniere mir einen oledbdatadataper und einen command as system.data.oledb.oledbcommand

oledbdataadapter.selectcommand = command
oledbdataadapter.connection = oledbconnection1

command.commandtext = "SELECT

person.vorname, person.nachname, rechnung.betrag FROM person,
rechnung WHERE rechnung.personID = person.personID"

command.executenonquery()

oledbdataadapter.fill(dataset, „meine daten“)

ist es das was du willst?

hoffe es hilft

viele grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hey Rasta,
ja genausowas in der Richtung. Das was du geschrieben hast habe ich auch schon ausprobiert, doch da bekomme ich eine Fehlermeldung.

Mein Ziel ist es (oder Vorstellung): Ich habe zwei Tabellen. Anzahl der Spalten sei mal egal. Ich sag mal hier, ich bin noch relativ unbedarft in DB-Programmierung und kann kaum mehr als mal nen SELECT :smile:.

Egal, meine Idee war, ich wollte aus mehreren Tabellen meinetwegen nur bestimmte Spalten selectiert haben, die in einer Tabelle ausgegeben werden und meinetwegen an ein DataSet übergeben werden.

Ich hatte mich dann gefragt, ob es überhaupt möglich ist auf einem einfachem Wege die geänderten Werte in den Zellen von den Spalten später den richtigen Tabellen zuzuordnen.
Das würde nämlich dann gehen, wenn das Framework sich bei den Spalten auch die dazueghörigen Tabelle merken würde. Und ob er das macht hab ich (noch) nicht herausgefunden.

Uff, ich hoffe du weißt, worauf ich hinaus möchte :smile:

Gruß Olli

hallo unikum,

wie lautet die fehlermeldung?? - ich bekomm keine :smile:

also, du möchtest, das die geänderte daten ohne viel zutun in der datenbank aktualisiert werden?

das geht mit ado.net

da kannst du dann dein „dataset“ mit den db-tabellen verknüpfen – änderst die werte im „dataset“ und sagst dann nur noch update um die daten zu schreiben

ICH mache alles über commands und sql… sprich wenn ICH mir daten aus verschiedenen tabellen auslese, schiesse ich diese genauso per sql wieder in die db

einfach ist relativ —

viele grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]