Domanda

    

Questa domanda ha già una risposta qui:

         

Io voglio fare qualcosa di simile:

   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;
        }

Tuttavia, ottengo un errore dicendo US_OTHERFRIEND non appartiene alla tabella. Voglio controllare semplicemente se non è nullo, quindi impostare il valore.

Non c'è un modo per fare questo?

È stato utile?

Soluzione

Si dovrebbe cercare

if (row.Table.Columns.Contains("US_OTHERFRIEND"))

Non credo che fila ha una proprietà colonne in sé.

Altri suggerimenti

if (drMyRow.Table.Columns["ColNameToCheck"] != null)
{
   doSomethingUseful;
{
else { return; }

Anche se il DataRow non ha una proprietà Colonne, si ha una tabella che la colonna può essere controllato per.

È possibile utilizzare la DataColumnCollection della tua datatable per verificare se la colonna è nella collezione.

Qualcosa di simile:

DataColumnCollection Columns = dtItems.Columns;

if (Columns.Contains(ColNameToCheck))
{
  row["ColNameToCheck"] = "Checked";
}

È possibile utilizzare

try {
   user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
   // do something if you want 
}
if (row.Columns.Contains("US_OTHERFRIEND"))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top