Foxtable(狐表)用户栏目专家坐堂 → 查询表或临时表不能使用SQLReplaceFor更新后台数据!


  共有3847人关注过本帖树形打印复制链接

主题:查询表或临时表不能使用SQLReplaceFor更新后台数据!

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/17 8:31:00 [显示全部帖子]

查询表或临时表肯定不能使用SQLReplaceFor的。

提示什么错误?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/17 16:06:00 [显示全部帖子]

什么错误?没看到呀

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/17 16:46:00 [显示全部帖子]

这个就是错误提示呀,我以为是您描述的标题。我问了开发人员,只有调用SQLReplaceFor才会有这个提示。

代码里看不出什么问题。项目里有没有引用到基于Foxtable开发的第三方dll?

把项目里的bin目录删除,重启项目,重新发布,然后把发布的程序放到服务器另外的目录启动测试。不要使用之前的程序目录。

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/18 8:44:00 [显示全部帖子]

这种是数据库死锁,和异步函数没有什么关系。一般是长时间的更新操作导致的

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/18 9:33:00 [显示全部帖子]

有这种可能

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/22 16:45:00 [显示全部帖子]

实例发上来测试

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/23 10:04:00 [显示全部帖子]

连接不到数据库无法测试。

httprequest事件有几个疑似问题,可以参考一下,其它暂时看不出和这个错误有关的地方
1、
        If Functions.Execute("VerifySignature",e) = False Then '如果验证失败,直接返回
            Return
        End If
        If e.Request.HttpMethod = "GET"
            e.AsyncExecute = True  '通知系统,将采用异步方式生成网页
            If Functions.asyncExecute("VerifySignature",e) Then
                e.WriteString(e.GetValues("echostr"))
            End If
        End If

改为

        If Functions.Execute("VerifySignature",e) = False Then '如果验证失败,直接返回
            Return
        Else
            If e.Request.HttpMethod = "GET"
                e.WriteString(e.GetValues("echostr"))
            End If
        End If

2、

        Functions.asyncExecute("wxeventguanzhu",e)
        
        Functions.Execute("wxeventjihuohyk",e)
        
        Functions.asyncExecute("wxeventkaquan",e)
        
        Functions.asyncExecute("wxeventscankeyword",e)
        
        Functions.asyncExecute("wxmessage",e)

改为

Functions.asyncExecute("wxeventguanzhu",e)
        
        Functions.Execute("wxeventjihuohyk",e)
        
        Functions.asyncExecute("wxeventkaquan",e)
        
        Functions.asyncExecute("wxeventscankeyword",e)

        Functions.AsyncExecute("wxmessage",e)
if e.Request.HttpMethod = "Post" then
        Dim xo As Foxtable.XObject = Foxtable.XObject.Parse(e.PlainText)
        If xo("MsgType") = "text" Then
            e.WriteString("success")
        End If
end if
然后这几个函数里面的e.Handled = True全部去掉,wxmessage里面的e.WriteString代码全部去掉

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/23 15:07:00 [显示全部帖子]

写日志跟踪一下把,看是哪一段代码引起的问题:https://wechat.foxtable.com:9009/Webhelp/scr/we0008.htm

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/23 15:24:00 [显示全部帖子]

不是所有的异步函数和信道都有关系,上面的这几个就没有。只有代码里有调用e.WriteString返回网页数据源的才需要使用e.Handled

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/10/23 16:58:00 [显示全部帖子]

检查异步函数里还有没有AddNew这种用法,改为sqlAddNew

 回到顶部
总数 14 1 2 下一页