SQL 数据库,同一数据源两个表:表A,表B.两个表结构不完全一致
用户A操作的是表A,
用户A要删除表A中的一条数据,并有关内容写入表B,同时向用户B发出新增数据通知
Dim cmd As new SQLCommand
cmd.ConnectionName = "rsgl"
cmd.CommandText
= "insert into 表B (姓名,身份证号码) values ('张三','123456789')"
cmd.ExecuteNonQuery
Dim dr
As DataRow
dr = DataTables(表A).SQLFind("身份证号码 = '123456789'")
If dr IsNot Nothing
For
Each bd As QQBuddy In QQClient.Buddies
If
bd.OnLine Then
QQClient.send(bd.name,"A#"
& "表A" & "#" &
dr("_identify"))
End
If
Next
End If
用户B操作表B
用户B接收数据
Dim msg As String = e.Message
If msg.StartsWith("U#")
Then '表示修改了某行,则重新加载
Dim
pts() As String = msg.Split("#")
If
pts.Length = 3 AndAlso vars("basetable")
= pts(1) Then
Dim
dr As DataRow = DataTables(pts(1)).Find("[_Identify] =
" & 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 AndAlso vars("basetable")
= pts(1) Then
DataTables(pts(1)).AppendLoad("[_Identify]
= " & pts(2)) '追载新增加的行.
End
If
ElseIf msg.StartsWith("D#")
Then '表示删除了行,则移除该行
Dim
pts() As String = msg.Split("#")
If
pts.Length = 3 AndAlso vars("basetable")
= pts(1) Then
DataTables(pts(1)).RemoveFor("[_Identify]
= " &
pts(2)) '移除行
End
If
ElseIf msg = "!!" Then '服务器在规定时间要清理数据库,提示用户暂停服务倒计时开始
JsTime
= Date.now.AddMinutes(5)
Forms("系统暂停服务").open
End If
用户B能够正常追载数据,但追载出来的数据行状态显示为修改行.
问:1、如何让表B追载出来的数据行状态为未修改状态?
2、两个结构不完全的数据表之间进行数据转移,上述思路是不是走偏了?
请老师们指点一下,谢谢
[此贴子已经被作者于2016/10/22 1:09:08编辑过]