判断一个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;
   }

}
posted @ 2007-09-24 22:21  Rick Carter  阅读(737)  评论(0编辑  收藏  举报