All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
生成pdf文件的好东西,itextsharp_[Asp.Net教程]
SQL Server中, DateTime (日期)型操作的 SQL语法_[SQL Server教程]
c#中GDI+图形图像:GDI+中的多边形使用方法
应用技巧:动态网页中直接不让访问PHP程序文件_php资料_编程技术
ASP.NET2.0中的AccessDataSource控件_[Asp.Net教程]
C#文件处理技术:StreamReader使用方法
Sql server 如何得到汉字的声母_[SQL Server教程]
smarty技术学习,修改php模板的一点体会_php资料_编程技术
解决SQL Server日志文件损坏严重的问题_[SQL Server教程]
ASP.NET技巧:根据xsd生成xml文档_.net资料_编程技术
Reading number is top 10 pictures
30 beautiful school beauty6
穷哥们向美女求婚攻略
So beauty, will let you spray blood8
2012 national geographic daily picture1
看到这个手速,决定过年就让我家猫帮我抢红包了。。
Get girl by your hand
Born After 90 Beijing sports university campus flower photos4
心有鱼而力不足
Cesarean section, bloody, silently into it!1
美丽的少女1
Download software ranking
Unix video tutorial13
Jinling thirteen stock
jdk1.5
WebService在.NET中的实战应用教学视频 → 第1集
SP4 for SQL2000
Unix video tutorial9
Professional killers2 for Android
终极变速大师Speeder3.26
Boxer's Top ten classic battle5
双旗镇刀客B
归海一刀 published in(发表于) 2014/1/30 1:34:31 Edit(编辑)
对比两个DataTable是否相同的正确方法_[Asp.Net教程]

对比两个DataTable是否相同的正确方法_[Asp.Net教程]

对比两个DataTable是否相同的正确方法_[Asp.Net教程]
要是Google搜一下,如何判断两个DataTable相等,出来的最多的是下面的方法
代码
private bool ValueEquals(DataTable objA,DataTable objB)
{
if(objA != null && objB != null)
{
if(objA.Rows.Count != objB.Rows.Count)
{
return false;
}

if(objA.Columns.Count != objB.Columns.Count)
{
return false;
}
}

DataView dv = new DataView(objB);

string keys = "";

foreach(DataColumn col in objA.Columns)
{
keys += ","+col.ColumnName;
}

dv.Sort = keys.Substring(1);

foreach(DataRow row in objA.Rows)
{
if(row.RowState != DataRowState.Deleted)
{
if(dv.Find(row.ItemArray)<0)
{
return false;
}
}
else
{
return false;
}
}

return true;

}

这个段代码的始作俑者已经无法考证了,但是却流传很多。
我不知道转载的人有没有去验证一下这个方法的正确性,还是只是转载.

这个方法其实是错的。
如果两个DataTable的行数一样,列数一样,但是第一行相同,第二行不相同,用上面的方法比较,返回的依然是True
写在这里是告诉广大菜鸟(包括我在内),网上流传最多的不一定是正确的,也想对广大老鸟说一下,转载的时候请验证一下内容的正确性,我想这样不管是对自己,对别人都是有好处的吧。
第一次发,如果说的不对的,希望大家不要建议
也希望可以高手给出正确的、高效的,比较两个DataTable是否相等的方法
我是用的比较老土的方法
代码
public bool DataTableTheSame(DataTable Table1, DataTable Table2)
{
if (Table1 == null || Table2 == null)
{
return false;
}
if (Table1.Rows.Count != Table2.Rows.Count)
{
return false;
}
if (Table1.Columns.Count != Table2.Columns.Count)
{
return false;
}
for (int i = 0; i < Table1.Rows.Count; i++)
{
for (int j = 0; j < Table1.Columns.Count; j++)
{
if (Table1.Rows[i][j].ToString() != Table2.Rows[i][j].ToString())
{
return false;
}
}
}
return true;
}


添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.