编程社区 » C#编程 » 2个DataTable的对比问题

2个DataTable的对比问题


sinpoe



 发表:

2个DataTable的对比问题


有2个DataTable
比方:
table1 table2
2 1
3 2
4 9
5 8
6 7

要求删除掉table1里面 table2已有内容的行,(这里就是要删除掉table1中的2)
如何实现?


chailin181
回复:

用2个foreach钳套,遍历每一每个表的每个row,找出主键值相同的两行,然后从table1中将其删除

sinpoe
回复:

To chailin181() 大大
多谢您的关注,能给你代码吗?
因为,我本来就是这个思路
不过删除掉1条记录之后,程序就出错,最外面的foreach不能继续了
foreach(DataRow orow in OptResult.Rows)
{
foreach(DataRow erow in thisResult.Rows)
{
if(orow[0].ToString()==erow[0].ToString())
{
//删除此行
orow.Delete();
}
}
}

jack_man_
回复:

看你的程序,你的想法是对的,不过你这样写应该不可以,在你的程序上加一个标记吧

magicsnake
回复:

如果两个表结构一致的话,可以利用DataSet的Merge方法来操作

chailin181
回复:

试了一下,确实有问题,删除一条后,DataTable不会自动更新,所以我把要删除的行数存在先arraylist里了,效率有点慢,不过太困了~~,先实现了再说吧,回头再想好办法

for (int i = 0; i < dt1.Rows.Count; i++)
{
for (int j = 0; j < dt2.Rows.Count; j++)
{
if (dt1.Rows[i][0].ToString() == dt2.Rows[j][0].ToString())
{
rowArray.Add(i);
}
}
}
for(int p=0;p<rowArray.Count;p++)
{
dt1.Rows[(int)rowArray[p]].Delete();
}

hawk234
回复:

up

shoushii
回复:

mark

sinpoe
回复:

先试一下,多谢各位大大关注


相关文章
关于枚举类和集合类的问题,高手指点下哦
如何在c# 中使用zlib.dll 库?
[求助]做8出这个题目
什么是键?
指定默认打印机时出错,请教各位高人?
mediaplayer控件在播放前等待时间过长的原因
c#的一个类型转换的问题[给分哦]
一个小小问题关于窗体程序(在线等)
百分求rasional rose破解版下载
如何捕获可执行程序执行的事件?
C#的代码如何在VB中运行呀?
关于自定义 WebControl 使用 ViewState 的问题
热门文章
DataGridView如何保存编辑后的行到数据库?
简单问题:combobox 如何把选中的项的value值传到textbox中
如何读取Excel文件中有数据的单元格的行数? (注mysheet.UsedRange.Columns.Count 函数不是非常准确)
c#中,MSChart 如何引用操作!!
子窗体如何调用父窗体的函数和变量,
C#怎样访问Access数据库中的OLE对象类型-----急,请高手帮忙
请教 怎样用C#修改Word的页眉页脚
c# winform datagrieview 编辑添加列进添加的DataGridViewButtonColumn 找不到点击事件?那有?
web中当子窗口弹出后,如何使鼠标点击父窗口上无效?(非模式)
请问我在C#中怎么调用水晶报表,我的水晶报表是11的
如何获取Udp远程主机的信息
C#中如何判断标点符号

编程社区 2008 浙ICP备09013498号
© TinyBBS.cn
编程好站连接:codeproject sf.net codeplex