Laden DataTable mit mehreren Tabellen select-Abfrage
Habe ich nie verwendet, wählen Sie Abfragen mit mehreren Tabellen zu beachten, bevor und wenn ich jetzt tun, ich habe Probleme mit dem erhalten der Informationen aus der DataTable
.
Ich habe diese Abfrage:
SELECT *
FROM [Usergroups], [Groups]
WHERE [Usergroups.UserID] = @name
AND [Groups.GroupID] = [Usergroups.GroupID]
Und das ist, wie ich die zurückgegebenen Werte in einer DataTable:
DataTable groupsTable = new DataTable();
groupsTable.Load(sqlCmd.ExecuteReader());
Nun, wie kann ich angeben, mein DataTable
aus, die Tabelle möchte ich die Zeilen aus? Dies ist ein Beispiel für das, was ich Tat, bevor mehrere Tische, an denen die beteiligten:
string groupName = groupsTable.Rows[0]["Name"];
Konnte ich nicht finden, jede Ressource mit solchen Informationen, aber ich weiß, es ist eine grundlegende Frage. Vielen Dank im Voraus.
- Warum nimmst du nicht inner join in sql Anweisung?
- Schlechte Gewohnheiten zu treten : mit old-style-JOINs, das im alten Stil durch Komma getrennte Liste von Tabellen, Stil eingestellt wurde mit der ANSI-92 SQL-Standard (mehr als 20 Jahre gemeldet)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Abfrage in Ihrer Frage nicht zu produzieren, als ein Ergebnis, mehrere Tabellen.
Es erzeugt einen JOIN zwischen zwei Tabellen.
Als Folge, auf der C# Seite, die Sie nicht haben zwei Tabellen, aber nur eine, wie bisher, mit der alle Felder aus beiden Tabellen.
Als eine Randnotiz, eine bessere Weise zu verbinden Tabellen miteinander ist durch die Verwendung der JOIN-Anweisung wie diese
und Sie sollten hinzufügen, um die SELECT-Klausel eine Liste der Felder, die Sie wirklich interessiert.
FINDEN Sie eine einfache JOIN-Referenz
Wenn Sie möchten, rufen Sie die Werte der beiden Tabellen in separaten DataTable-Objekte, dann Sie benötigen, um ein DataSet in dieser Weise
Diesem letzten Beispiel könnte weiter verbessert das hinzufügen einer DataRelation - Objekt das DataSet, die zum darstellen der Beziehung zwischen den beiden Tabellen. Dies könnte ermöglichen, Ihren code navigieren zu übergeordneten/untergeordneten recordset.
Können Sie versuchen, auf diese Weise :
Obigen code werden Sie wieder eine DataTable mit Daten aus zwei verschiedenen Tabellen sagen, "Benutzer" und "Kunde".
Ich hoffe, jetzt wissen Sie, wie access die Daten aus einer DataTable.
Ist es besser
JOIN
für die Kombination mehrerer Tabellen wie INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL JOIN wie pro Ihre Anforderungen. Also, wenn SieINNER JOIN
wird, müssen die Spalten von zwei verknüpften Tabellen, d.h., wenndann ist das innere verknüpfte Tabelle wird haben a, b, c, e, f, als seine Kolumnen.
Dann, können Sie verwenden, wie diese:
Nachdem ich die
DataTable
, dann können Sie diese Tabelle verwenden, wie:Ich hoffe, Sie bekommen es.
in wpf, c#, kann diese Methode auch verwendet werden, um Daten aus mehreren Tabellen abrufen