以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于openqq的即时同步  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78154)

--  作者:tcmhl
--  发布时间:2015/12/3 10:37:00
--  关于openqq的即时同步
求助,A登录后的新增或修改的第一条内容B处无法同步,但已写入数据库,刷新后正常。

在B处

接收消息事件,加入msgbox(e.message)后


就完全正常,不会发生这个问题了。。=。=||


求助啊。。。。。。。。。。。。



--  作者:大红袍
--  发布时间:2015/12/3 10:40:00
--  

打开项目的时候,不要按住ctrl,不然任何代码都不会执行。

 

其余情况不会有你的问题。


--  作者:tcmhl
--  发布时间:2015/12/3 14:06:00
--  
If msg.StartsWith("A#") Then \'表示增加了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
         DataTables(pts(1)).AppendLoad("[_Identify] = " &  pts(2)) \'追载新增加的行.      
    End If
PopMessage("收到","管理员消息")
End If

试了一下这样,收到了消息,但是B处仍然没有自动刷新,再添加一条新的B处就显示了,但是第一条还是没有

--  作者:tcmhl
--  发布时间:2015/12/3 14:09:00
--  
按钮是先新增一个条目 


Dim r As Row = Tables("样车参数").Current

      If e.Form.Controls("DateTimePicker1") Is Nothing  Then
      MessageBox.Show("请填写入库时间!", "提示")
      Return
      End If


      If  e.Form.Controls("TextBox2").text =""  Then
      MessageBox.Show("请完善车辆信息!", "提示")
      Return
      End If




\'\'\'\'\'\'\'\'\'\'\'样车编号\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
Dim dt As Date = e.Form.Controls("DateTimePicker1").value
Dim bh As String = Format(dt,"yyyyMMdd") \'取得车辆编号的8位前缀
If r("车辆编号").StartsWith(bh) = False \'如果车辆编号的前8位不符
Dim max As String
Dim idx As Integer
max = DataTables("样车参数").SQLCompute("Max(车辆编号)","入库时间 = #" & dt & "# And [_Identify] <> " & r("_Identify")) \'取得该天的最大车辆编号
If max > "" Then \'如果存在最大车辆编号
idx = CInt(max.Substring(9,3)) + 1 \'获得最大车辆编号的后三位顺序号,并加1
Else
idx = 1 \'否则顺序号等于1
End If
r("车辆编号") = bh & "-" & Format(idx,"000")
End If


\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
       DataTables("样车参数").save()
       Dim msg As String = "A#" & "样车参数" & "#" & e.Form.Controls("r").text
       For Each bd As QQBuddy In QQClient.Buddies
       If bd.Online Then
       QQClient.Send(bd.name, msg)
       End If
       Next
       e.Form.close()

--  作者:大红袍
--  发布时间:2015/12/3 14:38:00
--  

弹出

 

msgbox(e.message)

 

弹出多少次,就执行多少次代码


--  作者:tcmhl
--  发布时间:2015/12/3 14:53:00
--  
添加第一条弹出来是A#xxxxx#0

第二条就对了是A#xxxx#80

=.=||

--  作者:大红袍
--  发布时间:2015/12/3 14:58:00
--  

Dim msg As String = "A#" & "样车参数" & "#" & e.Form.Controls("r").text

 

改成,试试

 

Dim msg As String = "A#" & "样车参数" & "#" & r("_Identify")