以文本方式查看主题

-  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
图片点击可在新窗口打开查看


现在测试发现新增行是更新了,但是非新增行的代码会提示错误:


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看


请问是什么原因?
在QQClient的ReceivedMessage事件中的代码是直接复制帮助文件里面的。

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

[此贴子已经被作者于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的发言:
跟关联表有没有关系?

 

具体不清楚,如果你把关联删除,再测试有没有问题?

 

最好能做一个实例发上来测试。