来一篇关于NET的使用DataView疾速查询DataTable中不反复的行
简单的说:.net只有微软一家在做的,微软也不允许别人跟他做相同的工具,所以他就把需要的工具全部封装在.net的平台上了;而java是公开了。明天看到有伴侣在群中问,要怎样从DataTable选择出不反复的行。由于在SQL中有distinct关头字,以是良多伴侣就天然想到了用dt.Select("distinct字段")来处置,了局失利了,由于dt.Select是不撑持distinct关头字的。又有伴侣提到,轮回一切行,对照每行与上一列值的值,比方:
DataRow[]drs=newDataRow;
for(inti=1;i<dt.Rows.Count;i++)
{
if(dt.Rows["关头列"].ToString()==dt.Rows["关头列"].ToString())
{
drs=dt.Rows;
}
}
drs中存储的就是我们想要的一切不反复行的数据了。
该办法固然可行,但显的庞大了。这里向人人解说一个最复杂的办法,就是使用DataView的ToTable办法来主动过滤一切反复行的数据,代码以下:
DataTabledt="您的来历dt";
DataTabledt_new=dt.DefaultView.ToTable(true,"关头列1","关头列2");
dt_new中存储的就是我们想要的一切不反复行的数据了。
解说:
1.DefaultView的前往范例是DataView,而DataView的界说就是:
暗示用于排序、选择、搜刮、编纂和导航的System.Data.DataTable的可绑定命据的自界说视图。
以是我们在要用到对DataTable举行排序、选择、搜刮、编纂和导航操纵时,就要想到用DataView.
2.publicDataTableToTable(booldistinct,paramsstring[]columnNames)办法:
从参数名我们就能够猜出它的意义了。
distinct:暗示前往的Data.DataTable是不是包括一切列都具有分歧值的行,默许为false。
columnNames:暗示要包含在前往的System.Data.DataTable中的列名的列表。假如distinct为true,则它会依据columnNames指定的列名举行选择过滤。
该办法另有别的的重载办法,人人能够自行查询。前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境! 在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
页:
[1]