我尝试用下面的代码,就是两套代码, 貌似不行.不知道哪不对
'利用OPENQQ 同步保存数据
'客户表
Dim r As Row = Tables("userb").Current
Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
r.Save()
'一定要在保存后合成信息,因为新增行的主键在保存后才生成
Dim msg As String = p & "userb" & "#" & r("Id")
For Each bd As QQBuddy In QQClient.Buddies
If bd.Online Then
QQClient.Send(bd.name, msg)
End If
Next
'行程表
Dim r2 As Row = Tables("zclxingcheng").Current
Dim p2 As String = IIF(r2.DataRow.RowState = DataRowState.Added, "A2#", "U2#")
r2.Save()
'一定要在保存后合成信息,因为新增行的主键在保存后才生成
Dim msg2 As String = p2 & "zclxingcheng" & "#" & r2("日程Id")
For Each bd2 As QQBuddy In QQClient.Buddies
If bd2.Online Then
QQClient.Send(bd2.name, msg2)
End If
Next
客户端的
receivedmessage
'利用openqq同步数据userb
Dim msg As String = e.Message
If msg.StartsWith("U#") Then '表示修改了某行
Dim pts() As String = msg.Split("#")
If pts.Length = 3 Then
Dim dr As DataRow = DataTables(pts(1)).Find("[Id] = " & pts(2))
If dr IsNot Nothing Then
dr.Load() '重新加载此行
End If
End If
ElseIf msg.StartsWith("A#") Then '表示增加了行
Dim pts() As String = msg.Split("#")
If pts.Length = 3 Then
DataTables(pts(1)).AppendLoad("[Id] = " & pts(2)) '追载新增加的行.
End If
ElseIf msg.StartsWith("D#") Then '表示删除了行
Dim pts() As String = msg.Split("#")
If pts.Length = 3 Then
DataTables(pts(1)).RemoveFor("[Id] = " & pts(2)) '移除行
End If
End If
'利用openqq同步数据zclxingcheneg
Dim msg2 As String = e.Message
If msg2.StartsWith("U2#") Then '表示修改了某行
Dim pts2() As String = msg2.Split("#")
If pts2.Length = 3 Then
Dim dr2 As DataRow = DataTables(pts2(1)).Find("[日程Id] = " & pts2(2))
If dr2 IsNot Nothing Then
dr2.Load() '重新加载此行
End If
End If
ElseIf msg2.StartsWith("A2#") Then '表示增加了行
Dim pts2() As String = msg2.Split("#")
If pts2.Length = 3 Then
DataTables(pts2(1)).AppendLoad("[日程Id] = " & pts2(2)) '追载新增加的行.
End If
ElseIf msg2.StartsWith("D2#") Then '表示删除了行
Dim pts2() As String = msg2.Split("#")
If pts2.Length = 3 Then
DataTables(pts2(1)).RemoveFor("[日程Id] = " & pts2(2)) '移除行
End If
End If
[此贴子已经被作者于2015/12/6 14:31:45编辑过]