我写了像
这样的代码for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
foreach (DataColumn dc in ds.Tables[0].Columns)
{
dc.ColumnName = dc.ColumnName.ToString().Replace(" ", "-").Replace("%", "_").Replace(",", "").Replace("'", "").Replace("(", "").Replace(")", "").Replace(":", "").Replace("?", "").Replace("/", "").Replace("!", "");
ds.Tables[0].Rows[i][dc.ColumnName] = ds.Tables[0].Rows[i][dc.ColumnName].ToString().Replace("<br/>", "\r");
if (ds.Tables[0].Rows[i][dc.ColumnName].DataType == System.Type.GetType("System.DateTime"))
{
}
}
}
我想检查任何行是否包含任何日期时间列。
上面的代码在
中抛出错误 ds.Tables[0].Rows[i][dc.ColumnName].DataType
行......请帮帮我!!!
答案 0 :(得分:2)
尝试使用“is”代替:
if(ds.Tables[0].Rows[i][dc.ColumnName] is DateTime)
{
}
我建议你也检查列/值是否为null。 否则,您可能会收到NullException。
编辑: 你也可以使用:
if(ds.Tables[0].Rows[i][dc.ColumnName].GetType() == typeof(DateTime))
答案 1 :(得分:1)
将您的列名称用于字符串并解析
sum(if(u.date=bp.date,sum(bp.o_outcome),0)
检查成功否则不是..日期