以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 数十行数据填充,怎么实时同步问题思路 (http://foxtable.net/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 |