Zugriff auf DataTables in DataSet mit TabellennamenC#

Ein Treffpunkt für C#-Programmierer
Guest
 Zugriff auf DataTables in DataSet mit Tabellennamen

Post by Guest »

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>

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));
}
}
Wenn ich versuche, über den Namen darauf zuzugreifen, schlägt dies fehl und die if-Anweisung wird nicht eingegeben.

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));
}
}
Innerhalb der gespeicherten Prozedur stammen die Daten von Ich habe die folgenden Zeilen eingefügt -

Code: Select all

@tables nvarchar(max)='' output
set @tables='Name1,Name2,Name3'
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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post