过滤DataTable的Rows的重复值

原创 2007年09月14日 08:47:00

 

// 方法1
string sFormater = "{0}, {1}";
string sKeys = null;
string sPrevKeys = null;
// Key项目排序
DataRow[] rows = table.Select("""Key0, Key1");
foreach (DataRow row in rows)
...{
sKeys 
= string.Format(sFormater, row["Key0"].ToString(), row["Key1"].ToString());
if (!sKeys.Equals(sPrevKeys))
...{
tagetTable.ImportRow(row);
}

sPrevKeys 
= sKeys;
}


 
// 方法2
string sSelectFormater = "{0}, {1}";
foreach (DataRow row in table.Rows)
...{
if (tagetTable.Select(string.Format(sSelectFormater, "Key0""Key1")).Length == 0)
...{
tagetTable.ImportRow(row);
}

}


table 
= tagetTable;

// 方法3
string sFormater = "{0}, {1}";
DataRow row;
string sSelectFormater = "Key0 = {0}, Key1 = {1}";
for (int i = 0; i < table.Rows.Count; i++)
...{
if (table.Select(string.Format(sSelectFormater, row["Key0"].ToString(), row["Key1"].ToString())).Length > 1)
...{
table.Rows.Remove(row);
i
--;
}

}


// 方法3少一行
...
row 
= table.Rows[i];
...

// 方法4
DataView view = table.DefaultView;
DataTable tagetTable
= view.ToTable(true"column1""column2", ...);

方法4是最简单的方法,感觉很聪明的使用了dataview的toTable方法。

 

 

 

ADO.NET 从DataTable中获取某列含有的不重复值的几种方式

 在实际开发过程中也许不少人也遇到过我同样的需求: 需要获取DataTable中某一列或几列的含有的不同值,得到类似SQL中Group By的结果 1、传统做法是遍历DataTable(.N...
  • yl_99
  • yl_99
  • 2015年05月25日 16:52
  • 3314

Linq实现DaTaTable或者List里面数据值不重复

在回答论坛有个某列不重复的值为条件获取数据的问题,二

oracle分析函数系列之sum() rows/range between ... preceding and ... following,上下范围内求值

Oracle为这种情况提供了一个子句:rows between ... preceding and ... following。从字面上猜测它的意思是:在XXX之前和XXX之后的所有记录,实际情况如何...

错误记录:使用了mysql_affected_rows修改方法的返回值判断要>0

如果框架封装操作数据库的类修改方法中用到mysql_affected_rows
  • cnwp007
  • cnwp007
  • 2017年03月06日 10:35
  • 212

dba_tables表中的num_rows与count(*)的值为何不同

dba_tables表中的一行为NUM_ROWS数值为何不与该表用SELECT COUNT(*)得到的行数一样? 如在dba_tables表中有一行table_name为gang,其相应字段num_...

DataTable select() 的使用;DataTabel中distinct用法去重复的的字段或者记录

DataTabel中distinct 在.NET Framework2.0中,选择DataTable等数据源中的唯一值(类似SQL中Distinct的返回结果)非常简单,如下即可: DataT...

vs2005针对datatable已经有封装好的去重复方法:

1 //去掉重复行 2 DataView dv = table.DefaultView; 3 table = dv.ToTable(true, new string[] { "name", "code...
  • singgel
  • singgel
  • 2017年04月19日 20:50
  • 164

DataTable相关操作,筛选,取前N条数据,去重复行,获取指定列数据

#region DataTable筛选,排序返回符合条件行组成的新DataTable或直接用DefaultView按条件返回 /// /// DataTable筛选,...

C# DataTable 合并重复字段为一行

数据源: C#代码 /// /// 合并重复的跟踪号为一行 /// /// 所有数据 /// 返回合并后的数据 public DataTable ReturnMer...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:过滤DataTable的Rows的重复值
举报原因:
原因补充:

(最多只允许输入30个字)