Vérifiez si DataRow existe par nom de colonne dans c #? [dupliquer]
Question
Cette question a déjà une réponse ici:
Je veux faire quelque chose comme ceci:
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;
}
Cependant, je reçois une erreur disant US_OTHERFRIEND
n'appartient pas à la table.
Je veux simplement vérifier si elle est non nulle, définissez la valeur.
est pas là une façon de le faire?
La solution
Vous devriez essayer
if (row.Table.Columns.Contains("US_OTHERFRIEND"))
Je ne crois pas que la ligne a une propriété de colonnes lui-même.
Autres conseils
if (drMyRow.Table.Columns["ColNameToCheck"] != null)
{
doSomethingUseful;
{
else { return; }
Bien que le DataRow ne dispose pas d'une propriété Columns, il a un tableau que la colonne peut être vérifiée.
Vous pouvez utiliser le DataColumnCollection de votre datatable pour vérifier si la colonne est dans la collection.
Quelque chose comme:
DataColumnCollection Columns = dtItems.Columns;
if (Columns.Contains(ColNameToCheck))
{
row["ColNameToCheck"] = "Checked";
}
Vous pouvez utiliser
try {
user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
// do something if you want
}
if (row.Columns.Contains("US_OTHERFRIEND"))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow