如何循环数据集和更改数据c

本文关键字:数据 数据集 何循环 循环 | 更新日期: 2023-09-27 17:59:13

im试图在数据集中循环,如果有0,我想将其更改为null值或空白,到目前为止,我有这个

foreach (DataRow drRow in ds.Tables[0].Rows)
{            
     //loop through cells in that row
      {
        //if the value is 0 change to null or blank
      }
}

有人能帮我摆脱困境吗?

如何循环数据集和更改数据c

确定

foreach (DataRow drRow in ds.Tables[0].Rows)
    {
        for(int i = 0; i < ds.Tables[0].Columns.Count; i++)
        {
            int rowValue;
            if (int.TryParse(drRow[i].ToString(), out rowValue))
            {
                if (rowValue == 0)
                {
                    drRow[i] = null;
                }
            }
        }
    }

我真的相信没有人还能使用数据集:(

这样的东西可能会有所帮助:

foreach (DataRow rows in table.Rows)
{
    object value = null;
    var cells = rows.ItemArray;
    for (int i = 0; i < cells.Length; i++)
    {
        value = cells[i];
        if (value != null && value.GetType() == typeof(int))
        {
            if ((int)value == 0)
            {
                cells[i] = null;
            }
        }
    }
    rows.ItemArray = cells;
}

您可以进行

DataTable dt = new DataTable();
.....
.....
    DataRowCollection drColl = dt.Rows;
                for(int j=0; j<drColl.Count;j++) 
                {
                    DataRow drRow = drColl[j];
                    object[] itemArr = null;
                    itemArr = drRow.ItemArray;
                    //loop through cells in that row       
                    for(int i=0; i<itemArr.Length; i++)
                    {         
                        //if the value is 0 change to null or blank 
                        if (itemArr[i].ToString() == "0")
                            drRow[i] = "";
                    } 
                }