DataTable删除重复数据
来源:互联网 发布:网络arp检测工具 编辑:程序博客网 时间:2024/05/22 04:47
方法一:
//dt为需要转换的表
//PrimaryKeyColumns为dt中欲不含重复行值的列名
public DataTable GetDistinctPrimaryKeyColumnTable(DataTable dt, string[] PrimaryKeyColumns)
{
DataView dv = dt.DefaultView;
DataTable dtDistinct = dv.ToTable(true, PrimaryKeyColumns);
return dtDistinct;
}
调用:(例)
DataTable dt = GetDistinctPrimaryKeyColumnTable(dt_User, new string[] { "name", "sex"});
注:此方法是必须name和sex都相同的才删除
方法二:
/// <summary>
/// 删除数据表中重复的数据
/// </summary>
/// <param name="dt">数据集</param>
/// <param name="columNum">用来判断的主键列</param>
/// <returns></returns>
private DataTable DelRepeat(DataTable dt, string columNum)
{
//用来存储主键列的数据
ArrayList checkList = new ArrayList();
//定义一个新的数据表
DataTable tempDt = new DataTable();
//源数据表里的列数
int columCount = dt.Columns.Count;
//将新的数据表的架构跟源数据表配置一致
//for (int i = 0; i < columCount; i++)
//{
// tempDt.Columns.Add(new DataColumn("" + i + ""));
//}
tempDt.Columns.Add(new DataColumn("name"));
tempDt.Columns.Add(new DataColumn("sex"));
tempDt.Columns.Add(new DataColumn("address"));
//tempDt.Rows.Count = count;