112

我想做这样的事情:

   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,说不属于该表。我想简单地检查它是否不为空,然后设置值。

没有办法做到这一点吗?

4

5 回答 5

305

你应该试试

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

我不相信该行本身具有列属性。

于 2010-04-01T20:47:49.500 回答
20
if (drMyRow.Table.Columns["ColNameToCheck"] != null)
{
   doSomethingUseful;
{
else { return; }

尽管 DataRow 没有 Columns 属性,但它确实有一个可以检查该列的 Table。

于 2012-02-10T05:28:17.040 回答
7

您可以使用数据表的 DataColumnCollection 检查该列是否在集合中。

就像是:

DataColumnCollection Columns = dtItems.Columns;

if (Columns.Contains(ColNameToCheck))
{
  row["ColNameToCheck"] = "Checked";
}
于 2013-07-03T07:44:02.590 回答
-6

您可以使用

try {
   user.OtherFriend = row["US_OTHERFRIEND"].ToString();
}
catch (Exception ex)
{
   // do something if you want 
}
于 2010-04-01T20:42:43.837 回答
-8
if (row.Columns.Contains("US_OTHERFRIEND"))
于 2010-04-01T20:42:53.160 回答