Foxtable(狐表)用户栏目专家坐堂 → 关于多表数据上报的问题?


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

主题:关于多表数据上报的问题?

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


加好友 发短信
等级:幼狐 帖子:156 积分:1627 威望:0 精华:0 注册:2011/4/20 10:44:00
关于多表数据上报的问题?  发帖心情 Post By:2011/5/2 16:53:00 [只看该作者]

看了新版帮助,里面有数据上报的帮助,感觉非常好。

帮助就单表上报说明的很清楚了,我想请教多表数据上报如何操作?。

例如:我用A,B,C三张表,A为父表(AID主键),B(BID主键)C(CID主键)为子表,表B、表C都有AID字段,通过AID与表A的AID字希关联。表A的AID为自动编号字段。

在下级单位,表A的ID应为,1,2,3。。。。表B、表C与之相关联的AID字段值,也应为1,2,3

这样,上报时,主表并入上级单位主表,AID会自动更新,问题是子表上报并入上级数据后,与之相关联的AID会自动更新吗?

这样上报的数据能行吗?

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/2 17:37:00 [只看该作者]

先给你一个思路,随便写的,自己琢磨一下:

1、动态创建数据源,连接到要合并的文件

http://help.foxtable.com/topics/1494.htm

 

2、用SQlCommand的ExcuteReader从要合并的文件生成三个DataTable,分别为dt1和dt2和dt3

http://help.foxtable.com/topics/0696.htm

 

3、

For each dr1 as datarow in dt1.DataRows

   Dim dr2 as datarow = DataTables("表A").AddNew()

   for each dc as datarow in dt1.DataCols

        if dc.name <> "主键名称"

            dr2(dc.name) = dr1(dc.name)

        end if

   next

   dim drs2 as list(of datartow) = dt2.Select("主键名= " & dr1(主键名))

   for each dr3 as datarow in drs2

       Dim dr4 As DataRow = DAtaTables("表B").AddNew

       dr4("主键名称") = dr2(主键名称)

       for each dc as datarow in dt2.dataCols

           if dc.name <> "主键名称" then

              dr4(dc.name) = dr3(dc.name)

           end if

      next

   next

 

 


 回到顶部