Проверьте, существует ли DataRow по имени столбца в c#? [дубликат]
этот вопрос уже есть ответ здесь:
Я хочу сделать что-то вроде этого:
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;
}
однако, я получаю сообщение об ошибке, говорящее US_OTHERFRIEND
не относятся к таблице.
Я хочу просто проверить, если он не равен нулю, а затем установить значение.
разве нет способа сделать это?
5 ответов:
вы должны попробовать
if (row.Table.Columns.Contains("US_OTHERFRIEND"))
Я не верю, что строка имеет свойство columns сама по себе.
if (drMyRow.Table.Columns["ColNameToCheck"] != null) { doSomethingUseful; { else { return; }
хотя DataRow не имеет свойства Columns, у него есть таблица, для которой можно проверить столбец.
вы можете использовать DataColumnCollection вашего datatable, чтобы проверить, находится ли столбец в коллекции.
что-то типа:
DataColumnCollection Columns = dtItems.Columns; if (Columns.Contains(ColNameToCheck)) { row["ColNameToCheck"] = "Checked"; }