让两个表匹配的有关问题

让两个表匹配的问题
本帖最后由 caozhy 于 2013-12-10 18:14:07 编辑
请教 一个问题
我有两个 dt 结构 一样 其实 他们 就是 一个 数据源 只不过 在赋值的时候 给 rowfilter了
其中 dt1 有 3 行数据  dt2 有 两行数据  他们 是 根据一个字段 CostName 来判断 这两行数据 是否一样
dt1数据
CostName   CostType
打单费         0
港杂           0
商检           0

dt2 数据
CostName   CostType
打单费          1
语录            1
商检            1
我想实现的效果
dt1数据
CostName   CostType
打单费         0
港杂           0
商检           0
语录           0

dt2 数据
CostName   CostType
打单费          1
语录            1
商检            1
港杂            1
求高手 解答

------解决方案--------------------
引用:
请教 一个问题
我有两个 dt 结构 一样 其实 他们 就是 一个 数据源 只不过 在赋值的时候 给 rowfilter了
其中 dt1 有 3 行数据  dt2 有 两行数据  他们 是 根据一个字段 CostName 来判断 这两行数据 是否一样
dt1数据
CostName   CostType
打单费         0
港杂           0
商检           0

dt2 数据
CostName   CostType
打单费          1
语录            1
商检            1
我想实现的效果
dt1数据
CostName   CostType
打单费         0
港杂           0
商检           0
语录           0

dt2 数据
CostName   CostType
打单费          1
语录            1
商检            1
港杂            1
求高手 解答




create proc proc_DTTest
as
declare @Dt1CostName nvarchar(100),@Dt2CostName nvarchar(100),@i int
set @i = 100
while(@i < 0)
begin
--得到Dt1 的 CostName
select top 1 @Dt1CostName = CostName from Dt1 while Dt1ID not in
(
select top (1*(@i - 1) Dt1ID from Dt1)
)
--得到Dt2 的 CostName
select top 1 @Dt2CostName = CostName from Dt2 while Dt2ID not in
(
select top (1*(@i - 1) Dt1ID from Dt2)
)
if(@Dt1CostName = @Dt2CostName)
begin
--这里做你想要做的事儿
print '这里做你想要做的事儿'
end
else
begin
--这里做你想要做的事儿
print '这里做你想要做的事儿'
end
set @i = @i - 1
end


我按照我的意思写的端存储过程,不知道是不是你想要的答案。手写的,可能有错。
------解决方案--------------------
现在附上标准代码:
    public static void dodt()
        {
            DataTable dt=new System.Data.DataTable();
            dt.Columns.Add("CostName");
            dt.Columns.Add("CostType");
            DataTable dt1 = dt.Clone();