日期:2014-05-18  浏览次数:20786 次

C#2008中怎样用一个DataTable中字段的值更新另一个DataTable中字段的值
DatatableA中有EmpNo char(8) ,Image(byte),AttendDate (datetime),remark nvarchar(30)四个字段,此table中EmpNo和AttendDate为主关键字;DatatableB中有EmpNo char(8) ,Image(byte)两有个字段,EmpNo为主关键字,若DatatableA与DatatableB中的EmpNo相同时,将DatatableA中Image的更新为DatatableB中Image的值,请问怎样处理,谢谢!


------解决方案--------------------
有一个思路给你吧 具体的自己写一下
首先选择一个主的datatable(dt) 就是你想根据哪个dt改另一个 那就把这个dt设置成主的dt
之后循环dtA里的datarow和嵌套循环里的datarowB里的EmpNo列值做比较 得出这个相同的EmpNo(en)
把dtA转换成dataview (dvA)
用dvA.rowfilter="EmpNo='en'";
这里有个问题 如果 你的dtA表中有重复的EmpNo 那么 就会得到一个多行的dvA 那就很难办了
假如只有一个值
image(这个值就是你要得到的值)= dvA.totable().coulums["Image"].value.tostring()
既然这个已经得到了
那么你就可以接下来循环dtB的rows(dr)
当if(dr["EmpNo"].tostring()==en
那么dr["Image"]=image这样就可以了
因为我身边没有vs 所以 不能贴完整代码
其中我最后一步不敢确定dr[]=?这种方式能不能正确赋值