拼吾爱程序人生

首页 » .Net编程 » C# » 删除DataTable中的重复行
cobra - 2008-5-21 14:57:00
文/zhuweisky  出处/博客园

以前合作做一个程序的时候,由于数据库设计原因。让我碰到了一个比较棘手的问题,就是最后我的数据Table里面存在了一行或多行重复行,那么怎么删除这些重复行了。从网上找了许多材料,还是用了一个最笨的办法,把Table的行检索一遍把重复的行删除掉(在微软的社区里也有这样的例子)。最坏的情况时间复杂度为o(行X列)。如果数据量比较小的话,这样的性能还可以忍受。但是数据量大的话。其速度也就不言而喻了。
检索部分代码如下:

筛选掉重复行

Code


上面的代码性能低。就不再多做剖析了。
下面来看看.Net提供的一个方法。个人认为还是比没有的好。只是多了一个转的过程起码自己不用再像上面所使用方法一行一行来找了。好了,言归正传。看下面的代码

使用DataView的自动筛选功能

Code


主要做的工作就是把存在重复行数据的DataTable送给Dataview.然后使用DataView类的一个ToTable方法中的一个重载方法。就是上面用的,一共有两个参数,第一个bool类型参数就是指定装换成DataTable后是否保留重复行,第二个参数是一个字符串数组,用来指定转换成DataTable后保留原有表中的哪些字段。字段名不区分大小写。

希望能帮到初学者。

 您可能对 [C#] 的这些文章也感兴趣:

C#实现所有经典排序算法
使用C#的BitmapData编程实例
用C#编写网络电话
C# 实现 RDLC 自定义报表
C#实现Web代理服务程序
简易C#入门教程
C#中的“Squiggles”特性
C#数字图像探索系列(1)--伪渐变效果原理及应用初级篇
C#数字图像探索系列(2)--渐变二
如何在MFC中调用C#编写的DLL
C# wm6通过udp协议和pc通讯
异步网络编程之图片批量抓取下载(C#)
1
查看完整版本: 删除DataTable中的重复行
Modify by pin5i DZNT_ExpandPackage 2.1.3295 2007-2009 pin5i.com
 Total Unique Visitors: