以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  数十行数据填充,怎么实时同步问题思路  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=77450)

--  作者:jpg7
--  发布时间:2015/11/18 14:30:00
--  数十行数据填充,怎么实时同步问题思路
各位老师给个效率优势上的思路呗
--  作者:大红袍
--  发布时间:2015/11/18 15:02:00
--  

呃,填充结束后,给各个客户端发送一下加入的主键,客户端根据主键,重新加载数据。


--  作者:JPG7
--  发布时间:2015/11/18 15:22:00
--  
以下是引用大红袍在2015/11/18 15:02:00的发言:

呃,填充结束后,给各个客户端发送一下加入的主键,客户端根据主键,重新加载数据。



是不是就是,先计算出加载钱主键最大值max,加载max+1——加载后的最大主键


--  作者:大红袍
--  发布时间:2015/11/18 15:57:00
--  

可以这样做:填充之前,记录最大主键号,填充结束以后,各个客户端,加载大于最大主键号的数据。


--  作者:jpg7
--  发布时间:2015/11/18 16:48:00
--  
button——————

   Dim max As String
    
    max = DataTables("生产订单").Compute("Max(_identify)") \'取得该天的最大编号
    If max > "" Then \'如果存在最大编号
        DataTables("生产订单").Save()
        Dim f As New Filler
        f.SourceTable = DataTables("夏凡尼订单") \'指定数据来源
        f.SourceCols = "生产下单,交货日期,客户,字样,型号,规格,茶几,数量,单位,皮号,备注,订单编号,订单日期" \'指定数据来源列
        f.DataTable = DataTables("生产订单") \'指定数据接收表
        f.DataCols = "生产日期,交货日期,客户,字样,型号,规格,茶几,数量,单位,材质,备注,订单编号,订单日期" \'指定数据接收列
        f.ExcludeExistValue=True
        f.Filter= "[生产下单] is not null and [生产下单] > #" & Date.Today.AddDays(10) & "#"
        f.Fill() \'填充数据
        If DataTables("生产订单").haschanges Then
            MessageBox.Show("导入成功","提示")
        Else
            MessageBox.Show("导入失败","提示")
        End If        
       DataTables("生产订单").Save() 
        
        
        
        \'一定要在保存后合成信息,因为新增行的主键在保存后才生成
        Dim msg As String = "M#" & "生产订单" & "#" & max
        For Each bd As QQBuddy In QQClient.Buddies
            If bd.Online Then
                QQClient.Send(bd.name, msg)
                
            End If
        Next
        MessageBox.Show(msg)
    End If

在QQClient的ReceivedMessage——

If msg.StartsWith("M#") Then
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then        
        DataTables(pts(1)).AppendLoad("[_Identify] > " &  pts(2)) \'追载新增加的行.
    End If


--  作者:jpg7
--  发布时间:2015/11/18 16:49:00
--  
那个地方有问题啊
--  作者:大红袍
--  发布时间:2015/11/18 16:51:00
--  
报什么错啊
--  作者:jpg7
--  发布时间:2015/11/18 16:59:00
--  
客户端没有追载数据
--  作者:jpg7
--  发布时间:2015/11/18 16:59:00
--  
而且还反应了一会儿。。。结果没刷新
--  作者:大红袍
--  发布时间:2015/11/18 17:01:00
--  

加入msgbox,看是否执行了 QQClient.Send(bd.name, msg)

 

ReceivedMessage加入msgbox,弹出msg