以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]QQ即时高效同步数据出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119779) |
-- 作者:syjylyq -- 发布时间:2018/5/31 18:32:00 -- [求助]QQ即时高效同步数据出错 保存按钮代码如下: 此主题相关图片如下:1.jpg 现在测试发现新增行是更新了,但是非新增行的代码会提示错误: 请问是什么原因? 在QQClient的ReceivedMessage事件中的代码是直接复制帮助文件里面的。
[此贴子已经被作者于2018/5/31 18:37:17编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/31 20:56:00 -- 加入msgbox,定位出错位置。看哪句代码报错。
http://www.foxtable.com/webhelp/scr/1485.htm
|
-- 作者:syjylyq -- 发布时间:2018/6/1 8:02:00 -- QQClient.Send(bd.name, msg)测试出来这句有错误。 是不是服务器端的代码有问题? 另外帮助的代码中不是新增行就以“U#”开头,能不能对非新增行再加判断,未修改的不发送信息,修改的是不是用Modified参数判断?
[此贴子已经被作者于2018/6/1 8:38:56编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/1 8:46:00 -- 1、msgbox(bd.name & msg) 看看弹出什么,弹出到那个的时候报错。
2、在你ReceivedMessage事件,也写msgbox,弹出是哪句代码报错。
3、只有新增和修改两种状态,没有其它状态,不需要额外判断。 |
-- 作者:syjylyq -- 发布时间:2018/6/1 9:32:00 -- Dim msg As String = e.Message If msg.StartsWith("U#") Then \'表示修改了某行 Dim pts() As String = msg.Split("#") If pts.Length = 3 Then MessageBox.Show(0) Dim dr As DataRow = DataTables(pts(1)).Find("[_Identify] = " & pts(2)) MessageBox.Show(1) If dr IsNot Nothing Then MessageBox.Show(2) dr.Load() \'重新加载此行 MessageBox.Show(3) End If End If 前面都没问题,就是dr.Load() \'重新加载此行 这里出现了错误。 是不是表事件的代码有关系?
|
-- 作者:有点甜 -- 发布时间:2018/6/1 10:00:00 -- 1、看看表事件 beforeLoad、afterLoad 事件,看写了什么代码;
2、把表事件分别屏蔽掉测试一下,定位是哪个事件报错。 |
-- 作者:syjylyq -- 发布时间:2018/6/1 10:07:00 -- 表事件全部屏蔽还是老样子 beforeLoad、afterLoad是表事件里面的还是窗口里面的代码?
[此贴子已经被作者于2018/6/1 10:07:33编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/1 10:09:00 -- 以下是引用syjylyq在2018/6/1 10:07:00的发言:
表事件全部屏蔽还是老样子
做一个实例发上来测试(qqserver+你的项目) |
-- 作者:syjylyq -- 发布时间:2018/6/1 10:15:00 -- 跟关联表有没有关系? |
-- 作者:有点甜 -- 发布时间:2018/6/1 11:31:00 -- 以下是引用syjylyq在2018/6/1 10:15:00的发言:
跟关联表有没有关系?
具体不清楚,如果你把关联删除,再测试有没有问题?
最好能做一个实例发上来测试。 |