Zugriff auf DataTables in DataSet mit Tabellennamen
Posted: 19 Jan 2025, 18:27
Ich schreibe derzeit ein Programm, das 3 Tabellen von SQL empfängt, mit den Daten aus jeder von mir verwendeten Tabelle und Zeile, um ein Objekt einer entsprechenden Klasse zu erstellen.
Nach dem Debugging-Schritt Schritt für Schritt kann ich sehen, dass die Daten im DataSet tatsächlich korrekt sind, aber ich kann anscheinend nicht namentlich darauf zugreifen.
Wenn ich auf die Tabellen im DataSet über ihren Index zugreife, funktioniert es perfekt, so -< /p>
Wenn ich versuche, über den Namen darauf zuzugreifen, schlägt dies fehl und die if-Anweisung wird nicht eingegeben.
Innerhalb der gespeicherten Prozedur stammen die Daten von Ich habe die folgenden Zeilen eingefügt -
Beim Debuggen und Überprüfen des Inhalts der ds-Variablen sind die Daten korrekt, aber die Namen der Tabellen lauten „Tabelle, Tabelle1, Tabelle2“
Was mache ich falsch? Ich würde gerne über den Namen auf die Tabellen zugreifen, da dies den Code zuverlässiger macht, falls Änderungen daran oder an der Prozedur vorgenommen werden.
Ich habe stattdessen versucht, die Indizes der Tabelle zu verwenden von ihren Namen hat das perfekt funktioniert, aber ich würde gerne die Namen der Tabellen verwenden.
Nach dem Debugging-Schritt Schritt für Schritt kann ich sehen, dass die Daten im DataSet tatsächlich korrekt sind, aber ich kann anscheinend nicht namentlich darauf zugreifen.
Wenn ich auf die Tabellen im DataSet über ihren Index zugreife, funktioniert es perfekt, so -< /p>
Code: Select all
DataSet ds = new ProgramProcedures().GetTestByUser(UserId);
if (ds.Tables[0].IsHasRows())
{
foreach (DataRow _dr in ds.Tables[0].Rows)
{
TestList.Add(new Test(_dr));
}
}
Code: Select all
DataSet ds = new ProgramProcedures().GetTestByUser(UserId);
if (ds.Tables["Name1"].IsHasRows())
{
foreach (DataRow _dr in ds.Tables["Name1"].Rows)
{
TestList.Add(new Test(_dr));
}
}
Code: Select all
@tables nvarchar(max)='' output
set @tables='Name1,Name2,Name3'
Was mache ich falsch? Ich würde gerne über den Namen auf die Tabellen zugreifen, da dies den Code zuverlässiger macht, falls Änderungen daran oder an der Prozedur vorgenommen werden.
Ich habe stattdessen versucht, die Indizes der Tabelle zu verwenden von ihren Namen hat das perfekt funktioniert, aber ich würde gerne die Namen der Tabellen verwenden.