C#把一个datatable中的数据复制到另一张datatable

发布时间:2021-10-12编辑:佚名阅读(2707)

实际开发中往往需要把一个dataTable中的数据根据条件过滤,然后把新数据赋给另外一张表(即返回过滤后的数据),
比如:有一个datatable dt;另一个datatable dt1;
DataRow dr=dt.select("id=1");
然后
dt1.Rows.Add(dr[0]);
但是这时会提示错误信息:这一行数据已经属于其他表,本节内容就是讲解如何把一个dataTable中的数据赋给新的dataTable
代码如下:

/// <summary>       
/// 执行DataTable中的查询返回新的DataTable        
/// </summary>        
/// <param name="dt">源数据DataTable</param>        
/// <param name="condition">查询条件</param>       
/// <returns></returns>        
public static DataTable GetNewDataTable(DataTable dt, string condition)
{
    DataTable newdt = new DataTable();
    try
    {
        newdt = dt.Clone();
        DataRow[] dr = dt.Select(condition); // 克隆dt的结构,包括所有dt架构和约束,并无数据       
        for (int i = 0; i < dr.Length; i++)
        {
            newdt.ImportRow((DataRow)dr[i]);
        }
        return newdt;//返回的查询结果           
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        return newdt;
    }
}

其中 newdt.ImportRow((DataRow)dr[i]); 也可以换成newdt.Rows.Add(dr[i].ItemArray);

  关键字:C#datatable数据复制


鼓掌

0

正能量

0

0

呵呵

2


评论区