Foxtable(狐表)用户栏目专家坐堂 → 非关联表之间的数据同步


  共有2961人关注过本帖树形打印复制链接

主题:非关联表之间的数据同步

帅哥哟,离线,有人找我吗?
lxhmax
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:626 积分:5590 威望:0 精华:0 注册:2012/8/2 19:04:00
非关联表之间的数据同步  发帖心情 Post By:2014/3/12 2:47:00 [只看该作者]

请问下帮助里面非关联表之间数据同步的代码

1、对于当前表跟库存表是一对多的关系,当我更改当前表的数据时,库存表对应的多行数据都同时改变?

2、比如产品名称,如果库存表的名称跟当前表的名称一致的时候,我修改当前表的名称时库存表的名称也跟着更改

                如果库存表的名称被单独修改后,即库存表的名称不跟当前表一样的时候,此时我修改当前表的名称时库存表的名称就不跟着更改。

麻烦问下这两个问题要怎么处理,还是有其他更好的办法来处理这个问题,谢谢各位!


Select Case e.DataCol.name
    Case "产品编号"
        Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.OldValue & "'")
       
If dr Is Nothing Then
            dr = DataTables(
"
库存").AddNew()
            dr(
"
产品编号") = e.DataRow("产品编号")
            dr(
"
产品名称") = e.DataRow("产品名称")
            dr(
"
产品规格") = e.DataRow("产品规格")
        Else
            dr(
"
产品编号") = e.DataRow("产品编号")
        End If
    Case
"
产品名称","产品规格"
        Dim dr As DataRow = DataTables(
"
库存").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
       
End If
End
Select


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/12 8:32:00 [只看该作者]

利用Select找到相同的数据修改即可.
假如关联列是产品编号
if e.datacol.name="产品名称" then
   if e.datarow.isnull("产品编号")=false then
        Dim drlist As List(of DataRow) = DataTables("库存").Select("产品编号 = '" & e.DataRow("产品编号") & "'")
      if drlist.count>0 then
         for each dr as datarow in drlist
              dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
         next
      end if
   end if
end if

 回到顶部