替换数据集中的某个值

时间:2013-12-03 12:57:41

标签: c# loops dataset

我有一个数据集,我想用NULL替换每个'01 / 01/1754 00:00:00'的单元格。

类似于FOR LOOP外观会循环遍历数据集中的每一行并检查值是否为'01 / 01/1754 00:00:00'然后将该值替换为'NULL'

由于

3 个答案:

答案 0 :(得分:0)

只需扫描dataSet中的每个单元格即可

for (int i = 0; i < sampleDataSet.Tables[0].Rows.Count; i++) 
{
    for (int j = 0; j < sampleDataSet.Tables[0].Columns.Count; j++)
    {
        if (sampleDataSet.Tables[0].Rows[i][j].ToString() == "01/01/1754 00:00:00") 
        {
            sampleDataSet.Tables[0].Rows[i][j] = "NULL";
        }
    }
}

如果目标数据仅存在于数据集的单个列中,则可以省略第二个for循环。

答案 1 :(得分:0)

请尝试此代码。我可以更新。

var dt = DataSet.Table[0] // as per your requirement;
        dt.Select(string.Format("[columnname] = '{0}' ", "datevalue")).ToList<DataRow>()
                .ForEach(r => r["columnname"] = DBNull.Value);

答案 2 :(得分:0)

您在此处提到DataSet,但我怀疑您是DataTable,请尝试以下代码:

foreach(DataTable dt in ds.Tables){
  foreach(DataRow row in dt.Rows){
     for(int i = 0; i < dt.Columns.Count; i++){
       if(object.Equals(row[i],"01/01/1754 00:00:00")) row[i] = null;
     }
  }
}