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?

War es hilfreich?

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
scroll top