Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
看了新版帮助,里面有数据上报的帮助,感觉非常好。
帮助就单表上报说明的很清楚了,我想请教多表数据上报如何操作?。
例如:我用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会自动更新吗?
这样上报的数据能行吗?
先给你一个思路,随便写的,自己琢磨一下:
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