C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > c# DataView.ToTable方法去除表重复项

c# DataView.ToTable()方法 去除表的重复项问题

作者:焦玉丽

这篇文章主要介绍了c# DataView.ToTable()方法 去除表的重复项问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

c# DataView.ToTable()方法 去除表的重复项

DataView.ToTable()方法及其重载:

1.DataView.ToTable()

根据现有DataView中的行,创建并返回一个新的DataTable。

2.DataView.ToTable(String)

根据现有DataView中的行,创建并返回一个新的DataTable。参数String为返回的DataTable的名称,输出的表与输入表的列相通,不可自定义。

3.DataView.ToTable(Boolean,String[])

根据现有DataView中的行,创建并返回一个新的DataTable。参数Boolean如果为true,则说有列都具有不同值的行,为false时不去冲,且默认为false。

可自定义返回的列,数组String[]为显示返回列的集合。

例子:

DataView dv = new DataView(table);
table = dv.ToTable(true, "ID");              //去重,返回原表中的ID列

//table=dv.ToTable(true,"ID","name");    //返回ID 和 name两列

4.DataView.ToTable(String,Boolean,String[])

根据现有DataView中的行,创建并返回一个新的DataTable。比3多一个参数,可以定义返回表的名称。

C# DataTable合并以及去除重复数据

代码如下:

合并

/// <summary>
/// 合并表结构相同datatable数据
/// </summary>
public DataTable Mergedata(){
 DataTable data = new DataTable();
 DataTable deptdata = new DataTable(); 
 
 data=DBHelper.FillDataTable("select * from T1", null);
 deptdata=DBHelper.FillDataTable("select * from T2", null);

 data.Merge(deptdata, true); 
 return  data;
}

剔除重复数据

    /// <summary>
    /// 去除datatable重复数据
    /// </summary>
    public DataTable distinctdata() 
    {
     DataTable data = new DataTable();
     DataTable distinctdata = new DataTable();

      List<string> datarowlist = new List<string>();
      string[] datarow;
      
     foreach (DataColumn row in data.Columns) //遍历出表头
      {
       datarowlist.Add(row.ToString());
      }
     datarow = datarowlist.ToArray();
     
     DataView dv = new DataView(data);         
     distinctdata = dv.ToTable(true, datarow); //对表所有字段进行过滤,true表示使用distinct方法
     return  distinctdata;
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文