我想做这样的事情:
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
不属于该表。
我想简单地检查它是否为空,然后设置值。
有没有办法做到这一点?
答案 0 :(得分:266)
你应该试试
if (row.Table.Columns.Contains("US_OTHERFRIEND"))
我不相信该行本身就有一个列属性。
答案 1 :(得分:16)
if (drMyRow.Table.Columns["ColNameToCheck"] != null)
{
doSomethingUseful;
{
else { return; }
虽然DataRow没有Columns属性,但它确实有一个Table可以检查该列。
答案 2 :(得分:6)
您可以使用数据表的DataColumnCollection来检查列是否在集合中。
类似的东西:
DataColumnCollection Columns = dtItems.Columns;
if (Columns.Contains(ColNameToCheck))
{
row["ColNameToCheck"] = "Checked";
}
答案 3 :(得分:-4)
您可以使用
try {
user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
// do something if you want
}
答案 4 :(得分:-6)
if (row.Columns.Contains("US_OTHERFRIEND"))