Überprüfen Sie, ob DataRow nach Spaltenname in c # existiert? [Duplikat]
Frage
Diese Frage bereits eine Antwort hier:
- ADO.NET DataRow - Check für Spalte Existenz 2 Antworten
Ich möchte etwas tun:
private User PopulateUsersList(DataRow row)
{
Users user = new Users();
user.Id = int.Parse(row["US_ID"].ToString());
if (row["US_OTHERFRIEND"] != null)
{
user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
return user;
}
Allerdings bekomme ich eine Fehlermeldung, dass US_OTHERFRIEND
gehört nicht auf den Tisch.
Ich möchte einfach überprüfen, ob es nicht null ist, dann wird der Wert eingestellt.
Gibt es nicht eine Möglichkeit, dies zu tun?
Lösung
Sie sollten versuchen,
if (row.Table.Columns.Contains("US_OTHERFRIEND"))
Ich glaube nicht, dass eine Reihe Spalten Eigenschaft hat selbst.
Andere Tipps
if (drMyRow.Table.Columns["ColNameToCheck"] != null)
{
doSomethingUseful;
{
else { return; }
Obwohl die DataRow keine Spalten Eigenschaft haben, hat es eine Tabelle, die die Spalte für überprüft werden kann.
Sie können die Datacolumncollection Ihrer Datentabelle verwenden, um zu überprüfen, ob die Spalte in der Sammlung ist.
So etwas wie:
DataColumnCollection Columns = dtItems.Columns;
if (Columns.Contains(ColNameToCheck))
{
row["ColNameToCheck"] = "Checked";
}
Sie können mit
try {
user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
// do something if you want
}
if (row.Columns.Contains("US_OTHERFRIEND"))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow