判断一个dataset的数据是否包含另一个dataset的数据
我曾作过这个,想记录下来,不知道是不是很好的实现方式(本来想写最好的实现方式的,但想到这些绝对的词少用为妙);
这个包含是指两个ds的表只有一个,且他们的列都相同,都有一个唯一的列ID,但是它们的数据集不同,我想知道其中的一个ds的表的每个ID都在另一个ds表中出现了。
DataView dtv1 = ds1.Tables["table"].DefaultView;
DataView dtv2 = ds2.Tables["table"].DefaultView;
if (ds1.Tables["table"].Rows.Count > 0)
{
int i = 0;
for (; i < dtv2.Count; i++)
{
dtv1.RowFilter = dtv1.RowFilter == "" ? "ID =" + dtv2[i]["ID"] : dtv1.RowFilter + " or ID =" + dtv2[i]["ID"];
}
if (dtv1.Count != i)
{
MessageBox.Show("不包含!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
else
{
MessageBox.Show("包含!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return true;
}
}
DataView dtv2 = ds2.Tables["table"].DefaultView;
if (ds1.Tables["table"].Rows.Count > 0)
{
int i = 0;
for (; i < dtv2.Count; i++)
{
dtv1.RowFilter = dtv1.RowFilter == "" ? "ID =" + dtv2[i]["ID"] : dtv1.RowFilter + " or ID =" + dtv2[i]["ID"];
}
if (dtv1.Count != i)
{
MessageBox.Show("不包含!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return false;
}
else
{
MessageBox.Show("包含!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
return true;
}
}
作者:Rick Carter
出处:http://pains.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。