Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - prüfen ob DataSet wenigstens einen Wert enthält


Mr.y - Mo 08.11.10 22:23
Titel: prüfen ob DataSet wenigstens einen Wert enthält
Hallo ich möchte gerne prüfen ob mein DataSet wenigstens einen Wert enthält,
bevor er ihn abfragt:


C#-Quelltext
1:
2:
3:
4:
  if (stDATA.Tables[0].Rows[0] != null)
      {
           .......
      }


aber dann kommt ja der Fehler, dass an der Zeile [0] nichts ist....
wie kann ich danach prüfen, ob da was drin ist? und wenn es was drin ist, dann soll er das ja weiter verarbeiten
ich dachte mir ungleich NULL könnte gehen, aber die exception kommt dennoch....:(

Danke im voraus


Trashkid2000 - Di 09.11.10 10:19

Hallo,

denke mal, Du bekommst eine IndexOutOfRangeException-Exception. Du fragst eine Stelle in .Rows ab, die aber nicht existiert (also nichtmal null ist), wenn die Anzahl 0 ist.

Du könntest aber einfach mal die Anzahl abfragen:

C#-Quelltext
1:
2:
3:
4:
if (stDATA.Tables[0].Rows[0].Count > 0)
{
   .......
}


Marko


Th69 - Di 09.11.10 12:50

Evtl. ist aber noch nicht mal eine Tabelle vorhanden, daher dann auf

C#-Quelltext
1:
if(stDATA.Tables.Count > 0)                    

abfragen.

P.S. Trashkid2000 meinte:

C#-Quelltext
1:
if (stDATA.Tables[0].Rows.Count > 0)                    


Trashkid2000 - Di 09.11.10 13:47

@user profile iconTh69 Danke für die Verbesserung!
Stimmt, das wollte ich eigentlich schreiben :wink:

Und die Abfrage auf .Tables.Count ist natürlich auch sinnvoll.

LG


Mr.y - Di 09.11.10 16:44

super, danke für die tipps,

ist den ein Table vorhaden, wenn der return-wert nichts enthält?
Nur halt den Column "blablabla"??
Da ist doch schon ein Table da oder?