Linq 两个DataTable相关联

var query1 =
from rHead in mPlanDataTable.AsEnumerable()
from rTail in mTempDataTable.AsEnumerable()
where rHead.Field<String>("itemno") == rTail.Field<String>("itemno")    // 两个DataTable连接的条件,有多个条件时用逻辑符“&&”
&& rHead.Field<String>("supplier") == rTail.Field<String>("supplier")
&& rHead.Field<String>("usercd") == rTail.Field<String>("usercd")
&& rHead.Field<String>("line") == sqlLine.Text
&& rHead.Field<String>("product_req_ym") == dtpYmd.Text.Replace("/","")
select new  //自己想要查询的字段
{
product_date = DateTime.Parse(rHead.Field<String>("product_date")).ToString("dd"),
type = rHead.Field<String>("itemno").Substring(0,4),
requested_date = rHead.Field<String> ("requested_date"),
order_no = rHead.Field<String>("order_no")

};

//将执行query1获得的数据保存到DataTable中 

foreach (var obj in query1)

{
    mDtAll.Rows.Add(obj.product_date
                              , obj.type
                              , obj.requested_date
                              , obj.order_no);
}

猜你喜欢

转载自www.cnblogs.com/alwaysDoing/p/9274279.html