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