asp.net中dataset删除重复数据的方法

DataTable 中的数据如下:

id key value
1 a aa
1 a aa
2 b bb
2 b bb
3 c cc
3 c cc

现在想要让DataTable变成这个样子的

id key value
1 a aa
2 b bb
3 c cc

代码

void DeleteSameRow(DataSet ds)
  {
  ArrayList indexList = new ArrayList();
  // 找出待删除的行索引
  for (int i = 0; i < ds.Tables[0].Rows.Count-1; i++)
  {
  if (!IsContain(indexList, i))
  {
  for (int j = i + 1; j < ds.Tables[0].Rows.Count; j++)
  {
  if (ds.Tables[0].Rows[i][AccountInfo.Columns.AUName].ToString() == ds.Tables[0].Rows[j][AccountInfo.Columns.AUName].ToString())
  {
  indexList.Add(j);
  }
  }
  }
  }
  // 根据待删除索引列表删除行
  for (int i = indexList.Count - 1; i >= 0; i--)
  {
  int index = Convert.ToInt32(indexList[i]);
  ds.Tables[0].Rows.RemoveAt(index);
  }
  }
  bool IsContain(ArrayList indexList, int index)
  {
  for (int i = 0; i < indexList.Count; i++)
  {
  int tempIndex = Convert.ToInt32(indexList[i]);
  if (tempIndex == index)
  {
  return true;
  }
  }
  return false;
  }

再看一个实例

/// <summary> 
        /// 获取对固定列不重复的新DataTable 
        /// </summary> 
        /// <param name="dt">含有重复数据的DataTable</param> 
        /// <param name="colName">需要验证重复的列名</param> 
        /// <returns>新的DataTable,colName列不重复,表格式保持不变</returns> 
        private DataTable GetDistinctTable(DataTable dt,string colName) 
        { 
            DataView dv = dt.DefaultView; 
            DataTable dtCardNo = dv.ToTable(true, colName); 
            DataTable Pointdt = new DataTable(); 
            Pointdt = dv.ToTable(); 
            Pointdt.Clear(); 
            for (int i = 0; i < dtCardNo.Rows.Count; i  ) 
            { 
                DataRow dr = dt.Select(colName   "='"   dtCardNo.Rows[i][0].ToString()   "'")[0]; 
                Pointdt.Rows.Add(dr.ItemArray); 
            } 
            return Pointdt; 
        }

时间: 2024-09-06 23:43:59

asp.net中dataset删除重复数据的方法的相关文章

简单实用的excel中删除重复数据的方法

打开EXCEL电子表格 如图     然后如下所示点击菜单最上在贩 "数据"选项 如图     打开数据我们选择表格中要删除重复数据的内容区域 如图     选择好需要编辑的内容区域之后,我们点击工具栏上的"删除重复项"图标 如图     然后提示我们删除重复数据的提示我们点击"确定" 如图     完成以上操作步骤之后,如果勾选的列确实有重复的内容的,这时就会提示已经删除了多少个重复值了,我们点击"确定"就可以完成EXCEL

Excel表格中的删除重复数据/显示重复数据

方法 1:突出显示重复数据 你可以将重复的数据突出显示,这样你就可以找到它们,并且避免重复录入.做法如下: 先要选中你要找出重复数据的范围.比如说,你要在"员工编号"里找重复项,就把"员工编号"一栏全选中. 然后在开始选项卡 -> 条件格式 -> 突出显示单元格规则 -> 重复值. 收起这个图片展开这个图片   在重复值对话框上,选择你要把重复项突出显示的格式,再确定. 收起这个图片展开这个图片   搞定!重复的内容一目了然,这样可以采取相应措施咯

windows server 2012中如何删除重复数据

实验名称:windows server2012实现重复数据删除 实验名称:实现重复数据删除 实验目标: 2 实现重复数据删除 实验环境:一台安装了WS2012操作系统的物理计算机,一台WS2012虚拟机(DC1). 任务1:安装'数据删除重复'角色. 1. 使用管理员帐户Administrator,登录到DC1. 2. 在任务栏,单击'服务器管理器'图标 . 3. 在'服务器管理器'窗口,单击'管理',在下拉菜单中单击'添加角色和功能'. 4. 在'选择安装类型'页面,选择'基于角色或功能的安装

SQL Server中删除重复数据的方法

数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置-- 方法一declare @max integer,@id integerdeclare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1open cur_rowsfetch cur_rows into @id,@maxwhile @@fetch_status=0begins

Mysql中查找并删除重复数据的方法

  (一)单个字段 1.查找表中多余的重复记录,根据(question_title)字段来判断  代码如下   select * from questions where question_title in (select question_title from peoplegroup by question_title having count(question_title) > 1) 2.删除表中多余的重复记录,根据(question_title)字段来判断,只留有一个记录  代码如下  

SQL Server中快速删除重复记录的方法

开发人员的噩梦--删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确.解决该问题的办法就是将这些重复的记录删除,只保留其中的一条. 在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一行检查,删除重复的记录.因为这种方法需要对整个表进行遍历,所以对于表中的记录数不是很大的时候还是可行的,如果一张表的数据达到上百万条,用游标的方法来删除简直是个

sql server 2008 R2删除重复数据的方法

推荐方法3 --方法1: SELECT  * FROM    ( SELECT    Row_Number() OVER ( PARTITION BY [orderno] ORDER BY ( SELECT                                                              0                                                              ) ) AS RowNO ,        

Oracle比较快的删除重复数据的方式

  网上五花八门删除重复数据的方法就是没见过这种: DELETE FROM prod_grid_inc WHERE ROWID IN (SELECT b.row_id2 FROM (SELECT ROWID row_id2, a.*, row_number() over(PARTITION BY a.prod_id ORDER BY a.insert_date DESC) row_num FROM prod_grid_inc a) b WHERE b.row_num >= 2); 大家不妨试试,

Excel中删除重复数据

请仔细阅读并修改相关数据. 1.打开有重复数据的EXCEL 2.Alt+F11 打开宏编辑器 3.左边双击:ThisWorkBook 4.贴入以下代码并运行即可: Sub 删除重复数据() '删除col列的重复数据 '本例是删除标题为sheet1的EXCEL表中A列(从A2单元格开始)的重复数据 Application.ScreenUpdating = False '可根据实际情况修改下面三行的结尾值 Dim sheetsCaption As String: sheetsCaption = "S