Controllare se DataRow esiste dal nome della colonna in C #? [duplicare]
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?
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