以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]《用OpenQQ即时高效同步数据》一节中如何保存并同步关联表信息?(已解决)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=76499)

--  作者:苦为用功
--  发布时间:2015/10/30 15:14:00
--  [求助]《用OpenQQ即时高效同步数据》一节中如何保存并同步关联表信息?(已解决)
各位老师好:
如何修改下面代码进而能一键保存关联表父表和子表的信息?

1、在编辑窗口加一个保存按钮,按钮代码设置为:

Dim r As Row = Tables("A").Current
Dim
p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
r
.Save()
\'
一定要在保存后合成信息,因为新增行的主键在保存后才生成
Dim
msg As String = p & "A" & "#" & r("_Identify")
For
Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
   
End If
Next


[此贴子已经被作者于2015/10/30 16:32:57编辑过]

--  作者:狐狸爸爸
--  发布时间:2015/10/30 15:20:00
--  

r.Save

For each r2 as Datarow in r.DataRow.GetChildRows("订单明细")

     r2.Save

next


--  作者:苦为用功
--  发布时间:2015/10/30 15:56:00
--  
谢谢狐爸。但是这样增加的话子表的信息并不同步到其他客户端,下面这段代码是否也应增加一些?实在搞不懂了,麻烦了。
Dim msg As String = p & "进出记录" & "#" & r("_Identify")

For Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
       
    End If
Next

--  作者:狐狸爸爸
--  发布时间:2015/10/30 16:17:00
--  

其实只要发送主表的编辑信息就行了,主表和子表同步加载,参考:

 

http://www.foxtable.com/help/topics/2894.htm

 

 

有了父表行的主键,就可以得到子表行了。