以文本方式查看主题

-  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=172153)

--  作者:夜点蚊香
--  发布时间:2021/9/27 11:02:00
--  微信公共号,被动回复代码报错。
报错代码用已用红色部分标注。想根据微信发信人的微信号,获取对应的学员信息。

                    Dim PR1 As DataRow = DataTables("学员管理_学员信息表").Find("微信号 = \'" & dr1("FromUserName") & "\'")
                    so("ToUserName") = xo("FromUserName")
                    so("FromUserName") = xo("ToUserName")
                    so("CreateTime") = (Date.Now - st).TotalSeconds()
                    so("MsgType")= "text"
                    so("Content") = "您好 ,\'" & PR1("姓名") & "\',今天是" & Format(Date.Today,"yyyy年MM月dd日")
                    e.WriteString(so.ToXML)
                    
 
报错代码如下
无法将类型为“System.String”的对象强制转换为类型“Newtonsoft.Json.Linq.JToken”。
[此贴子已经被作者于2021/9/27 11:02:12编辑过]

--  作者:有点蓝
--  发布时间:2021/9/27 11:05:00
--  
不可能是红色代码的问题。贴出完整代码看看

试试

                    so("ToUserName") = cstr(xo("FromUserName"))
                    so("FromUserName") = cstr(xo("ToUserName"))

--  作者:夜点蚊香
--  发布时间:2021/9/27 11:12:00
--  完整代码,论坛放不下了。上传的文本附件。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:完整代码.txt


报错内容如下
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.9.2.1
错误所在事件:项目,HttpRequest
详细错误信息:
无法将类型为“System.String”的对象强制转换为类型“Newtonsoft.Json.Linq.JToken”。
[此贴子已经被作者于2021/9/27 11:13:24编辑过]

--  作者:夜点蚊香
--  发布时间:2021/9/27 11:15:00
--  试过了,还有一样的报错代码
试过了,还有一样的报错代码
--  作者:有点蓝
--  发布时间:2021/9/27 11:30:00
--  
参考2楼的用法转换一下咯

so("Content") = cstr("您好 ,\'" & PR1("姓名") & "\',今天是" & Format(Date.Today,"yyyy年MM月dd日") )

--  作者:夜点蚊香
--  发布时间:2021/9/27 11:32:00
--  搞定了,谢谢,加了个转换函数

        Dim PR1 As DataRow = DataTables("学员管理_学员信息表").Find("微信号 = \'" & dr1("FromUserName") & "\'")
        so("ToUserName") = cstr(xo("FromUserName"))
        so("FromUserName") = cstr(xo("ToUserName"))
        MessageBox.show(pr1("姓名"))
        so("CreateTime") = (Date.Now - st).TotalSeconds()
        so("MsgType")= "text"
        Dim str23 As String
        str23 =  PR1("姓名")
        MessageBox.show(str23)
        so("Content") = str23
        so("Content") = "您好 ," & str23 & ",今天是" & Format(Date.Today,"yyyy年MM月dd日")
        e.WriteString(so.ToXML)